Entity relationship model. (Lecture 1) презентация

Содержание

Слайд 2

Think before doing it! Like most of the software projects,

Think before doing it!

Like most of the software projects, you need

to think before you do something.
Before developing your database application, you need to collect the requirements, and build a conceptual model.
ER model is a widely accepted standard for conceptual DB design.
Слайд 3

AN Entity Relationship (ER) Diagram Looks Like This

AN Entity Relationship (ER) Diagram Looks Like This

Слайд 4

ER Model Key concepts of ER model Entities Relationships Entity:

ER Model

Key concepts of ER model
Entities
Relationships
Entity:
Is an object that exists and

that can be distinguished from other objects

Samson

CS306

Daniel

Слайд 5

ER Model Entity Has attributes that describe it name address id

ER Model

Entity Has attributes that describe it

name

address

id

Слайд 6

ER Model Entity set: Is the set of entities that

ER Model

Entity set:
Is the set of entities that share the same

properties

Samson

Daniel

Levi

Dennis

Instructors

Courses

CS306

CS308

MATH204

Слайд 7

ER Model Entity sets may overlap Example? Employees Managers

ER Model

Entity sets may overlap
Example?

Employees

Managers

Слайд 8

ER Model Relationships: Relate two or more entities (such as Ali is enrolled in CS306)

ER Model

Relationships:
Relate two or more entities (such as Ali is enrolled

in CS306)
Слайд 9

