Data Models: A database management system can take several approaches to manage the data. Each approach constitutes of data model. It specifies mechanisms for data storage and retrieval. Data models describes the organization of different database objects namely, records, data directory elements etc. It also defines the integrity rules for the Database Management System (DBMS).
Types of Data Models: There are three types of traditional data models used for organizing database objects. These are:
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 raw 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 does 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 of databases.
- Adhoc query capability: One of the main reasons for 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 less as compared to its advantages and capabilities. One can do away with the drawbacks stated below by property implementing the database model.
Network Model: In the network model, data are represented by 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 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 the one-to-many and many-to-many relationships.
- Ease of data access: In network database terminology, a relationship is a set. Each set comprise of two types of records – an owner record and 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 the 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 network model are:
- System complexity: In a network model, data are accessed one record at a time. This makes it essential for the 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 requires the application programs to be modified before they can access data.
Hierarchical Model: Hierarchical database model is one of the oldest database models, dating from late 1950s. The hierarchical model is based on the assumption that a tree structure is the 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 results 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 the hierarchical structure, 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 its 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 dis advantages 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. The 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 does not affect the DBMS’s ability to access data. Hierarchical database system 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 distributes 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 numbers of enquirers that will be made by the organization.
For example, in the hierarchical view of customer-order is described 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 hierarchical model.
Among the traditional data models, the widely preferred on is the relational data model. This is because relational model can be used for representing most of the real world and the relationships among them. Security and integrity are maintain easily by relational data model. Also, use of relational model for database design increases the productivity or 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.