Database Management Systems
Data Models
by
GOWRU BHARATH KUMAR
M.Tech, (Ph.D)
Assistant Professor
You are My creator, But I am Your Master
Data Model
• Data Model gives us an idea that how the final system will look like after its
complete implementation.
(Or)
• It defines the data elements and the relationships between the data elements.
(Or)
• 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 organization can communicate and understand it.
• Though there are many data models being used nowadays but the Relational model
is the most widely used model. Apart from the Relational model, there are many
other types of data models.
Hierarchical Model
Hierarchical Model
• Hierarchical Model was the first DBMS model.
• This model organizes the data in the hierarchical tree structure, with a
single root, to which all the other data is linked.
• 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, index of a book, sitemap of a website etc.
Example-1
We can represent the relationship between the shoes present on a shopping
website in the following way:
Example-2
one department can have many courses, many professors and of-course many
students.
Features of a Hierarchical Model
• One-to-many relationship: The data here is organized in a tree-like structure where
the one-to-many relationship is between the data types. 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.
• Pointers: Pointers are used to link the parent node with the child node and are used
to navigate between the stored data. Example: In the above example the 'shoes' node
points to the two other nodes 'women shoes' node and 'men's shoes' node.
Advantages & Disadvantages of Hierarchical Model
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,
the integrity of data is maintained.
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.
For watching/ Explanation
• Please click on
https://www.youtube.com/watch?v=jyTO0dwB-iQ&t=795s
Network Model
Network Model
• Network 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.
• In this database model data is more related as more relationships are
established in this database model. Also, as the data is more related, hence
accessing the data is also easier and fast.
Example-1
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.
Example-2
Features of a Network Model
• Ability to Merge more Relationships: In this model, as there are more
relationships so data is more related. This model has the ability to manage
one-to-one relationships as well as many-to-many relationships.
• Many paths: As there are more relationships so there can be more than one
path to the same record. This makes data access fast and simple.
• Circular Linked List: The operations on the network model are done with
the help of the circular linked list. The current position is maintained with
the help of a program and this position navigates through the records
according to the relationship.
Advantages & Disadvantages of Network 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.
For watching/ Explanation
• Please click on
https://www.youtube.com/watch?v=pPbKSxOfKaA&t=12s
Entity-Relationship Model
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 the pictorial form 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, Attributes and
Relationship)
Entity-Relationship Model Cont…
Entities: Entity is a real-world thing/ real-world object. 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 entities are related.
Example: Teacher works for a department.
E-R Diagram Symbols
Example-1
• In the below diagram, the entities are Teacher and Department. The attributes
of Teacher entity are Teacher_Name, Teacher_id, Age, Salary,
Mobile_Number. The attributes of Department entity are Dept_id,
Dept_name. The two entities are connected using the relationship. Here,
each teacher works for a department.
Example-2
Example- 3
Example- 4
Example- 5
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.
Advantages & Disadvatages of ER Model
Advantages of ER Model
• 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. This model can also be converted to any other model like network
model, hierarchical model etc.
Disadvantages of ER Model
• No industry standard for notation: There is no industry standard for developing
an ER model. So one developer might use notations which are not understood
by other developers.
• Hidden information: Some information might be lost or hidden in the ER
model. As it is a high-level view so there are chances that some details of
information might be hidden.
For watching/ Explanation
please click on
https://www.youtube.com/watch?v=YFk-IXBJeQ8&t=1205s
Relational Model
Relational Model
• 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.
• Example: In this example, we are discuss about Student table.
Example: students table
Features of Relational Model
• Tuples/ Rows/ Records: 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 Alex.
• Fields/ Columns/Attributes: 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 studente like sid, sname,sage, sclass, ssection , etc.
Advantages 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.
• Structural Independence: 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.
Disadvantages of Relational Model
• Hardware Overheads: For hiding the complexities and making things easier
for the user this model requires more powerful hardware computers and data
storage devices.
• Bad Design: As the relational model is very easy to design and use. So the
users don't need to know how the data is stored in order to access it. This ease
of design can lead to the development of a poor database which would slow
down if the database grows.
But all these disadvantages are minor as compared to the advantages of the
relational model. These problems can be avoided with the help of proper
implementation and organization.
create a table using SQL
• The create table statement is used to define a new table.
Syntax:
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
column3 datatype,
....
);
Now we will create the student table with the fields sid, name, login, age, gpa.
Query: CREATE TABLE Students
( sid CHAR(20),
name CHAR(30),
login CHAR(20),
age INTEGER,
gpa REAL);
Inserting data into table
• The table is created with the fields sid, name, login, age, gpa.
• Now we will insert the data into the table. (we can insert a single tuple into
the students table as follows)
Query:
insert into students (sid, name, login, age, gpa) values (1, ‘bharath’,
‘bharath.kumar436@gmail.com’, 29, 7.1)
Now the table is looks like below
sid Name Login Age gpa
Sid Name Login Age gpa
1 bharath bharath.kumar436@gmail.com 29 7.1
Queries
Insert any 2 student details into the students table
insert into students (sid, name, login, age, gpa) values (‘2’, ‘kumar’,
‘kumar436@gmail.com’, 19, 9.1)
insert into students (sid, name, login, age, gpa) values (‘3’, ‘raju’,
‘raju436@gmail.com’, 17, 5.1)
Question1: Display all the details of students
Answer: Select * from students;
Question 2: Display all the student names
Answer: Select name from students;
Question3: Display all the student names of age 29
Answer: Select name from students where age=29;
Practice
1) Students(sid: string, name: string, login: string, age: integer, gpa: real)
2) Faculty(fid: string, fname: string, sal: real)
3) Courses( cid: string, cname: string, credits: integer)
4) Rooms(no: integer, address: string, capacity: integer)
5) Enrolled (sid: string, cid: string, grade: string)
6) Teaches(fid: string, cid: string)
7) Meets_In( cid: string, rno: integer, time: string)
For watching/ Explanation
• please click on
https://www.youtube.com/watch?v=Qq7s6HibSCg&t=186s
Object-Oriented Data Model
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.
• In this, real world problems are represented as objects with different
attributes. All objects have multiple relationships between them.
• In this model, two or more objects are connected through links. We use this
link to relate one object to other objects.
• Basically, it is combination of Object Oriented programming and
Relational Database Model
Example-1
Components of Object Oriented Data Model
• Objects: An object is an abstraction of a real world entity or we can say it is an
instance of class. Objects encapsulates data and code into a single unit which
provide data abstraction by hiding the implementation details from the user.
For example: Instances of student, doctor, engineer in above figure.
• Attribute: An attribute describes the properties of object.
For example: Object is STUDENT and its attribute are Roll no, Branch in the
Student class.
• Methods: Method represents the behavior of an object. Basically, it represents
the real-world action.
For example: Finding a STUDENT marks in above figure as Setmarks().
• Class: A class is a collection of similar objects with shared structure i.e.
attributes, behavior i.e. methods. An object is an instance of class.
For example: Person, Student, Doctor, Engineer in above figure.
• Inheritance: By using inheritance, new class can inherit the attributes and
methods of the old class i.e. base class.
For example: as classes Student, Doctor and Engineer are inherited from the base
class Person.
Example-2
In the below example, we have two objects Employee and Department. All the data and
relationships of each object are contained as a single unit. 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.
Advantages & Disadvantages of Object
Oriented Data Model
Advantages of Object Oriented Data Model
• Codes can ne reused due to inheritance.
• Easily understandable.
• Cost of maintenance can reduced due to reusability of attributes and
functions because of inheritance.
Disadvantages of Object Oriented Data Model
• It is not properly developed so not accepted by users easily.
For watching/ Explanation
• please click on
https://www.youtube.com/watch?v=UO4eeR7USQw&t=1455s
Object-Relational Model
Object-Relational Model
• It is a combination of both the relational model and the object-oriented
model.
• This model was built to fill the gap between object-oriented model and the
relational model.
• We can have many advanced features like we can make complex data types
according to our requirements using the existing data types.
Disadvantage:
• The problem with this model is that this can get complex and difficult to
handle. So, proper understanding of this model is required.
Data Models

