2.1 Data Model Basic Building Blocks
▪ The basic building blocks of all data models are entities, attributes, and relationships. An entity is anything, such as a person, place, thing, or event, about which data are to be collected and stored. Entities may be physical objects such as customers or products. But entities may also be abstractions such as flight routes or musical concerts.
▪ An attribute is a characteristic of an entity. For example, a CUSTOMER entity would be described by attributes such as customer last name, customer first name, customer phone, customer address, and customer credit limit. The attributes are the equivalent of fields in file systems.
▪ A relationship describes an association among (two or more) entities. For ▪ example, there is a relationship between customers and agents that may be described as “an agent can serve many customers and each customer may be served by one agent. Data models use three types of relationships: one-to-many, many-to-many, and one-to-one. Database designers usually use the shorthand notations 1:M, M:N, and 1:1 for them, respectively. (Although the M:N notation is a standard label for the many-to-many relationship, the label M:M may also be used.) The following examples illustrate the distinctions among the three.
1. One-to-many (1:M) relationship. A painter paints many different paintings, but each one of them is painted by only one painter. Thus the painter (the “one”) is related to the paintings (the
▪ “many”). Therefore, database designers label the relationship “PAINTER paints PAINTING” as 1:M. Similarly, a customer (the “one”) might generate many invoices, but each invoice (the “many”) is generated by only a single customer. The “CUSTOMER generates INVOICE” relationship would also be labeled 1:M.
2. Many-to-many (M:N or M:M) relationship. An employee might learn many job skills, and each job skill might be learned by many employees. Database designers label the relationship “EMPLOYEE learns SKILL” as M:N. Similarly, a student can take many classes, and each class can be taken by many students, thus yielding the M:N relationship label for the relationship expressed by “STUDENT takes CLASS.”
3. One-to-one (1:1) relationship. A retail company’s management structure may require that each one of its stores be managed by a single employee. In turn, each store manager — who is an employee — only manages a single store. Therefore, the relationship “EMPLOYEE manages STORE” is labeled 1:1.
▪ Note that in the preceding discussion of relationships we have identified each relationship in both directions. That is:
1. One CUSTOMER can generate many INVOICEs.
2. Each of the many INVOICEs is generated by only one CUSTOMER.
◆ Data Model
▪ Data Model gives us an idea that how the final system will look like after its complete implementation. It defines the data elements and the relationships between the data elements.
▪ Data model shows how data is connected to each other logically.
▪ Data Models are used to show how data is stored, connected, accessed and updated in the database management system.
▪ Here, we use a set of symbols and text to represent the information so that members of the organisation can communicate and understand it.
▪ Though there are many data models being used nowadays but the Relational model is the most widely used model.
◆ Data Models in DBMS are:
▪ Hierarchical Model
▪ Network Model
▪ Entity-Relationship Model
▪ Relational Model
▪ Object-Oriented Data Model
◆ Hierarchical Model
▪ Hierarchical Model was the first DBMS model. This model organises the data in the hierarchical tree structure. The hierarchy starts from the root which has root data and then it expands in the form of a tree adding child node to the parent node. This model easily represents some of the real-world relationships like food recipes, sitemap of a website etc. Example: We can represent the relationship between the shoes present on a shopping website in the following way:
◆ Features of a Hierarchical Model
▪ One-to-many relationship: The data here is organised in a tree-like structure where the one-to-many relationship is between the datatypes. Also, there can be only one path from parent to any node. Example: In the above example, if we want to go to the node sneakers we only have one path to reach there i.e through men’s shoes node.
▪ Parent-Child Relationship: Each child node has a parent node but a parent node can have more than one child node. Multiple parents are not allowed.
▪ Deletion Problem: If a parent node is deleted then the child node is automatically deleted.
● Advantages of Hierarchical Model
▪ It is very simple and fast to traverse through a tree-like structure.
▪ Any change in the parent node is automatically reflected in the child node so, data integrity is maintained.
▪ It provides one to many relationship.
● Disadvantages of Hierarchical Model
▪ Complex relationships are not supported.
▪ As it does not support more than one parent of the child node so if we have some complex relationship where a child node needs to have two parent node then that can’t be represented using this model.
▪ If a parent node is deleted then the child node is automatically deleted.
◆ Network Model
▪ This model is an extension of the hierarchical model. It was the most popular model before the relational model. This model is the same as the hierarchical model, the only difference is that a record can have more than one parent. It replaces the hierarchical tree with a graph. Example: In the example below we can see that node student has two parents i.e. CSE Department and Library. This was earlier not possible in the hierarchical model.
● Advantages of Network Model
▪ The data can be accessed faster as compared to the hierarchical model. This is because the data is more related in the network model and there can be more than one path to reach a particular node. So the data can be accessed in many ways.
▪ As there is a parent-child relationship so data integrity is present. Any change in parent record is reflected in the child record.
● Disadvantages of Network Model
▪ As more and more relationships need to be handled the system might get complex. So, a user must be having detailed knowledge of the model to work with the model.
▪ Any change like updation, deletion, insertion is very complex.
◆ Entity-Relationship Model
▪ Entity-Relationship Model or simply ER Model is a high-level data model diagram. In this model, we represent the real-world problem in this model to make it easy for the stakeholders to understand. It is also very easy for the developers to understand the system by just looking at the ER diagram. We use the ER diagram as a visual tool to represent an ER Model. ER diagram has the following three components:
▪ Entities: Entity is a real-world thing. It can be a person, place, or even a concept. Example: Teachers, Students, Course, Building, Department, etc are some of the entities of a School Management System.
▪ Attributes: An entity contains a real-world property called attribute. This is the characteristics of that attribute. Example: The entity teacher has the property like teacher id, salary, age, etc.
▪ Relationship: Relationship tells how two attributes are related. Example: Teacher works for a department.
▪ In the above diagram, the entities are Teacher and Department. The attributes of Teacher entity are Teacher_Name, Teacher_id, Age, Salary, Mobile_Number. The attributes of entity Department entity are Dept_id, Dept_name. The two entities are connected using the relationship. Here, each teacher works for a department.
◆ Features of ER Model
• Graphical Representation for Better Understanding: It is very easy and simple to understand so it can be used by the developers to communicate with the stakeholders.
• ER Diagram: ER diagram is used as a visual tool for representing the model.
• Database Design: This model helps the database designers to build the database and is widely used in database design.
• Simple: Conceptually ER Model is very easy to build. If we know the relationship between the attributes and the entities we can easily build the ER Diagram for the model.
• Effective Communication Tool: This model is used widely by the database designers for communicating their ideas.
• Easy Conversion to any Model: This model maps well to the relational model and can be easily converted relational model by converting the ER model to the table.
◆ Relational Model
▪ In relational data model, relations are saved in the format of Tables. This format stores the relation among entities.
▪ Relational Model is the most widely used model. In this model, the data is maintained in the form of a two-dimensional table. All the information is stored in the form of row and columns. The basic structure of a relational model is tables. So, the tables are also
▪ called relations in the relational model
▪ A table has rows and columns, where rows
▪ represents records or tuple and columns represent the attributes or field.
Example: In this example, we have an Employee table.
◆ Features of Relational Model
• Tuples: Each row in the table is called tuple. A row contains all the information about any instance of the object. In the above example, each row has all the information about any specific individual like the first row has information about John.
• Attribute or field: Attributes are the property which defines the table or relation. The values of the attribute should be from the same domain. In the above example, we have different attributes of the employee like Salary, Mobile_no, etc.
● Advnatages of Relational Model
• Simple: This model is more simple as compared to the network and hierarchical model.
• Scalable: This model can be easily scaled as we can add as many rows and columns we want.
• It is a Structural Independence model: We can make changes in database structure without changing the way to access the data. When we can make changes to the database structure without affecting the capability to DBMS to access the data we can say that structural independence has been achieved.
◆ Object-Oriented Data Model
▪ The real-world problems are more closely represented through the object-oriented data model. In this model, both the data and relationship are present in a single structure known as an object. We can store audio, video, images, etc in the database which was not possible in the relational model(although you can store audio and video in relational database, it is adviced not to store in the relational database). In this model, two are more objects are connected through links. We use this link to relate one object to other objects. This can be understood by the example given below.
▪ In the above example, we have two objects Employee and Department. The attributes like Name, Job_title of the employee and the methods which will be performed by that object are stored as a single object. The two objects are connected through a common attribute i.e the Department_id and the communication between these two will be done with the help of this common id.