51
2. Entity Relationship(ER) Model 1 DATABASE MANAGEMENT SYSTEMS

Chapter2

Embed Size (px)

Citation preview

Page 1: Chapter2

2. Entity Relationship(ER) Model

1

DATABASE MANAGEMENT SYSTEMS

Page 2: Chapter2

THE RELATİON MODEL

Relational databases are based on the relational model of data. Code defined the term ‘data model’ to consist of there element:

• Definitions of the structure of the data• Definition of the types of operations allowed

on the data• Integrity constraints used to ensure the data

is as accurate as possible. For example, constraints can be specified to ensure that data fails within a set of values.

2

Page 3: Chapter2

BASİC CONCEPT

A database can be modeled as a collection of entities relationship among entities

An entity is an object that exists independently and is distinguishable from other objects. an employee, a company, a car, etc. color, age, etc. are not entities A relation is a table or flat file with columns

and rows which has certain properties A tuple is a row of a relation and represents an

instance of a relation 3

Page 4: Chapter2

An attribute is a named column of a relation

A domain is the set of allowable values for one or more attributes

The degree of a relation is the number of attributes it contains

The cardinality of relation is the number of tuples it contains

4

BASİC CONCEPT

Page 5: Chapter2

AN ENTİTY SET İS A SET OF ENTİTİES OF THE SAME TYPE

E.g., a set of employees, a set of departments also called entity types

5

EmployeeEntity Type :

e1

e2

e3

Entity set:…

The actual employees

A general specificati

on

Page 6: Chapter2

ATTRİBUTES

6

• Properties of an entity or a relationship• name, address, weight, height are properties of a Person entity.

• date of marriage is a property of the relationship Marriage.

• ER models are usually represented graphically. The language we are going to use represents entity types as rectangles.

Page 7: Chapter2

TYPES OF ATTRİBUTES

Simple attribute: contains a single value.

7

Employee

EmpNo

Name

Address

Page 8: Chapter2

CONPOSİTE ATTRİBUTE:CONSİST OF SEVERAL COMPONENTS

8

Country

Employee

Address

Street

City

EmpNo

Name

Page 9: Chapter2

MULTİVALUE ATTRİBUTE :CONTAİNS MORE THAN ONE VALUE

9

Employee

Phone

Email

Page 10: Chapter2

DERİVED ATTRİBUTE:COMPUTED FROM OTHER ATTRİBUTES

10

Employee

Age

Bonus

Page 11: Chapter2

KEY ATTRİBUTES

A set of attributes that can uniquely identify an entity

11

EmployeeEmpNo

Name

EmpNo Name . . .123456 John Wong . . .

456789 . . .

146777 . . .John Wong

Mary Cheung

ERD

tabular

Page 12: Chapter2

KEY ATTRİBUTES Composite key: Name or Address alone

cannot uniquely identify an employee, but together they can!

12

Employee

Name

Address

Page 13: Chapter2

KEY ATTRİBUTES An entity may have more than one key

e.g., EmpNo, (Name, Address) only one is selected as the key. (sometimes

called the Primary key)

13

Employee

EmpNo

Name

Address

In many cases, a key is artificially introduced (e.g., EmpNo) to make applications more efficient.

Page 14: Chapter2

RELATİONSHİP

A relationship is an association between one or more entities.Given a customer and an account,

the relationship depositor between them indicates that the customer deposits money into the account.

The language we are going to use represents entity types relationships as diamonds.

14

Page 15: Chapter2

15

• A relationship may have attributes• A relationship type or relationship set identifies relationships of the same properties

Customer

depositor

Account

Amount

CusNoName

AccNo Name

Question: Could Amount be an attribute of Customer? Or an attribute of Account?What does Amount mean? How many values you want to keep?

Page 16: Chapter2

REPRESENTATİON OF RELATİONSHİP

16

• Tabular: Depositor

Note: this is NOT an ERD

The amount in

each deposit.

CustomerNo

A123456

B456789

B456789

AccountNo

A-101

A-201

A-302

Amount

500

900

700

A123456

B456789

A-101