ER Model Relationships: Relate two or more entities (such as

ER Model

Relationships:
Relate two or more entities (such as Serafettin is enrolled

in CS306)
Relationship sets:
Collection of all relationship sets with the same properties (all student enrollments)
Relationships may also have attributes
Слайд 10

ER Model Rectangles : Entity sets Ellipses : attributes student name sid

ER Model

Rectangles : Entity sets
Ellipses : attributes

student

name

sid

Слайд 11

ER Model Rectangles : Entity sets Ellipses : attributes student Course name sid cid cname

ER Model

Rectangles : Entity sets
Ellipses : attributes

student

Course

name

sid

cid

cname

Слайд 12

ER Model Rectangles : Entity sets Diamonds : Relationship Sets

ER Model

Rectangles : Entity sets
Diamonds : Relationship Sets
Ellipses : attributes

Enrolled

student

Course

name

sid

cid

cname

Слайд 13

ER Model Each entity set has attributes Each attribute has

ER Model

Each entity set has attributes
Each attribute has a domain

(domain is the set of permitted values)
Слайд 14

ER Model Each entity set has attributes Each attribute has

ER Model

Each entity set has attributes
Each attribute has a domain

(domain is the set of permitted values)
Each entity set has a key
Keys are denoted by underlining the attribute name in the ER diagram
Слайд 15

ER Model Relationship sets also have attributes ER Model Enrolled student Course name sid cid cname

ER Model

Relationship sets also have attributes

ER Model

Enrolled

student

Course

name

sid

cid

cname

Слайд 16

ER Model Relationship sets also have attributes We are going

ER Model

Relationship sets also have attributes
We are going to talk about

the key in a relationship set later on

ER Model

Enrolled

student

Course

name

semester

sid

cid

cname

Слайд 17

ER Model Degree of a relationship set is the number

ER Model

Degree of a relationship set is the number of entity

sets that participate in a relationship
Binary relationship sets involve two entity sets

ER Model

Enrolled

student

Course

name

semester

sid

cid

cname

Слайд 18

ER Model Ternary relationship sets involve three entity sets customer borrows loan branch

ER Model

Ternary relationship sets involve three entity sets

customer

borrows

loan

branch

Слайд 19

ER Model We may have relationships among the entities that

ER Model

We may have relationships among the entities that belong to

the same entity set
each entity has a role in such a relationship

student

name

sid

helps

students

Слайд 20

ER Model We may have relationships among the entities that

ER Model

We may have relationships among the entities that belong to

the same entity set
each entity has a role in such a relationship

student

name

sid

helps

tutor

tutee

Слайд 21

ER Model We may have relationships among the entities that

ER Model

We may have relationships among the entities that belong to

the same entity set (each entity has a role in such a relationship)
What is the degree of the following relationship set (2 or 1)?

student

name

sid

helps

tutor

tutee

Слайд 22

ER Model employer ename eid

ER Model

employer

ename

eid

Слайд 23

ER Model employer ename eid Reports_to

ER Model

employer

ename

eid

Reports_to

Слайд 24

ER Model employer ename eid Reports_to supervisor

ER Model

employer

ename

eid

Reports_to

supervisor

Слайд 25

ER Model employer ename eid Reports_to supervisor subordinate

ER Model

employer

ename

eid

Reports_to

supervisor

subordinate

Слайд 26

ER Model Ternary relationship sets customer loan branch

ER Model

Ternary relationship sets

customer

loan

branch

Слайд 27

ER Model Ternary relationship sets customer borrows loan branch

ER Model

Ternary relationship sets

customer

borrows

loan

branch

Слайд 28

Mapping cardinalities 1-to-1 One-to-One relationship (ex: marriage relationship set between husbands and wives)

Mapping cardinalities

1-to-1

One-to-One relationship (ex: marriage relationship set between husbands and wives)

Слайд 29

Mapping cardinalities 1-to-1 1-to Many One-to-One (ex: marriage relationship set between husbands and wifes) One-to-Many (example?)

Mapping cardinalities

1-to-1

1-to Many

One-to-One (ex: marriage relationship set between husbands and wifes)


One-to-Many (example?)
Слайд 30

Mapping cardinalities 1-to-1 1-to Many Many-to-1 One-to-One (ex: marriage relationship

Mapping cardinalities

1-to-1

1-to Many

Many-to-1

One-to-One (ex: marriage relationship set between husbands and wifes)
One-to-Many


Many-to-One
Слайд 31

Mapping cardinalities Many-to-Many 1-to-1 1-to Many Many-to-1 One-to-One (ex: marriage

Mapping cardinalities

Many-to-Many

1-to-1

1-to Many

Many-to-1

One-to-One (ex: marriage relationship set between husbands and wifes)
One-to-Many


Many-to-One
Many-to-Many
Слайд 32

Many-to-Many 1-to-1 1-to Many Many-to-1 Consider the works_in relationship If

Many-to-Many

1-to-1

1-to Many

Many-to-1

Consider the works_in relationship
If an employee can work in multiple

departments and a department can have multiple employees
What type of relationship is that?

dname

budget

did

since

name

Works_In

Departments

Employees

ssn

lot

Слайд 33

Many-to-Many 1-to-1 1-to Many Many-to-1 Consider the manages relationship If

Many-to-Many

1-to-1

1-to Many

Many-to-1

Consider the manages relationship
If an employee can manage multiple departments

but a department has only one manager
What type of relationship is that?
This is called a key constraint (denoted with an arrow)

dname

budget

did

since

name

Manages

Departments

Employees

ssn

lot

Слайд 34

Participation Constraints If every department MUST have a manager, then

Participation Constraints

If every department MUST have a manager, then there is

a participation constraint
The participation of Departments in Manages is total (otherwise it is partial).

lot

name

dname

budget

did

since

name

dname

budget

did

since

Manages

since

Departments

Employees

ssn

Works_In

Слайд 35

Participation Constraints If every department MUST have a manager, then

Participation Constraints

If every department MUST have a manager, then there is

a participation constraint
The participation of Departments in Manages is total (otherwise it is partial).
Participation constraints are denoted with a thick line (for example each department must participate in the manages relationship, therefore this is denoted with a thick line in the relationship)

lot

name

dname

budget

did

since

name

dname

budget

did

since

Manages

since

Departments

Employees

ssn

Works_In

Слайд 36

Participation Constraints If every employee MUST work in a department,

Participation Constraints

If every employee MUST work in a department, then there

is a participation constraint on employee entity set

lot

name

dname

budget

did

since

name

dname

budget

did

since

Manages

since

Departments

Employees

ssn

Works_In

Слайд 37

Participation Constraints Plus, if every department MUST have employee(s) working

Participation Constraints

Plus, if every department MUST have employee(s) working in that

department, then there is a participation constraint on department entity set

lot

name

dname

budget

did

since

name

dname

budget

did

since

Manages

since

Departments

Employees

ssn

Works_In

Слайд 38

ISA (`is a’) Hierarchies Contract_Emps name ssn Employees lot hourly_wages Hourly_Emps contractid hours_worked

ISA (`is a’) Hierarchies

Contract_Emps

name

ssn

Employees

lot

hourly_wages

Hourly_Emps

contractid

hours_worked

Слайд 39

ISA (`is a’) Hierarchies Contract_Emps name ssn Employees lot hourly_wages ISA Hourly_Emps contractid hours_worked

ISA (`is a’) Hierarchies

Contract_Emps

name

ssn

Employees

lot

hourly_wages

ISA

Hourly_Emps

contractid

hours_worked

Слайд 40

ISA (`is a’) Hierarchies Contract_Emps name ssn Employees lot hourly_wages

ISA (`is a’) Hierarchies

Contract_Emps

name

ssn

Employees

lot

hourly_wages

ISA

Hourly_Emps

contractid

hours_worked

Overlap constraints: Can Serafettin be an Hourly Employee

as well as a Contract Employee?
Covering constraints: Does every Employee also have to be an Hourly Employee or a Contract Employee?
Reasons for using ISA:
To add descriptive attributes specific to a subclass.
To identify entities that participate in a relationship.
Specialization vs. generalization
Слайд 41

Weak Entities A weak entity can be identified uniquely only

Weak Entities
A weak entity can be identified uniquely only by considering

the primary key of another (owner) entity.

lot

name

age

pname

Dependents

Employees

ssn

Policy

cost

Слайд 42

Weak Entities A weak entity can be identified uniquely only

Weak Entities

A weak entity can be identified uniquely only by considering

the primary key of another (owner) entity.
A weak entity set is denoted by a rectangle with thick lines

lot

name

age

pname

Dependents

Employees

ssn

Policy

cost

Слайд 43

Weak Entities A weak entity can be identified uniquely only

Weak Entities

A weak entity can be identified uniquely only by considering

the primary key of another (owner) entity.
A weak entity set is denoted by a rectangle with thick lines
The relationship between a week entity and the owner entity is denoted by a diamond with thick lines.

lot

name

age

pname

Dependents

Employees

ssn

Policy

cost

Слайд 44

Weak Entities A weak entity can be identified uniquely only

Weak Entities

A weak entity can be identified uniquely only by considering

the primary key of another (owner) entity.
What can you say about the constraints on the indentifying relationship? (i.e., participation and key constraints)

lot

name

age

pname

Dependents

Employees

ssn

Policy

cost

Слайд 45

Weak Entities A weak entity can be identified uniquely only

Weak Entities

A weak entity can be identified uniquely only by considering

the primary key of another (owner) entity.
Owner entity set and weak entity set must participate in a one-to-many relationship set (one owner, many weak entities).
Weak entity set must have total participation in this identifying relationship set.

lot

name

age

pname

Dependents

Employees

ssn

Policy

cost

Слайд 46

Aggregation Used when we have to model a relationship involving

Aggregation

Used when we have to model a relationship involving (entitity sets

and) a relationship set.
Aggregation allows us to treat a relationship set as an entity set for purposes of participation in (other) relationships.

Aggregation vs. ternary relationship:
Monitors is a distinct relationship,
with a descriptive attribute.
Also, can say that each sponsorship
is monitored by at most one employee.

budget

did

pid

started_on

pbudget

dname

until

Departments

Projects

Sponsors

Monitors

lot

name

ssn

since

Слайд 47

Example: Draw the ER diagram for the following specifications: There

Example:

Draw the ER diagram for the following specifications: There are conferences,

universities, and professors. Conferences have names (such as VLDB, ICDE, SIGMOD), and years they are organized. A conference can be organized in different years but a conference can not be organized more than once in a certain year. For example SIGMOD is organized in 2001, 2002, etc, but SIGMOD can not be organized twice in 2001.Universities have names and cities they are located, such as Sabanci Universiy located in Istanbul. Each conference at a specific year is organized by one university, but a university can organize many conferences. Each conference organized at a specific year has a list of PC (Program Committee) members which consists of professors associated with universities. Professors have names and SSNs. A professor is associated with one university, but a university may have many professors.
Слайд 48

Conceptual Design Using the ER Model Design choices: Should a

Conceptual Design Using the ER Model

Design choices:
Should a concept be modeled

as an entity or an attribute?
Should a concept be modeled as an entity or a relationship?
Identifying relationships: Binary or ternary? Aggregation?
Constraints in the ER Model:
A lot of data semantics can (and should) be captured.
But some constraints cannot be captured in ER diagrams.
Слайд 49

Entity vs. Attribute Should address be an attribute of Employees

Entity vs. Attribute

Should address be an attribute of Employees or an

entity (connected to Employees by a relationship)?
Depends upon the use we want to make of address information, and the semantics of the data:
If we have several addresses per employee, address must be an entity (since attributes cannot be set-valued).
If the structure (city, street, etc.) is important, e.g., we want to retrieve employees in a given city, address must be modeled as an entity (since attribute values are atomic).
Слайд 50

Entity vs. Attribute (Contd.) Works_In2 does not allow an employee

Entity vs. Attribute (Contd.)

Works_In2 does not allow an employee to work

in a department for two or more periods.
Similar to the problem of wanting to record several addresses for an employee: we want to record several values of the descriptive attributes for each instance of this relationship.

Works_In2

from

to

budget

Departments

name

Departments

ssn

lot

Employees

Works_In3

Слайд 51

Binary vs. Ternary Relationships If each policy is owned by

Binary vs. Ternary Relationships

If each policy is owned by just 1

employee:
Key constraint on Policies would mean policy can only cover 1 dependent!

age

pname

Dependents

Covers

age

pname

Dependents

Purchaser

Bad design

Better design

Слайд 52

Entity vs. Relationship First ER diagram OK if a manager

Entity vs. Relationship

First ER diagram OK if a manager gets a

separate discretionary budget for each dept.
What if a manager gets a discretionary budget that covers all managed depts?
Redundancy of dbudget, which is stored for each dept managed by the manager.
Misleading: suggests dbudget tied to managed dept.

Manages2

name

dname

budget

did

Employees

Departments

ssn

lot

dbudget

since

Слайд 53

Summary of Conceptual Design Conceptual design follows requirements analysis, Yields

Summary of Conceptual Design

Conceptual design follows requirements analysis,
Yields a high-level

description of data to be stored
ER model popular for conceptual design
Constructs are expressive, close to the way people think about their applications.
Basic constructs: entities, relationships, and attributes (of entities and relationships).
Some additional constructs: weak entities, ISA hierarchies, and aggregation.
Note: There are many variations on ER model.
Слайд 54

Summary of ER (Contd.) Several kinds of integrity constraints can

Summary of ER (Contd.)

Several kinds of integrity constraints can be expressed

in the ER model: key constraints, participation constraints, and overlap/covering constraints for ISA hierarchies. Some foreign key constraints are also implicit in the definition of a relationship set.
Some constraints (notably, functional dependencies) cannot be expressed in the ER model.
Constraints play an important role in determining the best database design for an enterprise.
Слайд 55

Summary of ER (Contd.) ER design is subjective. There are

Summary of ER (Contd.)

ER design is subjective. There are often many

ways to model a given scenario! Analyzing alternatives can be tricky, especially for a large enterprise. Common choices include:
Entity vs. attribute, entity vs. relationship, binary or n-ary relationship, whether or not to use ISA hierarchies, and whether or not to use aggregation.
Ensuring good database design: resulting relational schema should be analyzed and refined further. FD information and normalization techniques are especially useful.
Имя файла: Entity-relationship-model.-(Lecture-1).pptx
Количество просмотров: 36
Количество скачиваний: 0