data modeling and the entity-relationship modeldavid/kbdb/html/lect-er.pdf · data modeling and the...
TRANSCRIPT
![Page 1: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/1.jpg)
Data Modeling andthe Entity-Relationship Model
David Toman
School of Computer ScienceUniversity of Waterloo
Introduction to Databases CS348
David Toman (University of Waterloo) ER Model 1 / 29
![Page 2: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/2.jpg)
Overview of E-R Model
Used for (and designed for) database (conceptual schema) design
) Proposed by Peter Chen in 1976
World/enterprise described in terms of• entities• attributes• relationships
Visualization: ER-diagram
David Toman (University of Waterloo) ER Model 2 / 29
![Page 3: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/3.jpg)
Overview of E-R Model
Used for (and designed for) database (conceptual schema) design
) Proposed by Peter Chen in 1976
World/enterprise described in terms of• entities• attributes• relationships
Visualization: ER-diagram
David Toman (University of Waterloo) ER Model 2 / 29
![Page 4: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/4.jpg)
Basic E-R Modeling
Entity: a distinguishable object
Entity set: set of entities of same type
Example:• students currently at the Institute• flights offered by Air Canada• burglaries in Ontario during 1994
Graphical representation of entity sets:
Student Flight Burglary
David Toman (University of Waterloo) ER Model 3 / 29
![Page 5: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/5.jpg)
Basic E-R Modeling (cont’d)
Attributes describe properties of entities
Example: for Employee-entities: EmpNum, Name, Salary, : : :
Domain: set of permitted values for an attribute
Graphical representation of attributes:
Student Major
StudentNum StudentName
David Toman (University of Waterloo) ER Model 4 / 29
![Page 6: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/6.jpg)
Basic E-R Modeling (cont’d)
Relationship: representation of the fact that certain entities arerelated to each other
Relationship set: set of relationships of a given type
Example:• students registered in courses• passengers booked on flights• parents and their children• bank branches, customers and their accounts
In order for a relationship to exist, the participating entities must exist.
David Toman (University of Waterloo) ER Model 5 / 29
![Page 7: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/7.jpg)
Basic E-R Modeling (cont’d)
Relationship: representation of the fact that certain entities arerelated to each other
Relationship set: set of relationships of a given type
Example:• students registered in courses• passengers booked on flights• parents and their children• bank branches, customers and their accounts
In order for a relationship to exist, the participating entities must exist.
David Toman (University of Waterloo) ER Model 5 / 29
![Page 8: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/8.jpg)
Basic E-R Modeling (cont’d)
Relationship: representation of the fact that certain entities arerelated to each other
Relationship set: set of relationships of a given type
Example:• students registered in courses• passengers booked on flights• parents and their children• bank branches, customers and their accounts
In order for a relationship to exist, the participating entities must exist.
David Toman (University of Waterloo) ER Model 5 / 29
![Page 9: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/9.jpg)
Graphical Representation
StudentNum
StudentName
RegisteredIn
Course CourseNum
Student
David Toman (University of Waterloo) ER Model 6 / 29
![Page 10: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/10.jpg)
Graphical Representation (cont’d)
Branch
BranchName
CAB
Account
AccountNum
Balance
Customer SINStreetAddr
CustomerCityCustomerName
David Toman (University of Waterloo) ER Model 7 / 29
![Page 11: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/11.jpg)
Multiple Relationships and Role Names
Role: the function of an entity set in a relationship set
Role name: an explicit indication of a role
Example:
Team
TeamName
Match Location
Address
LocName
Visitor
HomeTeam
Role labels are needed whenever an entity set has multiple functionsin a relationship set.
David Toman (University of Waterloo) ER Model 8 / 29
![Page 12: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/12.jpg)
Relationships and Attributes
Relationships may also have attributes:
Team
TeamName
Match Location
Address
LocName
Visitor
HomeTeam
Score
David Toman (University of Waterloo) ER Model 9 / 29
![Page 13: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/13.jpg)
Constraints in E-R Models
• Binary relationship types• General cardinality constraints• Primary keys• Existence dependencies
David Toman (University of Waterloo) ER Model 10 / 29
![Page 14: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/14.jpg)
Binary Relationship Typesrelationships between TWO entity sets A and B
• many-to-one (N:1): each entity in A can be related to at most oneentity in B, but an entity in B may be related to many entities in A
Visualization:
R BAN 1
Example:
N 1WorksInEmployee Department
• similarly: one-to-many (1:N)
David Toman (University of Waterloo) ER Model 11 / 29
![Page 15: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/15.jpg)
Binary Relationship Types (cont’d)
• one-to-one (1:1): each entity in A can be related to at most oneentity in B, and vise versa
Example:
1Employee DepartmentManages
1
• many-to-many (N:N): an entity can be related to many entities inthe other set, and vice versa
Example:
Employee WorksOnN N
Project
David Toman (University of Waterloo) ER Model 12 / 29
![Page 16: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/16.jpg)
General Cardinality Constraints
Determine lower and upper bounds on the number of relationships of agiven relationship set in which a component entity may participate
Visualization:
(lower,upper)RE
.
.
.
Example:
Takes CourseStudent(3,5) (6,100)
David Toman (University of Waterloo) ER Model 13 / 29
![Page 17: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/17.jpg)
Primary Keys
Each entity must be distinguishable from any other entity in an entityset set by its attributes
Primary key: selection of attributes chosen by designer values ofwhich determines the particular entity.Example 1:
DepartmentDnum ManagerName
BudgetDname
Example 2:
FirstName Employee Salary
LastNameInitial
David Toman (University of Waterloo) ER Model 14 / 29
![Page 18: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/18.jpg)
Existence Dependencies
Sometimes the existence of an entity depends on the existence ofanother entity
If x is existence dependent on y , then• y is a dominant entity• x is a subordinate entity
Example: “Transactions are existence dependent on accounts.”AccountBalance AccNum
Log
Transaction
Date Amount
TransNum
1
N
David Toman (University of Waterloo) ER Model 15 / 29
![Page 19: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/19.jpg)
Identifying Subordinate Entities
Attributes of entity sets with subordinate entities only form key relativeto a given dominant entity
• Weak entity set: an entity set with subordinate entities• Stong entity set: an entity set with no subordinate entities
Example: “All transactions for a given account have a uniquetransaction number.”
AccountBalance AccNum
Log
Transaction
Date Amount
TransNum
1
N
David Toman (University of Waterloo) ER Model 16 / 29
![Page 20: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/20.jpg)
Identifying Subordinate Entities (cont’d)
A weak entity set must have an N:1 relationship to a distinct entity set
Discriminator of a weak entity set: set of attributes that distinguishsubordinate entities of the set, for a particular dominant entity
Primary key for a weak entity set: discriminator + primary key of entityset for dominating entities
Visualization: (distinguishing an identifying relationship)
IdentifyingRelationship Relationship
OtherE
1 N N 1
David Toman (University of Waterloo) ER Model 17 / 29
![Page 21: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/21.jpg)
Example E-R Diagram
Course
SectionOf
Section
CourseNum
TaughtBy
Professor
EnrolledIn
Student
ProfNum
ProfName
StudentNum
StudentName
Mark
CourseName
SectionNum
1
N N
1
(6, 50)
(3, 5)N
(1, 1)
(0, N)
(1, N)
N(1, 1)
David Toman (University of Waterloo) ER Model 18 / 29
![Page 22: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/22.jpg)
Extensions to E-R Modeling
• Structured attributes
• Aggregation
• Specialization
• Generalization
David Toman (University of Waterloo) ER Model 19 / 29
![Page 23: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/23.jpg)
Structured Attributes
Composite attributes: composed of fixed number of other attributes
Multi-valued attributes: attributes that are set-valued
Example:
Employee Address
HobbiesPostalCode
Province
City
Street
David Toman (University of Waterloo) ER Model 20 / 29
![Page 24: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/24.jpg)
Aggregation
Relationships can be viewed as higher-level entities
Example: “Accounts are assigned to a given student enrollment.”
EnrolledInStudent Course
CourseAccount
Account UserId
StudentNum
CourseNum
ExpirationDate
N N
1
1
David Toman (University of Waterloo) ER Model 21 / 29
![Page 25: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/25.jpg)
Specialization
A specialized kind of entity set may be derived from a given entity set
Example: “Graduate students are students that have a supervisor anda number of degrees.”
Student
Graduate
Degrees
SupervisedBy Professor
StudentName
StudentNumber
ProfessorName
1(0, N)(1, 1)
N
David Toman (University of Waterloo) ER Model 22 / 29
![Page 26: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/26.jpg)
Generalization
Several entity sets can be abstracted by a more general entity set
Example: “A vehicle abstracts the notion of a car and a truck.”
Car
PassengerCount
MaxSpeed
MakeAndModelPrice
Truck
AxelCount
Tonnage
MakeAndModelPrice
LicenceNum
LicenceNum
)
PriceVehicleLicenceNum
MakeAndModel
Truck Car MaxSpeed
PassengerCount
Tonnage
AxelCount
David Toman (University of Waterloo) ER Model 23 / 29
![Page 27: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/27.jpg)
Designing An E-R Schema
Usually many ways to design an E-R schemaPoints to consider
• use attribute or entity set?• use entity set or relationship set?• degrees of relationships?• extended features?
David Toman (University of Waterloo) ER Model 24 / 29
![Page 28: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/28.jpg)
Attributes or Entity Sets?
Example: Should one model employees’ phones by a PhoneNumberattribute, or by a Phone entity set related to the Employee entity set?
Rules of thumb:• Is it a separate object?• Do we maintain information about it?• Can several of its kind belong to a single entity?• Does it make sense to delete such an object?• Can it be missing from some of the entity set’s entities?• Can it be shared by different entities?
An affirmative answer to any of the above implies introducing a newentity set.
David Toman (University of Waterloo) ER Model 25 / 29
![Page 29: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/29.jpg)
Attributes or Entity Sets?
Example: Should one model employees’ phones by a PhoneNumberattribute, or by a Phone entity set related to the Employee entity set?
Rules of thumb:• Is it a separate object?• Do we maintain information about it?• Can several of its kind belong to a single entity?• Does it make sense to delete such an object?• Can it be missing from some of the entity set’s entities?• Can it be shared by different entities?
An affirmative answer to any of the above implies introducing a newentity set.
David Toman (University of Waterloo) ER Model 25 / 29
![Page 30: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/30.jpg)
Non-Binary Relationships?
Branch
BranchName
CAB
Account
AccountNum
Balance
Customer SINStreetAddr
CustomerCityCustomerName
David Toman (University of Waterloo) ER Model 26 / 29
![Page 31: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/31.jpg)
Entity Sets or Relationships?
Instead of representing accounts as entities, we could represent themas relationships
Branch
BranchName
Customer SINStreetAddr
CustomerCityCustomerName
Account
Balance
AccountNum
David Toman (University of Waterloo) ER Model 27 / 29
![Page 32: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/32.jpg)
Binary Relationships only?
We can always represent a relationship on n entity sets with n binaryrelationships
Branch
BranchName
CAB
Account
AccountNum
Customer SINStreetAddr
CustomerCityCustomerName
CABCustomer
CABAccount
Balance
CABBranch
David Toman (University of Waterloo) ER Model 28 / 29
![Page 33: Data Modeling and the Entity-Relationship Modeldavid/kbdb/html/lect-ER.pdf · Data Modeling and the Entity-Relationship Model David Toman School of Computer Science ... World/enterprise](https://reader035.vdocuments.site/reader035/viewer/2022070709/5ec2b2ff41f707391f3b2044/html5/thumbnails/33.jpg)
A Simple Methodology
1 Recognize entity sets2 Recognize relationship sets and participating entity sets3 Recognize attributes of entity and relationship sets4 Define binary relationship types and existence dependencies5 Define general cardinality constraints, keys and discriminators6 Draw diagram
For each step, maintain a log of assumptions motivating the choices,and of restrictions imposed by the choices
David Toman (University of Waterloo) ER Model 29 / 29