Entity-Relationship Model. 2 Outline What is ER Model? And Why? Overview of Database Design...

54
Entity-Relationship Model

Transcript of Entity-Relationship Model. 2 Outline What is ER Model? And Why? Overview of Database Design...

Page 1: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

Entity-Relationship Model

Page 2: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

2

Outline

What is ER Model? And Why? Overview of Database Design Process Example COMPANY Database ER Model Concepts ER Diagram Alternative Diagrammatic Notations Problems with ER Models Reading Suggestion:

• [1]: Chapter 3• [2]: Chapter 11• A. Badia: ”Entity-Relationship Modeling Revisited”,

SIGMOD Record, 33(1), March 2004, 77-82

Page 3: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

3

What is ER Model? And Why?

Database Approach: where is ER modeling?

External Schema 1

External Schema 2

External Schema N

Internal Schema

Interface between conceptual schema and internal schema

Interface between conceptual schema and

external schemas

Conceptual Schema

Database physically stored in files on disks

Page 4: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

4

What is ER Model? And Why?

ER model is a logical organisation of data within a database system

ER model technique is based on relational data model Why use ER data modelling:

• User requirements can be specified formally & unambiguously• The conceptual data model is independent of any particular DBMS• It does not involve any physical or implemental details• It can be easily understood by ordinary users.• It provides an effective bridge between informal user requirements

and logical database design and implementation

Page 5: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

5

Overview of Database Design Process

Two main activities:• Database design• Applications design

Focus in this chapter on database design• To design the conceptual schema for a database

application

Applications design focuses on the programs and interfaces that access the database• Generally considered part of software engineering

Page 6: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

6

Overview of Database Design Process

Page 7: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

7

Outline

What is ER Model? And Why?What is ER Model? And Why? Overview of Database Design ProcessOverview of Database Design Process Example COMPANY Database ER Model Concepts ER Diagram Alternative Diagrammatic Notations Problems with ER Models Reading Suggestion:

• [1]: Chapter 3• [2]: Chapter 11• A. Badia: ”Entity-Relationship Modeling Revisited”,

SIGMOD Record, 33(1), March 2004, 77-82

Page 8: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

8

Example COMPANY Database

Requirements of the Company (oversimplified for illustrative purposes)• The company is organized into DEPARTMENTs. Each

department has a name, number and an employee who manages the department. We keep track of the start date of the department manager

• Each department controls a number of PROJECTs. Each project has a name, number and is located at a single location

Page 9: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

9

Example COMPANY Database

Requirements of the Company (oversimplified for illustrative purposes)• We store each EMPLOYEE’s social security number,

address, salary, sex, and birthdate. Each employee works for one department but may work on several projects. We keep track of the number of hours per week that an employee currently works on each project. We also keep track of the direct supervisor of each employee

• Each employee may have a number of DEPENDENTs. For each dependent, we keep track of their name, sex, birthdate, and relationship to employee

Page 10: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

10

Example COMPANY Database

Page 11: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

11

ER Model Concepts

Entities and Attributes• Entities are specific objects or things in the mini-world that

are represented in the database→E.g., the EMPLOYEE John Smith, the Research DEPARTMENT,

the ProductX PROJECT, etc.• Attributes are properties used to describe an entity

→E.g., an EMPLOYEE entity may have a Name, SSN, Address, Sex, BirthDate

• A specific entity will have a value for each of its attributes→E.g., a specific employee entity may have Name='John Smith',

SSN='123456789', Address ='731, Fondren, Houston, TX', Sex='M', BirthDate='09-JAN-55‘

• Each attribute has a value set (or data type) associated with it

→E.g., integer, string, subrange, enumerated type, etc.

Page 12: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

12

ER Model Concepts

Types of Attributes• Simple

→Each entity has a single atomic value for the attribute. For example, SSN or Sex

• Composite→The attribute may be composed of several components. For

