SlideShare ist ein Scribd-Unternehmen logo
1 von 55
Data Base Design
Entity/Relationship Model
Describing Data: Data Models
• Data model : collection of concepts for describing
data.
• Schema: description of a particular collection of
data, using a given data model.
• Relational model of data
– Main concept: relation (table), rows and columns
– Every relation has a schema
• describes the columns
• column names and domains
Levels of Abstraction
• Views describe how users
see the data.
• Conceptual schema defines
logical structure
• Physical schema describes
the files and indexes used.
Physical Schema
Conceptual Schema
View 1 View 2 View 3
DB
Example: University Database
• Conceptual schema:
– Students(sid text, name text,
login text, age integer,
gpa float)
– Courses(cid text, cname text,
credits integer)
– Enrolled(sid text, cid text,
grade text)
• Physical schema:
– Relations stored as unordered files.
– Index on first column of Students.
• External Schema (View):
– Course_info(cid text,
enrollment integer)
Data Independence
• Insulate apps from structure of data
• Logical data independence:
– Protection from changes in logical structure
• Physical data independence:
– Protection from changes in physical structure
• Q: Why particularly important for DBMS?
Because databases and their
associated applications persist.
Data Models
• Connect concepts to bits!
• Many models exist
• We will ground ourselves
in the Relational model
– clean and common
– generalization of key/value
• Entity-Relationship model
also handy for design
– Translates down to
Relational 10101
11101
Student (sid: string, name: string, login:
string, age: integer, gpa:real)
Entity-Relationship Model
• Relational model is a great formalism
– and a clean system framework
• But a bit detailed for design time
– a bit fussy for brainstorming
– hard to communicate to customers
• Entity-Relationship model is a popular
“shim” over relational model
– graphical, slightly higher level
Steps in Traditional Database
Design
• Requirements Analysis
– user needs; what must database do?
• Conceptual Design
– high level description (often done w/ER model)
• Logical Design
– translate ER into DBMS data model
• Schema Refinement
– consistency, normalization
• Physical Design - indexes, disk layout
• Security Design - who accesses what, and how
Conceptual Design
• What are the entities and relationships?
• What info about E’s & R’s should be in DB?
• What integrity constraints (business rules) hold?
• ER diagram is the “schema”
• Can map an ER diagram into a relational schema.
ER Model Basics
• Entity:
– A real-world object described by a set of attribute
values.
• Entity Set: A collection of similar entities.
– E.g., all employees.
– All entities in an entity set have the same attributes.
– Each entity set has a key (underlined)
– Each attribute has a domain
Employees
ssn
name
lot
ER model
• ER model stands for an Entity-Relationship
model. It is a high-level data model. This model is
used to define the data elements and relationship
for a specified system.
• It develops a conceptual design for the database.
It also develops a very simple and easy to design
view of data.
• In ER modeling, the database structure is
portrayed as a diagram called an entity-
relationship diagram.
• For example, Suppose we design a school
database. In this database, the student will be
an entity with attributes like address, name,
id, age, etc. The address can be another entity
with attributes like city, street name, pin code,
etc and there will be a relationship between
them.
Component of ER Diagram
1. Entity:
• An entity may be any object, class, person or
place. In the ER diagram, an entity can be
represented as rectangles.
• Consider an organization as an example-
manager, product, employee, department etc.
can be taken as an entity.
a. Weak Entity
• An entity that depends on another entity
called a weak entity. The weak entity doesn't
contain any key attribute of its own. The weak
entity is represented by a double rectangle.
2. Attribute
• The attribute is used to describe the property
of an entity. Eclipse is used to represent an
attribute.
• For example, id, age, contact number, name,
etc. can be attributes of a student.
a. Key Attribute
• The key attribute is used to represent the
main characteristics of an entity. It represents
a primary key. The key attribute is represented
by an ellipse with the text underlined.
b. Composite Attribute
• An attribute that composed of many other
attributes is known as a composite attribute.
The composite attribute is represented by an
ellipse, and those ellipses are connected with
an ellipse.
c. Multivalued Attribute
• An attribute can have more than one value.
These attributes are known as a multivalued
attribute. The double oval is used to represent
multivalued attribute.
• For example, a student can have more than
one phone number.
d. Derived Attribute
• An attribute that can be derived from other
attribute is known as a derived attribute. It
can be represented by a dashed ellipse.
• For example, A person's age changes
over time and can be derived from another
attribute like Date of birth.
3. Relationship
• A relationship is used to describe the relation
between entities. Diamond or rhombus is
used to represent the relationship.
Types of relationship are as
follows:
a. One-to-One Relationship
• When only one instance of an entity is
associated with the relationship, then it is
known as one to one relationship.
• For example, A female can marry to one
male, and a male can marry to one
female.
b. One-to-many relationship
• When only one instance of the entity on the
left, and more than one instance of an entity
on the right associates with the relationship
then this is known as a one-to-many
relationship.
• For example, Scientist can invent many
inventions, but the invention is done by the
only specific scientist.
c. Many-to-one relationship
• When more than one instance of the entity on
the left, and only one instance of an entity on
the right associates with the relationship then
it is known as a many-to-one relationship.
• For example, Student enrolls for only one
course, but a course can have many students.
d. Many-to-many relationship
• When more than one instance of the entity
on the left, and more than one instance of
an entity on the right associates with the
relationship then it is known as a many-to-
many relationship.
• For example, Employee can assign by
many projects and project can have many
employees.
Notation of ER diagram
• Database can be represented using the
notations. In ER diagram, many notations are
used to express the cardinality. These
notations are as follows:
Mapping Constraints
• A mapping constraint is a data constraint that
expresses the number of entities to which another
entity can be related via a relationship set.
• It is most useful in describing the relationship sets that
involve more than two entity sets.
• For binary relationship set R on an entity set A and B,
there are four possible mapping cardinalities. These are
as follows:
– One to one (1:1)
– One to many (1:M)
– Many to one (M:1)
– Many to many (M:M)
One-to-one
• In one-to-one mapping, an entity in E1 is
associated with at most one entity in E2,
and an entity in E2 is associated with at
most one entity in E1.
•
One-to-many
• In one-to-many mapping, an entity in E1 is
associated with any number of entities in E2,
and an entity in E2 is associated with at most
one entity in E1.
Many-to-one
• In one-to-many mapping, an entity in E1 is
associated with at most one entity in E2, and
an entity in E2 is associated with any number
of entities in E1.
Many-to-many
• In many-to-many mapping, an entity in E1 is
associated with any number of entities in E2,
and an entity in E2 is associated with any
number of entities in E1.
ER Model Basics (Contd.)
• Relationship: Association among two or more
entities.
– E.g., Attishoo works in Pharmacy department.
– relationships can have their own attributes.
• Relationship Set: Collection of similar relationships.
lot
name
Employees
ssn
Works_In
since
dname
budget
did
Departments
Keys
• Keys play an important role in the relational
database.
• It is used to uniquely identify any record or
row of data from the table. It is also used to
establish and identify relationships between
tables.
• For example, ID is used as a key in the Student
table because it is unique for each student. In
the PERSON table, passport_number,
license_number, SSN are keys since they are
unique for each person.
Types of keys:
1. Primary key
• It is the first key used to identify one and
only one instance of an entity uniquely. An
entity can contain multiple keys, as we
saw in the PERSON table. The key which
is most suitable from those lists becomes
a primary key.
• In the EMPLOYEE table, ID can be the primary key
since it is unique for each employee. In the EMPLOYEE
table, we can even select License_Number and
Passport_Number as primary keys since they are also
unique.
• For each entity, the primary key selection is based on
requirements and developers.
2. Candidate key
• A candidate key is an attribute or set of
attributes that can uniquely identify a tuple.
• Except for the primary key, the remaining
attributes are considered a candidate key.
The candidate keys are as strong as the
primary key.
• For example: In the EMPLOYEE table, id is best
suited for the primary key. The rest of the
attributes, like SSN, Passport_Number,
License_Number, etc., are considered a
candidate key.
3. Super Key
• Super key is an attribute set that can uniquely
identify a tuple. A super key is a superset of a
candidate key.
• For example: In the above EMPLOYEE
table, for(EMPLOEE_ID,
EMPLOYEE_NAME), the name of two
employees can be the same, but their
EMPLYEE_ID can't be the same. Hence,
this combination can also be a key.
• The super key would be EMPLOYEE-ID
(EMPLOYEE_ID, EMPLOYEE-NAME), etc.
4. Foreign key
• Foreign keys are the column of the table used to point
to the primary key of another table.
• Every employee works in a specific department in a
company, and employee and department are two
different entities. So we can't store the department's
information in the employee table. That's why we link
these two tables through the primary key of one table.
• We add the primary key of the DEPARTMENT table,
Department_Id, as a new attribute in the EMPLOYEE
table.
• In the EMPLOYEE table, Department_Id is the foreign
key, and both the tables are related.
5. Alternate key
• There may be one or more attributes or a combination
of attributes that uniquely identify each tuple in a
relation. These attributes or combinations of the
attributes are called the candidate keys. One key is
chosen as the primary key from these candidate keys,
and the remaining candidate key, if it exists, is termed
the alternate key. In other words, the total number of
the alternate keys is the total number of candidate keys
minus the primary key. The alternate key may or may
not exist. If there is only one candidate key in a
relation, it does not have an alternate key.
• For example, employee relation has two
attributes, Employee_Id and PAN_No, that act
as candidate keys. In this relation,
Employee_Id is chosen as the primary key, so
the other candidate key, PAN_No, acts as the
Alternate key.
6. Composite key
• Whenever a primary key consists of more than
one attribute, it is known as a composite key.
This key is also known as Concatenated Key.
• For example, in employee relations, we
assume that an employee may be assigned
multiple roles, and an employee may work on
multiple projects simultaneously. So the
primary key will be composed of all three
attributes, namely Emp_ID, Emp_role, and
Proj_ID in combination. So these attributes act
as a composite key since the primary key
comprises more than one attribute.
7. Artificial key
• The key created using arbitrarily assigned data are
known as artificial keys. These keys are created when a
primary key is large and complex and has no
relationship with many other relations. The data values
of the artificial keys are usually numbered in a serial
order.
• For example, the primary key, which is composed of
Emp_ID, Emp_role, and Proj_ID, is large in employee
relations. So it would be better to add a new virtual
attribute to identify each tuple in the relation uniquely.
er-models.pptx
er-models.pptx
er-models.pptx

