What are the different kinds of data models?
Answer: Kinds of Data Models in Computer System
Data model :
A data model describes how data are represented and accessed. Data model formally defined data elements and relationships among data elements for a domain of interest.
Types of data models :
There are basically two types of data models :
I. Record based data models.
II. Object based data models.
I. Record based data models :
In record‐based models, the database is organized in fixed‐format records of several types. A fixed number of fields, or attributes, are defined in each record type, and each field is usually of a fixed length.
The three most popular record‐based data models are :
1. Relational data model
2. Network data model
3. Hierarchical data model
1. Relational data model :
(i) The relational model uses tables to represent the data and the relationships among those data.
(ii) Each table has multiple columns, and each column is identified by a unique name.
(iii) It is a low level model.
Advantages of relational data model :
(a) 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.
(b) Simplicity : The relational model is the simplest model at the conceptual level.
(c) Ease of designing, implementation, maintenance, and usage : The relational model makes it easy to design, implement, maintain and use the databases.
(d) Ad‐hoc 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.
Disadvantages of relational data model :
(a) Hardware overheads : The RDBMS needs comparatively powerful hardware as it hides the implementation complexities and the physical data storage details from the users.
(b) Ease of design can result in bad design : As the relational database is an easy to design and use system, it can result in the development and implementation of poorly designed database management systems. As the size of the database increases, several problems may arise like system shutdown, performance degradation and data corruption.
2. Network data model :
(i) In the network model, data are represented by collections of records.
(ii) Relationships among data are represented by links.
(iii) In this model graph data structure is used.
(iv) A network model permits a record to have more than one parent.
Advantages of network data model :
(a) Simplicity : The network data model is also conceptually simple and easy to design.
(b) Ability to handle more relationship types : The network model can handle the one‐to‐ many and many‐to‐many relationships.
(c) Ease of data access : In the network database terminology, a relationship is a set. Each set comprises of two types of records an owner record and a member record.
(d) Data integrity : In a network model, no member can exist without an owner. A user must therefore first define the owner record and then the member record. This ensures the data integrity.
(e) Data independence : The application programs work independently of the data. Any changes made in the data characteristics do not affect the application program.
(f) Database standards : The standards devised by the DBTG (Database task group of CODASYL committee) form the basis of the network model.
Disadvantages of network data model :
(a) System complexity : In a network model, data are accessed one record at a time. Therefore, a user friendly database management system cannot be created using the network model.
(b) Lack of structural independence : Making structural modifications to the database is very difficult in the network 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. Though the network database model achieves data independence, but it still fails to achieve structural independence.
3. Hierarchical model :
(i) In the hierarchical model, data are represented by collections of records.
(ii) Relationships among data are represented by links.
(iii) In this model tree data structure is used.
(iv) There are two concepts associated with the hierarchical model‐segment types and parent‐child relationships. Segment type is similar to the record types in the network models. The information retrieved only by navigating from the root segment type to the nodes segment types. Thus we can access a segment type only via its parent segment type in the parent‐child relationship. The operators provided for manipulating such structures include operators for traversing hierarchic paths up and down the trees.
Advantages of hierarchical model :
(a) Simplicity : Since the database is based on the hierarchical structure, the relationship between the various layers is logically simple.
(b) Data security : Hierarchical model was the first database that offered the data security that is provided and enforced by the DBMS.
(c) 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 segment under it. The child segments are always automatically referenced to its parent, this model promotes data integrity.
(d) Efficiency : The hierarchical database model is a very efficient one when the database contains a large number of one‐to‐many relationships and when the users require large number of transactions, using data whose relationships are fixed.
Disadvantages of hierarchical model :
(a) Implementation complexity : The hierarchical database model is conceptually simple and easy to design, it is quite complex to implement.
(b) Database management problems : If we make any changes in the database structure of a hierarchical database, then it is required to make the necessary changes in all the application programs that access the database.
(c) 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 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 also have to be altered. Thus, in a hierarchical database the benefits of data independence are limited by structural dependence.