Data Models

  • 1.
    Database Management Systems DataModels by GOWRU BHARATH KUMAR M.Tech, (Ph.D) Assistant Professor You are My creator, But I am Your Master
  • 2.
    Data Model • DataModel gives us an idea that how the final system will look like after its complete implementation. (Or) • It defines the data elements and the relationships between the data elements. (Or) • 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 organization can communicate and understand it. • Though there are many data models being used nowadays but the Relational model is the most widely used model. Apart from the Relational model, there are many other types of data models.
  • 4.
  • 5.
    Hierarchical Model • HierarchicalModel was the first DBMS model. • This model organizes the data in the hierarchical tree structure, with a single root, to which all the other data is linked. • 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, index of a book, sitemap of a website etc.
  • 6.
    Example-1 We can representthe relationship between the shoes present on a shopping website in the following way:
  • 7.
    Example-2 one department canhave many courses, many professors and of-course many students.
  • 8.
    Features of aHierarchical Model • One-to-many relationship: The data here is organized in a tree-like structure where the one-to-many relationship is between the data types. 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. • Pointers: Pointers are used to link the parent node with the child node and are used to navigate between the stored data. Example: In the above example the 'shoes' node points to the two other nodes 'women shoes' node and 'men's shoes' node.
  • 9.
    Advantages & Disadvantagesof Hierarchical Model 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, the integrity of data is maintained. 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.
  • 10.
    For watching/ Explanation •Please click on https://www.youtube.com/watch?v=jyTO0dwB-iQ&t=795s
  • 11.
  • 12.
    Network Model • Networkmodel 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. • In this database model data is more related as more relationships are established in this database model. Also, as the data is more related, hence accessing the data is also easier and fast.
  • 13.
    Example-1 In the examplebelow we can see that node student has two parents i.e. CSE Department and Library. This was earlier not possible in the hierarchical model.
  • 14.
  • 15.
    Features of aNetwork Model • Ability to Merge more Relationships: In this model, as there are more relationships so data is more related. This model has the ability to manage one-to-one relationships as well as many-to-many relationships. • Many paths: As there are more relationships so there can be more than one path to the same record. This makes data access fast and simple. • Circular Linked List: The operations on the network model are done with the help of the circular linked list. The current position is maintained with the help of a program and this position navigates through the records according to the relationship.
  • 16.
    Advantages & Disadvantagesof Network 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.
  • 17.
    For watching/ Explanation •Please click on https://www.youtube.com/watch?v=pPbKSxOfKaA&t=12s
  • 18.
  • 19.
    Entity-Relationship Model • Entity-RelationshipModel or simply ER Model is a high-level data model diagram. • In this model, we represent the real-world problem in the pictorial form 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, Attributes and Relationship)
  • 20.
    Entity-Relationship Model Cont… Entities:Entity is a real-world thing/ real-world object. 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 entities are related. Example: Teacher works for a department.
  • 21.
  • 22.
    Example-1 • In thebelow diagram, the entities are Teacher and Department. The attributes of Teacher entity are Teacher_Name, Teacher_id, Age, Salary, Mobile_Number. The attributes of Department entity are Dept_id, Dept_name. The two entities are connected using the relationship. Here, each teacher works for a department.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
    Features of ERModel • 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.
  • 28.
    Advantages & Disadvatagesof ER Model Advantages of ER Model • 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. This model can also be converted to any other model like network model, hierarchical model etc. Disadvantages of ER Model • No industry standard for notation: There is no industry standard for developing an ER model. So one developer might use notations which are not understood by other developers. • Hidden information: Some information might be lost or hidden in the ER model. As it is a high-level view so there are chances that some details of information might be hidden.
  • 29.
    For watching/ Explanation pleaseclick on https://www.youtube.com/watch?v=YFk-IXBJeQ8&t=1205s
  • 30.
  • 31.
    Relational Model • RelationalModel 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. • Example: In this example, we are discuss about Student table.
  • 32.
  • 33.
    Features of RelationalModel • Tuples/ Rows/ Records: 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 Alex. • Fields/ Columns/Attributes: 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 studente like sid, sname,sage, sclass, ssection , etc.
  • 34.
    Advantages of RelationalModel • 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. • Structural Independence: 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.
  • 35.
    Disadvantages of RelationalModel • Hardware Overheads: For hiding the complexities and making things easier for the user this model requires more powerful hardware computers and data storage devices. • Bad Design: As the relational model is very easy to design and use. So the users don't need to know how the data is stored in order to access it. This ease of design can lead to the development of a poor database which would slow down if the database grows. But all these disadvantages are minor as compared to the advantages of the relational model. These problems can be avoided with the help of proper implementation and organization.
  • 36.
    create a tableusing SQL • The create table statement is used to define a new table. Syntax: CREATE TABLE table_name ( column1 datatype, column2 datatype, column3 datatype, .... ); Now we will create the student table with the fields sid, name, login, age, gpa. Query: CREATE TABLE Students ( sid CHAR(20), name CHAR(30), login CHAR(20), age INTEGER, gpa REAL);
  • 37.
    Inserting data intotable • The table is created with the fields sid, name, login, age, gpa. • Now we will insert the data into the table. (we can insert a single tuple into the students table as follows) Query: insert into students (sid, name, login, age, gpa) values (1, ‘bharath’, ‘[email protected]’, 29, 7.1) Now the table is looks like below sid Name Login Age gpa Sid Name Login Age gpa 1 bharath [email protected] 29 7.1
  • 38.
    Queries Insert any 2student details into the students table insert into students (sid, name, login, age, gpa) values (‘2’, ‘kumar’, ‘[email protected]’, 19, 9.1) insert into students (sid, name, login, age, gpa) values (‘3’, ‘raju’, ‘[email protected]’, 17, 5.1) Question1: Display all the details of students Answer: Select * from students; Question 2: Display all the student names Answer: Select name from students; Question3: Display all the student names of age 29 Answer: Select name from students where age=29;
  • 39.
    Practice 1) Students(sid: string,name: string, login: string, age: integer, gpa: real) 2) Faculty(fid: string, fname: string, sal: real) 3) Courses( cid: string, cname: string, credits: integer) 4) Rooms(no: integer, address: string, capacity: integer) 5) Enrolled (sid: string, cid: string, grade: string) 6) Teaches(fid: string, cid: string) 7) Meets_In( cid: string, rno: integer, time: string)
  • 40.
    For watching/ Explanation •please click on https://www.youtube.com/watch?v=Qq7s6HibSCg&t=186s
  • 41.
  • 42.
    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. • In this, real world problems are represented as objects with different attributes. All objects have multiple relationships between them. • In this model, two or more objects are connected through links. We use this link to relate one object to other objects. • Basically, it is combination of Object Oriented programming and Relational Database Model
  • 43.
  • 44.
    Components of ObjectOriented Data Model • Objects: An object is an abstraction of a real world entity or we can say it is an instance of class. Objects encapsulates data and code into a single unit which provide data abstraction by hiding the implementation details from the user. For example: Instances of student, doctor, engineer in above figure. • Attribute: An attribute describes the properties of object. For example: Object is STUDENT and its attribute are Roll no, Branch in the Student class. • Methods: Method represents the behavior of an object. Basically, it represents the real-world action. For example: Finding a STUDENT marks in above figure as Setmarks(). • Class: A class is a collection of similar objects with shared structure i.e. attributes, behavior i.e. methods. An object is an instance of class. For example: Person, Student, Doctor, Engineer in above figure. • Inheritance: By using inheritance, new class can inherit the attributes and methods of the old class i.e. base class. For example: as classes Student, Doctor and Engineer are inherited from the base class Person.
  • 45.
    Example-2 In the belowexample, we have two objects Employee and Department. All the data and relationships of each object are contained as a single unit. 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.
  • 46.
    Advantages & Disadvantagesof Object Oriented Data Model Advantages of Object Oriented Data Model • Codes can ne reused due to inheritance. • Easily understandable. • Cost of maintenance can reduced due to reusability of attributes and functions because of inheritance. Disadvantages of Object Oriented Data Model • It is not properly developed so not accepted by users easily.
  • 47.
    For watching/ Explanation •please click on https://www.youtube.com/watch?v=UO4eeR7USQw&t=1455s
  • 48.
  • 49.
    Object-Relational Model • Itis a combination of both the relational model and the object-oriented model. • This model was built to fill the gap between object-oriented model and the relational model. • We can have many advanced features like we can make complex data types according to our requirements using the existing data types. Disadvantage: • The problem with this model is that this can get complex and difficult to handle. So, proper understanding of this model is required.