Weitere ähnliche Inhalte

Ähnlich wie er-models.pptx

E_R-Diagram (2).pptx
E_R-Diagram (2).pptxE_R-Diagram (2).pptx
E_R-Diagram (2).pptxsandeep54552
 
Entity Relationship Model
Entity Relationship ModelEntity Relationship Model
Entity Relationship ModelSlideshare
 
ER-MODEL WITH DBMS.pptx
ER-MODEL WITH DBMS.pptxER-MODEL WITH DBMS.pptx
ER-MODEL WITH DBMS.pptxKomal Komal
 
entityrelationshipmodel.pptx
entityrelationshipmodel.pptxentityrelationshipmodel.pptx
entityrelationshipmodel.pptxThangamaniR3
 
SQL Tutorial - Basics of Structured Query Language Day 1.pdf
SQL Tutorial - Basics of Structured Query Language Day 1.pdfSQL Tutorial - Basics of Structured Query Language Day 1.pdf
SQL Tutorial - Basics of Structured Query Language Day 1.pdfRiturajDas28
 
Entity-Relationship Data Model
Entity-Relationship Data ModelEntity-Relationship Data Model
Entity-Relationship Data ModelBishrul Haq
 
ER Modeling and Introduction to RDBMS
ER Modeling and Introduction to RDBMSER Modeling and Introduction to RDBMS
ER Modeling and Introduction to RDBMSRubal Sagwal
 