A-201

A-202

500

900

700

Graph:

Page 17: Chapter2

TRY AN ALTERNATİVE

17

• Represent Amount as an attribute of Account

AccountNo

A-101

A-201

A-302

Name

Current

Saving

Current

Amount

500

900

700

Consider Amount as the balance of an account (I.e., one value per account) or as the last deposit amount.

“Multivalue” attribute, though allowed in ER model, is difficult to implement

Page 18: Chapter2

CARDİNALİTY OF RELATİONSHİPS Number of entities that can be associated

together in a relationship set. 1 : 1 One entity of type X can be associated

with, at most, one entity of type Y. One entity of type Y can be associated with, at most, one entity of type X.

18

Customer LoanBorrows

A customer can borrow 1 loan and vice versa

Page 19: Chapter2

1 : N

19

Customer Loan

Customer Borrow Loan

A Customer can borrow more than 1 loan, whereas a loan has only one borrower.

One entity of type X can be associated with many entities of type Y. One entity of type Y can be associated with, at most, one entity of type X.

Page 20: Chapter2

N : M

20

Customer Borrow loan

A customer can borrow more than one loan A loan can have more than one borrower.

One entity of type X can be associated with many entities of type Y. One entity of type Y can be associated with many entities of type X.

Page 21: Chapter2

NOTES

21

• Cardinality specifies the maximum condition.

1 : 1 N : M

1 : N The minimum is specified by

existence constraints (explained later)

Conditions must be satisfied at all times

Page 22: Chapter2

DEGREES OF A RELATİONSHİPS SET

22

• Number of entity sets participating in a relationship set.

Customer LoanBorrow- Binary

Relationships with degree >3 is very rare. Hint: translate a ternary relationship into

one sentence. Can you break it up into two or more

sentences?

A customer borrows a loan from a branch.

A customer borrows a loan. A loan is made at a branch.

Customer LoanBorrow

Branch

- Ternary

Page 23: Chapter2

RECURSİVE RELATİONSHİPS

23

• A relationship relating entitles of the same type

Employees play different roles: manager or worker Without role names, you can’t tell whether 1 employee manages n

other employees or n employees manages 1 employee You can “unfold” a recursive relationship to understand it:

manager worker

Employee work-for Employee

manager

worker

Employee work-for

Page 24: Chapter2

TABULAR REPRESENTATİON OF RECURSİVE RELATİONSHİPS

24

• Without Role Names

• With Role Names

Where ManagerNo and WorkerNo are Valid EmployeeNo

ManagerNo WorkerNo

A1234 A6543

A1234 A8734

EmployeeNoEmployeeNo

A1234 A8734

A1234 A6543

Page 25: Chapter2

OPTİONAL VERSUS MANDATORY Assume there is an entity type called

person, and entity subtypes called customer and employee. When a person is created, the designer of the database has two options:

mandatory He/she can demand that the person be

classified as one of the subtypes. optional He/she can allow a person to be created

without classifying the person as any subtype.

25

Page 26: Chapter2

OPTİONAL VERSUS MANDATORY

26

Neither one is preferable to the other. The proper one to choose depends on the business situation.

Mandatory sub-typing is represented by creating a double line from the super-type (person in the following ER diagram) to the circle.

Optional sub-typing is represented by leaving a single line from the super-type to the circle.

Page 27: Chapter2

AGGREGATİON OF ENTİTY TYPES Subtypes are generally thought of in terms

of X is a Y (which is why these are commonly referred to as is-a relationships). Another type of relationship that needs to be represented in a database is the part of relationship, more formally called aggregation. When an entity is made up of several different types of other entities, an aggregation relationship may be called for.

27

Page 28: Chapter2

AGGREGATİON OF ENTİTY TYPES

28

Consider the relationship between a car and its engine and body. The engine and body are both part of the car. The relationship is represented as follows in an ER diagram.

Page 29: Chapter2

PARALLEL RELATİONSHİPS

Two entities can have more than one type of relationship. This is not surprising; further, it is not difficult to represent in a database or in an ER diagram. Consider the entity types person and insurance policy and the relationships between them of pays for and is insured under.