example, Address (Apt#, House#, Street, City, State, ZipCode, Country) or Name (FirstName, MiddleName, LastName). Composition may form a hierarchy where some components are themselves composite

• Multi-valued→An entity may have multiple values for that attribute. For example,

Color of a CAR or PreviousDegrees of a STUDENT. Denoted as {Color} or {PreviousDegrees}

Page 13: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

13

ER Model Concepts

Types of Attributes• In general, composite and multi-valued attributes may be

nested arbitrarily to any number of levels although this is rare

→E.g., PreviousDegrees of a STUDENT is a composite multi-valued attribute denoted by

{ PreviousDegrees (College, Year, Degree, Field) }

• Derived Attribute→Attribute that represents a value that is derivable from value of a

related attribute, or set of attributes, not necessarily in the same entity type

Page 14: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

14

Example COMPANY Database

Page 15: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

15

ER Model Concepts

Entity Types and Key Attributes• Entities with the same basic attributes are grouped or

typed into an entity type. For example, the EMPLOYEE entity type or the PROJECT entity type

• An attribute of an entity type for which each entity must have a unique value is called a key attribute of the entity type. For example, SSN of EMPLOYEE

• A key attribute may be composite. For example, VehicleTagNumber is a key of the CAR entity type with components (Number, State)

• An entity type may have more than one key. For example, the CAR entity type may have two keys:

→VehicleIdentificationNumber (popularly called VIN) and→VehicleTagNumber (Number, State), also known as license_plate

number

Page 16: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

16

Entity Type CAR with two keys and a corresponding Entity Set

Page 17: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

17

ER Model Concepts

Relationships and Relationship Types• A relationship relates two or more distinct entities with a

specific meaning. For example, EMPLOYEE John Smith works on the ProductX PROJECT or EMPLOYEE Franklin Wong manages the Research DEPARTMENT

• Relationships of the same type are grouped or typed into a relationship type. For example, the WORKS_FOR relationship type in which EMPLOYEEs & DEPARTMENTs participate, or the MANAGES relationship type in which EMPLOYEEs & DEPARTMENTs participate

• The degree of a relationship type is the number of participating entity types. Both MANAGES and WORKS_ON are binary relationships

Page 18: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

18

Example COMPANY Database

Page 19: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

19

Example relationship instances

Page 20: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

20

ER Model Concepts

Relationships and Relationship Types• More than one relationship type can exist with the same

participating entity types. For example, MANAGES and WORKS_FOR are distinct relationships between EMPLOYEE and DEPARTMENT, but with different meanings and different relationship instances

Page 21: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

21

Summary of the Notation for ER Diagrams

Page 22: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

22

Example COMPANY Database

Page 23: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

23

ER Model Concepts

Attributes of Relationship Types:• A relationship type can have attributes; for example,

HoursPerWeek of WORKS_ON; its value for each relationship instance describes the number of hours per week that an EMPLOYEE works on a PROJECT

Page 24: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

24

ER Model Concepts

Weak Entity Types• An entity that does not have a key attribute• A weak entity must participate in an identifying

relationship type with an owner or identifying entity type• Entities are identified by the combination of:

→A partial key of the weak entity type→The particular entity they are related to in the identifying entity

type• Example: Suppose that a DEPENDENT entity is identified

by the dependent’s first name (unique wrt. each EMPLOYEE), and the specific EMPLOYEE that the dependent is related to. DEPENDENT is a weak entity type with EMPLOYEE as its identifying entity type via the identifying relationship type DEPENDENT_OF

Page 25: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

25

Example COMPANY Database

Page 26: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

26

ER Model Concepts

Structural constraints: one way to express semantics of relationship: cardinality ratio and membership class

Cardinality ratio (functionality): It specifies the number of relationship instances that an entity can participate in a binary relationship• one-to-one (1:1) • one-to-many (1:M) or many-to-one (M:1)• many-to-many (M:N)

An example of a 1:1 binary relationship is MANAGES which relates a department entity to the employee who manages that department. This represents the miniworld constraints that an employee can manage only one department and that a department has only one manager

Relationship types of degree 2 are called binary. Relationship types of degree 3 are called ternary and of degree n are called n-ary. In general, an n-ary relationship is not equivalent to n binary relationships (reading suggestion !!)

Page 27: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

27

One-to-many (1:N) or Many-to-one (N:1) RELATIONSHIP

e1

e2

e3

e4

e5

e6

e7

EMPLOYEE

r1

r2

r3

r4

r5

r6

r7

WORKS_FOR

d1

d2

d3

DEPARTMENT

Page 28: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

28

Many-to-many (M:N) RELATIONSHIP

e1

e2

e3

e4

e5

e6

e7

r1

r2

r3

r4

r5

r6

r7

p1

p2

p3

r8

r9

EMPLOYEE WORKS_ON PROJECT

Page 29: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

29

ER Model Concepts

Membership class (participation constraint):• Mandatory (total participation) - every instance of a participating

entity type must participate in the relationship. Example: ATTEND relationship between STUDENTS and COURSE

• Optional (partial participation) - not every instance of a participating entity type must participate in the relationship. Example: OFFER relationship between SCHOOL and MODULE is optional for SCHOOL but mandatory for MODULE

Notation:• Cardinality ratio (of a binary relationship): 1:1, 1:N, N:1, or M:N

SHOWN BY PLACING APPROPRIATE NUMBER ON THE LINK

• Participation constraint (on each participating entity type): total (called existence dependency) or partial.IN ER DIAGRAMS, TOTAL PARTICIPATION IS DISPLAYED AS A DOUBLE LINE CONNECTING THE PARTICIPATING ENTITY TYPE TO THE RELATIONSHIP, WHEREAS PARTIAL PARTICIPATION IS

REPRESENTED BY A SINGLE LINE

Page 30: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

30

Example COMPANY Database

Page 31: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

31

ER Model Concepts

Recursive relationships (involuted relationship): relationship among different instances of the same entity

PERSON MARRY

1

1

EMPLOYEE SUPERVISE

N

1

PART COMPRISE

M

N

Page 32: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

32

ER Model Concepts

Recursive relationships: • Both participations are same entity type in different roles• For example, SUPERVISION relationships between

EMPLOYEE (in role of supervisor or boss) and (another) EMPLOYEE (in role of subordinate or worker)

• In following figure, first role participation labeled with 1 and second role participation labeled with 2

• In ER diagram, need to display role names to distinguish participations

Page 33: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

33

A Recursive Relationship SUPERVISION

e1

e2

e3

e4

e5

e6

e7

EMPLOYEE

r1

r2

r3

r4

r5

r6

SUPERVISION

21

1 2

2

1

1

1

2

1

2

2

Page 34: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

34

Example COMPANY Database

Page 35: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

35

ER Diagram

An ER model can be expressed in the form of the ER diagram• An entity type is represented by a rectangular box• A relationship is represented by a diamond-shaped box• Relationships are linked to their constituent entity types by

arcs• The functionality of a relationship is indicated on the arc• Attributes of entity types/relationships, and membership

classes of entity types are listed separately from the diagram

• The key attribute(s) is underlined

Page 36: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

36

ER DiagramExample University Database

Example: The university database maintains records of its departments, lecturers, course modules, and students

The requirements are summarised as follows:• The university consists of departments. Each department has a

unique name and some other descriptive attributes• A department must also have a number of lecturers, one of which is

the head of department• All lecturers have different names (we assume so anyway). They

must teach one or more modules. A lecturer can only belong to one department

• Modules are offered by departments and taught by lecturers. They must also be attended by some students. Each module has a unique module number

• Students must enrol for a number of modules. Each student is given a unique student number

Page 37: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

37

ER DiagramExample University Database

OFFER

DEPARTMENT

MODULE LECTURER

HEAD_OF IS_IN

TEACH

1 1

1

N

M

1 N

1

STUDENT

N

M

ENROL

Incomplete ER diagram:

Page 38: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

38

ER DiagramExample University Database

Entity types and their attributes:• DEPARTMENT: DNAME, LOCATION, FACULTY, …

• MODULE: MDL-NUMBER, TITLE, TERM, …

• STUDENT: SNUMBER,SNAME,ADDRESS,SEX,DOB, …

• LECTURER: LNAME, ROOMNUMBER, PHONE, ...

Page 39: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

39

ER DiagramExample University Database

Relationships:• HEAD_OF:

→1:1 between LECTURER and DEPARTMENT→Membership: Mandatory for DEPARTMENT

• IS_IN:→ 1:N between DEPARTMENT and LECTURER→ Membership: Mandatory for both

• OFFER:→ 1:N between DEPARTMENT and MODULE→ Membership: Mandatory for MODULE

• ENROL:→ M:N between STUDENT and MODULE→ Membership: Mandatory for both→ Attribute: DATE (date of enrolment)

• TEACH:→ 1:M between LECTURER and MODULE→ Membership: Mandatory for both

Homework: Do complete the ER Diagram !!

Page 40: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

40

ER Diagram(min, max) notation for relationship structural constraints

Specified on each participation of an entity type E in a relationship type R

Specifies that each entity e in E participates in at least min and at most max relationship instances in R

Default(no constraint): min=0, max=n Must have minmax, min0, max 1 Derived from the knowledge of mini-world constraints Examples:

• A department has exactly one manager and an employee can manage at most one department

→Specify (0,1) for participation of EMPLOYEE in MANAGES→Specify (1,1) for participation of DEPARTMENT in MANAGES

• An employee can work for exactly one department but a department must have at least 4 employees

→Specify (1,1) for participation of EMPLOYEE in WORKS_FOR→Specify (4,n) for participation of DEPARTMENT in WORKS_FOR

Page 41: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

41

ER Diagram(min, max) notation for relationship structural constraints

(1,1)(0,1)

(4,N)(1,1)

Page 42: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

42

ER diagrams for the COMPANY schema, with structural constraints specified using (min, max) notation

Page 43: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

43

Alternative Diagrammatic Notations

Current use (in this class): • Chen notation

Some others: • Crow’s Feet notation• UML (Unified Modeling Language): Rational Rose

Page 44: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

44

Alternative Diagrammatic NotationsSymbols for entity type / class, attribute and relationship

Displaying attributes

Displaying cardinality ratios

Various (min, max) notations

Notations for displaying specialization / generalization

Page 45: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

45

The COMPANY conceptual schema in UML class diagram notation.

Page 46: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

46

Problems with ER Models

Problems may arise when designing a conceptual data model called connection traps

Often due to a misinterpretation of the meaning of certain relationships

Two main types of connection traps are called fan traps and chasm traps

Page 47: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

47

Problems with ER Models

Fan Trap• Where a model represents a relationship between entity

types, but pathway between certain entity occurrences is ambiguous

• Usually: two or more 1:N relationships fan out from the same entity

Chasm Trap• Where a model suggests the existence of a relationship

between entity types, but pathway does not exist between certain entity occurrences

• Usually: optional participation

Page 48: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

48

An Example of a Fan Trap

At which branch office does staff number SG37 work?

Page 49: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

49

Restructuring ER model to remove Fan Trap

SG37 works at branch B003

Page 50: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

50

An Example of a Chasm Trap

At which branch office is property PA14 available?

Page 51: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

ER Model restructured to remove Chasm Trap

Page 52: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

52

ER Model restructured to remove Chasm Trap

Page 53: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

53

Summary

What is ER Model? And Why? Overview of Database Design Process Example COMPANY Database ER Model Concepts ER Diagram Alternative Diagrammatic Notations (UML) Problems with ER Models Next week:

• EER• Reading:

→[1] Chapter 4→[2] Chapter 12

Page 54: Entity-Relationship Model. 2 Outline  What is ER Model? And Why?  Overview of Database Design Process  Example COMPANY Database  ER Model Concepts.

54

Q&A