RDBMS ER (Entity Relationship) Diagram.pptx
RDBMS ER (Entity Relationship) Diagram.pptxRDBMS ER (Entity Relationship) Diagram.pptx
RDBMS ER (Entity Relationship) Diagram.pptxpremak23
 
Introduction to Database Management Systems
Introduction to Database Management Systems Introduction to Database Management Systems
Introduction to Database Management Systems Reem Sherif
 
Advance database system(part 4)
Advance database system(part 4)Advance database system(part 4)
Advance database system(part 4)Abdullah Khosa
 
Database Design and Entity relationship Model.pptx
Database Design and Entity relationship Model.pptxDatabase Design and Entity relationship Model.pptx
Database Design and Entity relationship Model.pptxyamuna67903
 
Cn presentation on the topic called as re modelling
Cn presentation on the topic called as re modellingCn presentation on the topic called as re modelling
Cn presentation on the topic called as re modellingg30162363
 

Ähnlich wie er-models.pptx (20)

E_R-Diagram (2).pptx
E_R-Diagram (2).pptxE_R-Diagram (2).pptx
E_R-Diagram (2).pptx
 
Data Models.pptx
Data Models.pptxData Models.pptx
Data Models.pptx
 
Entity Relationship Model
Entity Relationship ModelEntity Relationship Model
Entity Relationship Model
 
