database management systems mit 22033 lesson 02 – database design (entity relationship diagram) by...

32
Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

Upload: amberly-shaw

Post on 05-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

Database Management SystemsMIT 22033

Lesson 02 – Database Design (Entity Relationship Diagram)

By S. Sabraz Nawaz

Page 2: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

ER - Model

• The entity-relationship (ER) data model allows us to describe the data involved in a real-world enterprise in terms of objects and their relationships and is widely used to develop an initial database design

Page 3: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (Entities)

• The two main constructs of the Entity-Relationship model are Entities & Relationships

• An entity is an object in the real world that is distinguishable from other objectso e.g. Lecturer, Student, Subject, etc.

• A collection of similar entities is called an entity seto e.g. Lecturers, Students, Subjects, etc. ENTITY

Page 4: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (Entities...)

Example, an employee in a company database.

EMPLOYEES

e1

e2

e3

e4

e5

e6

Employee Entity set

Page 5: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (Attribute)

• An entity is described using a set of attributeso e.g. Name, NIC, etc.

• All entities in an entity set have the same attribute

Attribute

Page 6: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (Attributes…)

Example: name, id, age & salary are attributes in EMPLOYEES entity

name

id

dob

salary

EMPLOYEES

e1

e2

e3

e4

e5

e6

Employee Entity set

salary

dob id

name

Page 7: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (Attributes…)

• The attributes are said to be composite if they can be split. Eg:- the entity Employee contains attribute 'name' which is a composite one

LastName FirstName

nameEMPLOYEES

Page 8: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (Attributes…)

• A multi-valued attribute of an entity is one which has multiple values. o Eg:- attribute phone numbers in employee entity.

first_name phonesurname

EMPLOYEES

Page 9: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (Attributes…)

• Some attributes that can be computed from other attributes are called derived attributes. o Eg:- age is derived from date of birth & current date

nameage

EMPLOYEES

dob

Page 10: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (Attributes… another sample)

Customers

Page 11: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (Domain)

• Each attribute in an entity set has domain; possible valueso e.g. Age attribute of an employee has possible integer values from 18-60

Page 12: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

• A Key is a minimal set of attributes whose values uniquely identify an entity in the set

E-R Model (Keys)

e1

e2

e3

e4

e5

e6

…Employee Entity set

salary

dob id

name

Page 13: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (Keys...)

• A candidate key is a combination of attributes that can be uniquely used to identify a database record

• If a table has one or more candidate keys, one of these candidate keys is selected as the table primary key and the rest are called alternate keys

• Primary key is underlinedEMPLOYEES

id

Page 14: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (Keys...)

• A key formed by combining at least two or more columns is called composite key

• Always, the minimal set of attributes are considered for the key.

• Therefore,

A key is a minimal set of attributes whose values uniquely identify an entity in the set.

Page 15: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (Relationship)

• A relationship is an association among two or more entitieso Sanath works for MIS Departmento Thilan works for MIS Department

• A collection of similar relationships is called a relationship set

Page 16: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (Relationship…)

Graphically,

works in

EMPLOYEES DEPARTMENTS

Page 17: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (Relationship…)

• A relationship can also have descriptive attributes• These are used to record information about the relationship

o E.g. SaNa works for MIS Department frm November 2006. In the figure, this is captured by the since in Works_In

nic dob

Page 18: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (Relationship…)

An instance of a relationship set is the set of relationships

D1

D2

D3

111

222

333

444

EmployeesDepartments

Work_in

1/1/91

3/3/93

2/2/92

3/1/92

3/1/92

Page 19: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (contd.)

• Degree of a relationship is the number of participating entities in the relationship.

• A relationship of degree two is called a binary relationship (e.g. Works In)

• A relationship with degree three is called ternary.

Page 20: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (contd.)

Ternary relationship

D1

D2

D3

111

222

333

444

Employees

Departments

Work_in

L1

L2

L3

Locations

Page 21: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

works in

EMPLOYEES DEPARTMENTS

LOCATIONS

Ternary relationship

E-R Model (contd.)

Page 22: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (contd.)

Sometimes, relationships can also have attributes called descriptive attributes that record information about the relationship

works in

EMPLOYEES DEPARTMENTS

since

Page 23: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (contd.)

D1

D2

D3

111

222

333

444

EmployeesDepartments

Work_in

1/2/97

1/2/99

1/5/01

1/2/87

1/3/95

Page 24: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (contd.)

• The cardinality ratio for a binary relationship specifies the number of relationship instances that an entity can participate in.

• There are three types of cardinality ratios for binary relationships. They are one-to-one, one-to-many (many-to-one) and many-to-many.

Page 25: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (contd.)

For example, an employee works in at most one department. Graphically,

This is a one-to-many relationship

works in

EMPLOYEES DEPARTMENTS

Page 26: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (contd.)

One-to-One relationship

Example: An employee manages at most one department. A department can have only one manager managing it.

manages EMPLOYEES DEPARTMENTS

Page 27: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (contd.)

Many-to-many relationship

Example: An employee can work on several projects. A project can have many employees working on it.

works on

EMPLOYEES PROJECTS

Page 28: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (contd.)• Participating constraint specifies whether the existence of an

entity depends on its being related to another entity via the relationship type

• For example, if we specify that an employee must always work for a department. Then we say that the relationship “works in” is in total participation from Employee entity to Department entity

• If the relationship is not in total participation, then it is known as in partial.o For example, from DEPARTMENTS to EMPLOYEES

works in EMPLOYEES DEPARTMENTS

Page 29: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (contd.)

• Entity types without any key attributes is called weak entity types.

• A weak entity is uniquely identified by considering some of its attributes with the primary key of another entity called the identifying owner.

• The attributes in the weak entity participating in the key are called partial keys

• The owner entity and the weak entity participates in an identifying relationship.

• The cardinality of the identifying relationship is either one-to-one or one-to-many from owner entity to weak entity

• The weak entity must have total participation in the identifying relationship

Page 30: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (contd.)

Graphically (Weak Entity)

PolicyEMPLOYEE

name ageid

DEPENDENTS1 M

Page 31: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz

E-R Model (contd.)

• Entities participating in a relationship need not be distinct. Such relationships are called recursive relationships.

• Each entity in the relationship play a role in the relationship. It is recommended to state the role in recursive relationships.

manages

EMPLOYEES

supervisor subordinate

Page 32: Database Management Systems MIT 22033 Lesson 02 – Database Design (Entity Relationship Diagram) By S. Sabraz Nawaz

MIT 22033, By: S.Sabraz Nawaz 32

Reference:Ramakrishnan, R., & Gehrke, J. (2003). Database management systems. Osborne/McGraw-Hill. (Pp. 24 – 50)