58
LECTURE 1: Entity Relationship MODEL

LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

LECTURE 1: Entity Relationship MODEL

Page 2: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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.

Page 3: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

lot

name

age pname

Dependents Employees

ssn

Policy

cost

AN Entity Relationship (ER) Diagram Looks Like This

Page 4: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

ER Model

Key concepts of ER model Entities

Relationships

Entity: Is an object that exists and that can be distinguished from

other objects

Hümeyra

CS306

Ulak

Page 5: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

ER Model

Entity Has attributes that describe it

name address

id

Page 6: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

ER Model

Entity set:

Is the set of entities that share the same properties

Y. Saygın H. Yenigün

A.Levi E. Savaş

Instructors Courses

CS306

CS308

MATH204

Page 7: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

ER Model

Entity sets may overlap

Example?

Employees Managers

Page 8: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

ER Model

Relationships:

Relate two or more entities (such as Ali is enrolled in CS306)

Page 9: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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

Page 10: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

ER Model

Rectangles : Entity sets

Ellipses : attributes

student

name

sid

Page 11: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

ER Model

Rectangles : Entity sets

Ellipses : attributes

student Course

name

sid

cid

cname

Page 12: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

ER Model

Rectangles : Entity sets

Diamonds : Relationship Sets

Ellipses : attributes

Enrolled student Course

name

sid

cid

cname

Page 13: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

ER Model

Each entity set has attributes

Each attribute has a domain (domain is the set of permitted values)

student

name

sid

Page 14: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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

student

name

sid

Page 15: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

ER Model

Relationship sets also have attributes

ER Model

Enrolled student Course

name

sid

cid

cname

Page 16: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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

Page 17: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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

Page 18: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

ER Model

Ternary relationship sets involve three entity sets

customer borrows

loan

branch

Page 19: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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

Page 20: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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

Page 21: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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

Page 22: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

ER Model

employer ename eid

Page 23: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

ER Model

employer ename eid

Reports_to

Page 24: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

ER Model

employer ename eid

Reports_to

supervisor

Page 25: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

ER Model

employer ename eid

Reports_to

supervisor subordinate

Page 26: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

ER Model

Ternary relationship sets

customer

loan

branch

Page 27: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

ER Model

Ternary relationship sets

customer borrows

loan

branch

Page 28: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

Mapping cardinalities

1-to-1

One-to-One relationship (ex: marriage relationship set between

husbands and wives)

Page 29: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

Mapping cardinalities

1-to-1 1-to Many

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

One-to-Many (example?)

Page 30: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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

Page 31: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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

Page 32: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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

Page 33: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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

Page 34: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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

Page 35: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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

Page 36: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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

Page 37: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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

Page 38: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

ISA (`is a’) Hierarchies

Contract_Emps

name

ssn

Employees

lot

hourly_wages

Hourly_Emps

contractid

hours_worked

Page 39: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

ISA (`is a’) Hierarchies

Contract_Emps

name

ssn

Employees

lot

hourly_wages

ISA

Hourly_Emps

contractid

hours_worked

Page 40: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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

Page 41: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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

Page 42: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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

Page 43: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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

Page 44: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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

Page 45: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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

Page 46: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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

Employees

Monitors

lot name

ssn

since

Page 47: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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.

Page 48: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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.

Page 49: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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).

Page 50: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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.

name

Employees

ssn lot

Works_In2

from to

dname

budget did

Departments

dname

budget did name

Departments

ssn lot

Employees Works_In3

Duration from to

Page 51: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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

name

Employees

ssn lot

Policies

policyid cost

Beneficiary

age pname

Dependents

policyid cost

Policies

Purchaser

name

Employees

ssn lot

Bad design

Better design

Page 52: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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

Employees

since

name dname

budget did

Departments

ssn lot

Mgr_Appts

Manages3

dbudget

apptnum

Page 53: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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.

Page 54: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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.

Page 55: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

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.

Page 56: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

First Step of the project

Form your group

Choose your application (among the list in webCT or the application you chose)

Find an acronym for your project thinking the application in mind

Write a max 1 page description for your project.

Submit the project description through webCT

And the first step of your project is done (1% of your overall grade, due Feb 27)

Page 57: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

Second Step of the project

Think about the requirements of your application

Write down a list of entities of your application

Draw the ER diagram

Write down the constraints (key constraints, participation constraints etc)

Submit your work through sucourse

Second step of your project is done (1% of the overall grade, due 8th of March)

Page 58: LECTURE 1: Entity Relationship MODELpeople.sabanciuniv.edu/ysaygin/documents/lectures/CS306_Lecture_1.pdf · A weak entity can be identified uniquely only by considering the primary

Banks Database in Turkey (as ALS, siftah)

You are asked to design a database of banks in Turkey.

Now Lets think about the requirements

What are the entities in our database?

What are their attributes?

Draw the ER diagram!