Revision ch 3
Revision ch 3Revision ch 3
Revision ch 3
 
ER-Model-ER Diagram
ER-Model-ER DiagramER-Model-ER Diagram
ER-Model-ER Diagram
 
Database part3-
Database part3-Database part3-
Database part3-
 
ER-MODEL WITH DBMS.pptx
ER-MODEL WITH DBMS.pptxER-MODEL WITH DBMS.pptx
ER-MODEL WITH DBMS.pptx
 
entityrelationshipmodel.pptx
entityrelationshipmodel.pptxentityrelationshipmodel.pptx
entityrelationshipmodel.pptx
 
SQL Tutorial - Basics of Structured Query Language Day 1.pdf
SQL Tutorial - Basics of Structured Query Language Day 1.pdfSQL Tutorial - Basics of Structured Query Language Day 1.pdf
SQL Tutorial - Basics of Structured Query Language Day 1.pdf
 
ER-Diagram.pptx
ER-Diagram.pptxER-Diagram.pptx
ER-Diagram.pptx
 
Entity-Relationship Data Model
Entity-Relationship Data ModelEntity-Relationship Data Model
Entity-Relationship Data Model
 
RDBMS ERD
RDBMS ERDRDBMS ERD
RDBMS ERD
 
ER Modeling and Introduction to RDBMS
ER Modeling and Introduction to RDBMSER Modeling and Introduction to RDBMS
ER Modeling and Introduction to RDBMS
 
ER Model in DBMS
ER Model in DBMSER Model in DBMS
ER Model in DBMS
 
RDBMS ER (Entity Relationship) Diagram.pptx
RDBMS ER (Entity Relationship) Diagram.pptxRDBMS ER (Entity Relationship) Diagram.pptx
RDBMS ER (Entity Relationship) Diagram.pptx
 
Introduction to Database Management Systems
Introduction to Database Management Systems Introduction to Database Management Systems
Introduction to Database Management Systems
 
Advance database system(part 4)
Advance database system(part 4)Advance database system(part 4)
Advance database system(part 4)
 
10287 lecture5(2)
10287 lecture5(2)10287 lecture5(2)
10287 lecture5(2)
 
Database Design and Entity relationship Model.pptx
Database Design and Entity relationship Model.pptxDatabase Design and Entity relationship Model.pptx
Database Design and Entity relationship Model.pptx
 
Cn presentation on the topic called as re modelling
Cn presentation on the topic called as re modellingCn presentation on the topic called as re modelling
Cn presentation on the topic called as re modelling
 

Kürzlich hochgeladen

microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 

Kürzlich hochgeladen (20)

microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 