29

Page 30: Chapter2

PARALLEL RELATİONSHİPS

30

A person pays for zero or more insurance policies. An insurance policy is paid for by exactly one person.

A person is insured by zero or more insurance policies. An insurance policy insures one or more persons.

Page 31: Chapter2

EXİSTENCE DEPENDENCE

The existence of an entity depends on the existence of another entity

31

Customer Loanloan

borrow

CusNo LoanNo

A loan cannot exist if there is no borrower.

Page 32: Chapter2

WEAK ENTİTİES

A weak entity cannot be identified with its own attributes no key

A weak entity implies existence dependency but NOT vice versa

32

Page 33: Chapter2

33

LoanNo Amount Date_payPaymentNo

Payment

• A loan may have 240 payments, each identified by a payment no 1 - 240.

•The PaymentNo is unique given a particular loan but not unique globally

• PaymentNo is called partial key• The primary key of Payment is the combination of

LoanNo and PaymentNo.

Loanpayment

Question: Why not combine loan and payment into one entity type?

AmountLoan

Page 34: Chapter2

WEAK ENTİTY VS EXİSTENCE CONSTRAİNTS

In the existence constraint example, LoanNo can uniquely identify a Loan in the database so it is not a weak entity.

The existence constraint means that you cannot create a Loan record without first knowing who borrowed the loan.

34

Page 35: Chapter2

ANOTHER EXAMPLE OF WEAK ENTİTY TYPE

35

• A child may not be old enough to have a HKID number

• Even if he/she has a HKID number, the company may not be interested in keeping it in the database.

EmpNo Name

DependentEmp_Dep

AgeEmployee

Page 36: Chapter2

TERNARY RELATİONSHİPS

36

Customer LoanBorrow

Branch

A customer borrows a loan from a branch.

Customer LoanBorrow

Branch

Issue

A customer borrows a loan. A loan is issued from a branch.

Page 37: Chapter2

WHAT ARE THE DİFFERENCES?

37

A customer borrows a loan from a branch.

A customer borrows a loan. A loan is issued from a branch.

CusNo LoanNo Branch

A12345 L-001 CentralB56789 L-001 Wanchai

CusNo LoanNo

A12345 L-001B56789 L-001 LoanNo Branch

L-001 CentralL-001 Wanchai

Page 38: Chapter2

Imagine a bank allows borrowers of the same loan to go to difference branches for signing documents, deposit payments, etc.

The two schemes are not the same. The binary relationships capture less information.

Adding a third relationship won’t help.

38

Customer LoanBorrow

Branch

IssueCus_Br

CusNo Branch

A12345 CentralB56789 Wanchai

Page 39: Chapter2

WHY?

Customer, Loan and Branch have a N:M:P relationship

39

A12345

B56789 A12345

A12345

L-001

N:N:1 relationship can be decomposed (A loan is issued by ONE BRANCH ONLY)

John borrows a loan which is issued from Wanchai branch

Page 40: Chapter2

BİNARY RELATİONSHİPS TO TERNARY?

Binary relationships may have different meanings so that they can’t be combined into ternary relationships.

40

Customer LoanBorrow

Branch

IssueBuy_stock

You may have a ternary relationshipCustomer-Loan-Branchand other binary relationships between Customer, Loan and Branch

Page 41: Chapter2

A CASE STUDY

41

A primary school student writes a composition about a picnic: Today is Sep 9, the weather is fine. My classmates, John, Mary and I go to a picnic in Sai Kung. Our teacher is Ms Wong

Picnic

weather

destination

date

Students

Name

Teacher

Name

Initial Design:

Page 42: Chapter2

QUESTİONS ?

Why “John”, “Mary”, “Miss Wong” are not in the ER diagram ?

What do these names tell us ? What are the keys of Student, Picnic &

Teacher ? What are the cardinalities of the relationships

?

42

Page 43: Chapter2

Every student has an ID number, it is better to keep it in the database and use it as a key

I bet that there won’t be teachers with the same name; otherwise, I’ll add employee number and use it as a key

