A database management system can take several approaches to manage the data. Each approach constitutes the data model. It specifies mechanisms for data storage and retrieval. Data models describe the organization of different database objects namely, records, data directory elements, etc. It also defines the integrity rules for the Database Management System (DBMS). In the rest of this article, we are going to discuss Types of Data Models, the Advantages and Disadvantages of traditional data models, and Which data model to use?
Types of Data Models:
There are three types of traditional data models used for organizing database objects. These are:
i. Relational Model: The relational model uses takes to represent the data and the relationships among those data. Each table has multiple columns and each column is identified by a unique name. Figure-1, shows a sample relational database comprising two tables: one shows students’ details and another shows the balance fee they need to deposit.
In the Sample database of Figure-1, each row in the table represents a different student. Relationships link rows from two tables on the basis of the key field, in this case, Student_number.
Advantages: The main advantages of the relational model are:
- Structural Independence: Relational database model has structural independence, i.e. changes made in the database structure do not affect the DBMS’s capability to access data.
- Simplicity: The relational model is the simplest model at the conceptual level. It allows the designer to concentrate on the logical view of the database leaving the physical data storage details.
- Each of designing, implementation, maintenance, and usages: Due to the inherent (natural) features of data independence and structural independence, the relational model makes it easy to design, implement, maintain and use databases.
- Adhoc query capability: One of the main reasons for the huge popularity of the relational database model is the presence of powerful, flexible, and easy-to-use query capability. The query language of the relational database model-structured query language or SQL is a fourth-generation language (4GL).
Disadvantages: The disadvantages are:
- Hardware overheats: The Relational Database Management System (RDBMS) needs comparatively powerful hardware as it hides the implementation complexities and the physical data storage details from the users.
- Ease of design can result in bad design: As a relational database in an easy-to-design and use system, it can result in the development and implementation of poorly designed database management systems.
The disadvantages of relational database models are fewer as compared to their advantages and capabilities. One can do away with the drawbacks stated below by properly implementing the database model.
ii. Network Model: In the network model, data are represented by the collection of records, and relationships among data are represented by links. Figure-2, shows a sample network database using the same information as in Figure-1.
A network model permits a record to have more than one parent – an employee working for two departments.
Advantages: The main advantages of the network model are:
- Simplicity: The network model is also conceptually simple and easy to design.
- Ability to handle more relationship types: The network model can handle one-to-many and many-to-many relationships.
- Ease of data access: In network database terminology, a relationship is a set. Each set comprises two types of records – an owner record and a member record. In a network model, an application can access an owner record and all the member records within a set.
- Data integrity: In a network model, no member can exist without an owner. A user must therefore first define the owner record and the member record. This ensures integrity.
- Data independence: The network model draws a clear line of demarcation between the programs and the complex physical storage details. The application programs work independently of the data. Any changes made in the data characteristics do not affect the application program.
Disadvantages: Some of the drawbacks of the network model are:
- System complexity: In a network model, data are accessed one record at a time. This makes it essential for database designers, administrators, and programmers to be familiar with the internal data structures to gain access to the data. Therefore, a user-friendly database management system can’t be created using the network database model.
- Lack of structural independence: Making structural modifications to the database model as the data access method is navigational. Any changes made to the database structure require the application programs to be modified before they can access data.
iii. Hierarchical Model: Hierarchical database model is one of the oldest database models, dating from the late 1950s. The hierarchical model is based on the assumption that a tree structure is a most frequently occurring relationship. This assumption is not recognized in today’s context. In fact, many of the limitations and shortcomings of the hierarchical model result from this overly restrictive view of relationships.
The hierarchical model organizes data elements as tabular rows, one for each instance of an entity. The hierarchical model is identical to the network model in the sense that data and relationships among data are represented by records and links, respectively.
Advantages: The main advantages of this database model are:
- Simplicity: Since the database is based on a hierarchical structure, the relationship between the various layers is logically simple. Thus the design of a hierarchical database is simple.
- Data security: Hierarchical model was the first database model that offered the data security that is provided and enforced by the DBMS.
- Data integrity: Since the hierarchical model is based on the parent/child relationship, there is always a link between the parent segment and the child segments under it. The child segments are always automatically referenced to their parent, this model promotes data integrity.
- Efficiency: The hierarchical model is a very efficient one when the database contains a large number of 1:N relationships(one-to-many relationships).
Disadvantages: The main disadvantages of the hierarchical database model are:
- Implementation Complexity: Although the hierarchical database model is conceptually simple and easy to design, it is quite complex to implement. Database designers should have very good knowledge of the physical data storage characteristics.
- Database Management Problems: If we make any changes in the database, then it is required to make the necessary changes in all the application programs that access the database.
- Lack of structural independence: Structural independence exists when the changes made to the database structure do not affect the DBMS’s ability to access data. Hierarchical database systems use physical storage paths to navigate to the different data segments. So the application programmer should have a good knowledge of the relevant access paths to access the data. So if the physical structure is changed the applications will have to be altered. Thus, in a hierarchical database, the benefits of data dependence are limited by structural dependence.
- Programming Complexity: Due to the structural dependence and the navigational structure, the application programmers and the end users must know precisely how the data is distributed physically in the database in order to access data. This requires knowledge of complex pointer systems which is difficult for users who have little or no programming knowledge.
Which data model to use?
The data model that best suits an organization depends on the following factors:
- The organization’s primary goals and requirements.
- The volume of daily transactions that will be done.
- The estimated number of enquirers that will be made by the organization.
For example, in the hierarchical view of a customer order is described as a dependent can’t have more than one supplier and hence an order cannot be placed by multiple customers. This is against business rules. Therefore when an organization wishes to create a database for order processing it must not choose the hierarchical model.
Among the traditional data models, the widely preferred one is the relational data model. This is because the relational model can be used for representing most of the real world and the relationships among them. Security and integrity are maintained easily by the relational data model. Also, the use of the relational model for database design increases the productivity of application programmers, since it eliminates the need to change the application program when a change is made to the database. Moreover, relational tables show only the logical relationship. End users need not know the exact physical structure of a table or relation.
Former Student at Rajshahi University