data modeling and the entity-relationship modeldavid/kbdb/html/lect-er.pdf · data modeling and the...

33
Data Modeling and the Entity-Relationship Model David Toman School of Computer Science University of Waterloo Introduction to Databases CS348 David Toman (University of Waterloo) ER Model 1 / 29

Upload: others

Post on 18-May-2020

5 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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