er-models.pptx

  • 2. Describing Data: Data Models • Data model : collection of concepts for describing data. • Schema: description of a particular collection of data, using a given data model. • Relational model of data – Main concept: relation (table), rows and columns – Every relation has a schema • describes the columns • column names and domains
  • 3. Levels of Abstraction • Views describe how users see the data. • Conceptual schema defines logical structure • Physical schema describes the files and indexes used. Physical Schema Conceptual Schema View 1 View 2 View 3 DB
  • 4. Example: University Database • Conceptual schema: – Students(sid text, name text, login text, age integer, gpa float) – Courses(cid text, cname text, credits integer) – Enrolled(sid text, cid text, grade text) • Physical schema: – Relations stored as unordered files. – Index on first column of Students. • External Schema (View): – Course_info(cid text, enrollment integer)
  • 5. Data Independence • Insulate apps from structure of data • Logical data independence: – Protection from changes in logical structure • Physical data independence: – Protection from changes in physical structure • Q: Why particularly important for DBMS? Because databases and their associated applications persist.
  • 6. Data Models • Connect concepts to bits! • Many models exist • We will ground ourselves in the Relational model – clean and common – generalization of key/value • Entity-Relationship model also handy for design – Translates down to Relational 10101 11101 Student (sid: string, name: string, login: string, age: integer, gpa:real)
  • 7. Entity-Relationship Model • Relational model is a great formalism – and a clean system framework • But a bit detailed for design time – a bit fussy for brainstorming – hard to communicate to customers • Entity-Relationship model is a popular “shim” over relational model – graphical, slightly higher level
  • 8. Steps in Traditional Database Design • Requirements Analysis – user needs; what must database do? • Conceptual Design – high level description (often done w/ER model) • Logical Design – translate ER into DBMS data model • Schema Refinement – consistency, normalization • Physical Design - indexes, disk layout • Security Design - who accesses what, and how
  • 9. Conceptual Design • What are the entities and relationships? • What info about E’s & R’s should be in DB? • What integrity constraints (business rules) hold? • ER diagram is the “schema” • Can map an ER diagram into a relational schema.
  • 10. ER Model Basics • Entity: – A real-world object described by a set of attribute values. • Entity Set: A collection of similar entities. – E.g., all employees. – All entities in an entity set have the same attributes. – Each entity set has a key (underlined) – Each attribute has a domain Employees ssn name lot
  • 11. ER model • ER model stands for an Entity-Relationship model. It is a high-level data model. This model is used to define the data elements and relationship for a specified system. • It develops a conceptual design for the database. It also develops a very simple and easy to design view of data. • In ER modeling, the database structure is portrayed as a diagram called an entity- relationship diagram.
  • 12. • For example, Suppose we design a school database. In this database, the student will be an entity with attributes like address, name, id, age, etc. The address can be another entity with attributes like city, street name, pin code, etc and there will be a relationship between them.
  • 13.
  • 14. Component of ER Diagram
  • 15. 1. Entity: • An entity may be any object, class, person or place. In the ER diagram, an entity can be represented as rectangles. • Consider an organization as an example- manager, product, employee, department etc. can be taken as an entity.
  • 16. a. Weak Entity • An entity that depends on another entity called a weak entity. The weak entity doesn't contain any key attribute of its own. The weak entity is represented by a double rectangle.
  • 17. 2. Attribute • The attribute is used to describe the property of an entity. Eclipse is used to represent an attribute. • For example, id, age, contact number, name, etc. can be attributes of a student.
  • 18. a. Key Attribute • The key attribute is used to represent the main characteristics of an entity. It represents a primary key. The key attribute is represented by an ellipse with the text underlined.
  • 19. b. Composite Attribute • An attribute that composed of many other attributes is known as a composite attribute. The composite attribute is represented by an ellipse, and those ellipses are connected with an ellipse.
  • 20. c. Multivalued Attribute • An attribute can have more than one value. These attributes are known as a multivalued attribute. The double oval is used to represent multivalued attribute. • For example, a student can have more than one phone number.
  • 21. d. Derived Attribute • An attribute that can be derived from other attribute is known as a derived attribute. It can be represented by a dashed ellipse. • For example, A person's age changes over time and can be derived from another attribute like Date of birth.
  • 22. 3. Relationship • A relationship is used to describe the relation between entities. Diamond or rhombus is used to represent the relationship.
  • 23. Types of relationship are as follows: a. One-to-One Relationship • When only one instance of an entity is associated with the relationship, then it is known as one to one relationship. • For example, A female can marry to one male, and a male can marry to one female.
  • 24.
  • 25. b. One-to-many relationship • When only one instance of the entity on the left, and more than one instance of an entity on the right associates with the relationship then this is known as a one-to-many relationship. • For example, Scientist can invent many inventions, but the invention is done by the only specific scientist.
  • 26.
  • 27. c. Many-to-one relationship • When more than one instance of the entity on the left, and only one instance of an entity on the right associates with the relationship then it is known as a many-to-one relationship. • For example, Student enrolls for only one course, but a course can have many students.
  • 28. d. Many-to-many relationship • When more than one instance of the entity on the left, and more than one instance of an entity on the right associates with the relationship then it is known as a many-to- many relationship. • For example, Employee can assign by many projects and project can have many employees.
  • 29. Notation of ER diagram • Database can be represented using the notations. In ER diagram, many notations are used to express the cardinality. These notations are as follows:
  • 30. Mapping Constraints • A mapping constraint is a data constraint that expresses the number of entities to which another entity can be related via a relationship set. • It is most useful in describing the relationship sets that involve more than two entity sets. • For binary relationship set R on an entity set A and B, there are four possible mapping cardinalities. These are as follows: – One to one (1:1) – One to many (1:M) – Many to one (M:1) – Many to many (M:M)
  • 31. One-to-one • In one-to-one mapping, an entity in E1 is associated with at most one entity in E2, and an entity in E2 is associated with at most one entity in E1. •
  • 32. One-to-many • In one-to-many mapping, an entity in E1 is associated with any number of entities in E2, and an entity in E2 is associated with at most one entity in E1.
  • 33. Many-to-one • In one-to-many mapping, an entity in E1 is associated with at most one entity in E2, and an entity in E2 is associated with any number of entities in E1.
  • 34. Many-to-many • In many-to-many mapping, an entity in E1 is associated with any number of entities in E2, and an entity in E2 is associated with any number of entities in E1.
  • 35. ER Model Basics (Contd.) • Relationship: Association among two or more entities. – E.g., Attishoo works in Pharmacy department. – relationships can have their own attributes. • Relationship Set: Collection of similar relationships. lot name Employees ssn Works_In since dname budget did Departments
  • 36. Keys • Keys play an important role in the relational database. • It is used to uniquely identify any record or row of data from the table. It is also used to establish and identify relationships between tables.
  • 37. • For example, ID is used as a key in the Student table because it is unique for each student. In the PERSON table, passport_number, license_number, SSN are keys since they are unique for each person.
  • 39. 1. Primary key • It is the first key used to identify one and only one instance of an entity uniquely. An entity can contain multiple keys, as we saw in the PERSON table. The key which is most suitable from those lists becomes a primary key.
  • 40. • In the EMPLOYEE table, ID can be the primary key since it is unique for each employee. In the EMPLOYEE table, we can even select License_Number and Passport_Number as primary keys since they are also unique. • For each entity, the primary key selection is based on requirements and developers.
  • 41. 2. Candidate key • A candidate key is an attribute or set of attributes that can uniquely identify a tuple. • Except for the primary key, the remaining attributes are considered a candidate key. The candidate keys are as strong as the primary key.
  • 42. • For example: In the EMPLOYEE table, id is best suited for the primary key. The rest of the attributes, like SSN, Passport_Number, License_Number, etc., are considered a candidate key.
  • 43. 3. Super Key • Super key is an attribute set that can uniquely identify a tuple. A super key is a superset of a candidate key.
  • 44. • For example: In the above EMPLOYEE table, for(EMPLOEE_ID, EMPLOYEE_NAME), the name of two employees can be the same, but their EMPLYEE_ID can't be the same. Hence, this combination can also be a key. • The super key would be EMPLOYEE-ID (EMPLOYEE_ID, EMPLOYEE-NAME), etc.
  • 45. 4. Foreign key • Foreign keys are the column of the table used to point to the primary key of another table. • Every employee works in a specific department in a company, and employee and department are two different entities. So we can't store the department's information in the employee table. That's why we link these two tables through the primary key of one table. • We add the primary key of the DEPARTMENT table, Department_Id, as a new attribute in the EMPLOYEE table. • In the EMPLOYEE table, Department_Id is the foreign key, and both the tables are related.
  • 46.
  • 47. 5. Alternate key • There may be one or more attributes or a combination of attributes that uniquely identify each tuple in a relation. These attributes or combinations of the attributes are called the candidate keys. One key is chosen as the primary key from these candidate keys, and the remaining candidate key, if it exists, is termed the alternate key. In other words, the total number of the alternate keys is the total number of candidate keys minus the primary key. The alternate key may or may not exist. If there is only one candidate key in a relation, it does not have an alternate key.
  • 48. • For example, employee relation has two attributes, Employee_Id and PAN_No, that act as candidate keys. In this relation, Employee_Id is chosen as the primary key, so the other candidate key, PAN_No, acts as the Alternate key.
  • 49. 6. Composite key • Whenever a primary key consists of more than one attribute, it is known as a composite key. This key is also known as Concatenated Key.
  • 50. • For example, in employee relations, we assume that an employee may be assigned multiple roles, and an employee may work on multiple projects simultaneously. So the primary key will be composed of all three attributes, namely Emp_ID, Emp_role, and Proj_ID in combination. So these attributes act as a composite key since the primary key comprises more than one attribute.
  • 51.
  • 52. 7. Artificial key • The key created using arbitrarily assigned data are known as artificial keys. These keys are created when a primary key is large and complex and has no relationship with many other relations. The data values of the artificial keys are usually numbered in a serial order. • For example, the primary key, which is composed of Emp_ID, Emp_role, and Proj_ID, is large in employee relations. So it would be better to add a new virtual attribute to identify each tuple in the relation uniquely.