goes is N:M, why ? A picnic has more than one student participating; also, a student can go to more than 1 picnic. However, this N:M relationship allows a student to go to more than one picnic on the same date

leading is N:1 , why? Depends on your assumptions I assume a teacher can only lead 1 picnic on a certain date, so given

the teacher name and the date, I can identify a picnic Picnic is made a weak entity. I could have added a PicnicNo, but it

would be very awkward.

43

My solution

Student

StudentNo Name weatherdate

destination

Picnicgoes leading Teacher

Name

Question:How to record number of students in a picnic?

Page 44: Chapter2

E-R DESİGN DECİSİONS

The use of an attribute or entity set to represent an object. Should an address be an attribute or entity?

Whether a real-world concept is best expressed by an entity set or a relation set. Should marriage be an entity or relationship? Should picnic be an entity or relationship?

The use of a ternary relationship versus a pair of binary relationships. See the borrow-loan-branch example

The use of a strong or weak entity set. See the employee-dependent example

44

Page 45: Chapter2

E-R DİAGRAM FOR COMPANY DATABASE

45

EMPLOYEE

WORKS_FOR

MANAGESCONTROLS

StartdateDEPARTMENT

WORKS_ON PROJECT

Hours

DEPENDENTS_OF

DEPENDENT

SUPERVISION

superviseesupervisor

Fname Minit Lname

Name SexAddress

SalarySsn

Bdate

Number Of Employees

Name

NumberLocations

Name

NumberLocation

RelationshipBirthdateSexName Can you translate it back into English?

Page 46: Chapter2

LİMİTATİONS OF ER MODEL Consider representing Part-time and Full-time

employees in the company database: Either you have two entity types will lots of

similarity Or you have a single entity type with redundancy

for most of the entities within it ER model is extended to support other

features such as generalization

46

Page 47: Chapter2

REDUCTİON OF AN E-R SCHEMA TO TABLES

Primary keys allow entity sets and relationship sets to be expressed uniformly as tables which represent the contents of the database.

A database which conforms to an E-R diagram can be represented by a collection of tables. Always!

Converting an E-R diagram to a table format is the basis for deriving a relational database design from an E-R diagram. 47

Page 48: Chapter2

REPRESENTİNG ENTİTY SETS AS TABLES

48

Composite key

• A weak entity set becomes a table that includes a column for the primary key of the identifying strong entity set

• A strong/regular entity set reduces to a table with the same attributes.

payment loan-no payment-datepayment-no payment-amount

L-17

L-15

L-23

5

22

11

10 May 1999

23 May 1999

17 May 1999

50

300

75

customer customer-name customer-streetcustomer-id

Jones

Hayes

Smith

321-12-3123

677-89-9011

019-28-3746

Main

Main

North

customer-city

Harrison

Rye

Harrison

Page 49: Chapter2

REPRESENTİNG RELATİONSHİP SETS AS TABLES

49

cust-no loan-no share%

…. …. ….

depositor

•A many-to-many relationship set is represented as table with columns for the primary keys of the two participating entity sets, and any descriptive attributes of the relationship set.

customer borrow loan

loan-nocust-no share%

date

cust-name

Page 50: Chapter2

For 1:N and 1:1 relationships, you can create a table for each relationship

But it is more concise to merge the relationship-table with the entity-table on the “N” side

50

customer

cust-no cust-name

A12345

B56789

Peter Wong

Mary Cheung loan

loan-no L-001

L-002

date

Sep 2000

Aug 2001

customer borrow loan

cust-nocust-name

date

loan-no

cust-no

A12345

B56789

indicates who borrowed the

loan

Page 51: Chapter2

WEAK ENTİTİESSince a weak entity has to include the primary key

of the identifying entity, the 1:N relationship is already captured. E.g., The payment table already contains information about the Loan (I.e., loan_no)

51

Already indicates the1:N relationship

between loan-no and payment-no

payment loan-no payment-datepayment-no payment-amount

L-17

L-17

L-17

5

7

6

10 May 1999

23 May 1999

17 May 1999

50

300

75