Various data-centric management techniques develop as information technology expands. As the importance of data increases, modeling techniques have evolved as fundamental methods for accurate maintenance. The model has a comprehensive meaning of an object from the real world, which can be defined in a database as a conceptual tool.
The series of articles will explain data modeling from a simple to an analytical point of view by describing the purpose of data modeling, the type of database according to the nature of the data, and the data modeling process. First of all, we shall start with relational database modeling.
What is Data Modeling?
Data modeling refers to constructing a logical data model from a given concept. In order to organize a logical data model, we need to understand the core of a database first. Creating an efficient model in terms of function and performance based on that understanding comes after. This includes the work process of returning to a physical database model and reflecting it in the database of a specific information system according to the customer’s needs.
The first step to data modeling is to accurately analyze the subject of the content that constructs the system. The second is to build an actual database with the analyzed model and use it for development and data management.
This should be done in consideration of redundancy, flexibility, and consistency. Storing data or attributes in the same databases in redundancy must be avoided. Flexibility means design must be done with the possibility of change in the future. To avoid frequent model modification/changes, query tuning is recommended. Consistency means relations between data must be clearly defined in order to avoid the case of data being updated while ignoring related information between data.
Data modeling focuses on the data contained in the database management system (DBMS). A relational database (RDB) shows the relationship between keys and values in the form of a table. A graph database (GDB) represents and stores data using a graph structure.
This article will explain the data modeling with relational DB. Since the data modeling method for each database is different, discussing graph DB modeling will be dealt with later.
Data Modeling with RDB
Data modeling with RDB goes through the following process. A detailed look at the step-by-step process will be explained using the flight reservation system as an example.
Identifying the needs
At this stage, consider what form and purpose the data will be used for. Below is an example of a flight reservation system.
For the purpose of processing and managing flight reservations, the reservation system consists of data of users, bookings, travel itineraries, flights, and passengers, etc. In order to implement a flight reservation system, the data model should be designed to meet the requirements by efficiently storing and searching data. Once the needs are identified, move on to the next step.
Designing a conceptual data model (E-R Diagram)
Let’s start finding and analyzing the needs of the user’s data. The main purpose of this step is to discover the key entities and the relationships between them by creating an E-R diagram to represent them. The E-R diagram shows the users what data is important in a database. The image of the flight reservation system identified in the previous step is visually expressed in E-R diagram below to depict the relationship of the data.
Designing a logical data model
This process clearly expresses the logical structure and rules of business information as an input to the database design process. It defines not only the E-R diagram but also all the items for system construction. The logical data model goes through normalization to ensure consistency and eliminate redundancy.
The E-R diagram from the previous step is expressed in a relational model below.
Designing a physical data model
The final step explains how the logical data model is expressed as data storage in computer hardware. Databases are designed and implemented based on how data will be physically stored on a computer. Relational databases rely on index search and table joins to connect different entities.
However, when multiple tables join or when there are millions of rows in the table, complex queries can pose performance problems in the RDB data model.
Graph models, on the other hand, are composed of individual items in relation to other individual items, so there is no need for joining tables and index searches.
The next article will define a simple graph database concept and continue on showing data modeling with GDB.