• No results found

The Entity-Relationship Model

N/A
N/A
Protected

Academic year: 2021

Share "The Entity-Relationship Model"

Copied!
6
0
0

Loading.... (view fulltext now)

Full text

(1)

Database Management Systems, R. Ramakrishnan and Johannes Gehrke

The Entity-Relationship Model

Database Management Systems, R. Ramakrishnan and Johannes Gehrke

Overview of Database Design

 Requirements analysis

 Conceptual design  data model

 Logical design

 Schema refinement: Normalization

 Physical tuning

Database Management Systems, R. Ramakrishnan and Johannes Gehrke

Conceptual Design

 Conceptual design: (ER Model is used at this stage.)

 What are the entitiesand relationshipsin the enterprise?

 What information about these entities and relationships should we store in the database?

 What are the integrity constraints or business rules that hold?

 A database `schema’ in the ER Model can be represented pictorially (ER diagrams).

 Can map an ER diagram into a relational schema.

Database Management Systems, R. Ramakrishnan and Johannes Gehrke

Entities

Employees

ssn name

lot

(2)

Database Management Systems, R. Ramakrishnan and Johannes Gehrke

ER Model Basics

 Entity: Real-world object distinguishable from other objects. An entity is

described (in DB) using a set of attributes

 Entity Set: A collection of similar entities.

E.g., all employees

 All entities in an entity set have the same set of attributes

 Each entity set has a key

 Each attribute has a domain

Database Management Systems, R. Ramakrishnan and Johannes Gehrke

Relationships

lot

dname budget did

name

Departments Employees

ssn

since

Works_In

Database Management Systems, R. Ramakrishnan and Johannes Gehrke

ER Model Basics (Contd.)

 Relationship: Association among two or more entities.

E.g., Attishoo works in Pharmacy department.

 Relationship Set: Collection of similar relationships.

 An n-ary relationship set R relates n entity sets E1 ... En

 Each relationship in R involves entities e1 in E1, ..., en in En

Database Management Systems, R. Ramakrishnan and Johannes Gehrke

Relationships (Contd.)

lot name

Employees ssn

Reports_To subor- dinate super-

visor

 Want to capture supervisor-subordinate relationship

(3)

Database Management Systems, R. Ramakrishnan and Johannes Gehrke

Relationships (Contd.)

name

Suppliers id

 Want to capture information that a Supplier s supplies Part p to Department d

name

Departments id name

Parts id

Database Management Systems, R. Ramakrishnan and Johannes Gehrke

Ternary Relationship

name

Suppliers

id name

Departments id name

Parts id

Contract

Database Management Systems, R. Ramakrishnan and Johannes Gehrke

How are these different?

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

Database Management Systems, R. Ramakrishnan and Johannes Gehrke

Key Constraints

 An employee can work in many departments; a dept can have many employees

 Each dept has at most one manager, according to the key constrainton Manages.

dname budget did

since

lot name ssn

Manages

Employees Departments

lot

dname budget did

name

Departments Employees

ssn

since

Works_In

(4)

Database Management Systems, R. Ramakrishnan and Johannes Gehrke

Key Constraints: Examples

 Example Scenario 1: An inventory database contains information about parts and manufacturers. Each part is constructed by exactly one manufacturer.

 Example Scenario 2: A customer database contains information about customers and sales persons. Each customer has exactly one primary sales person.

 What do the ER diagrams look like?

Database Management Systems, R. Ramakrishnan and Johannes Gehrke

Participation Constraints

 An employee can work in many departments; a dept can have many employees

 Each employee works in at least one department according to the participation constrainton Works_In

lot

dname budget did

name

Departments Employees

ssn

since

Works_In

lot

dname budget did

name

Departments Employees

ssn

since

Works_In

Database Management Systems, R. Ramakrishnan and Johannes Gehrke

Participation Constraints: Examples

 Example Scenario 1 (Contd.): Each part is constructed by exactly one or more manufacturer.

 Example Scenario 2: Each customer has exactly one primary sales person.

Database Management Systems, R. Ramakrishnan and Johannes Gehrke

Exercise: What does this mean?

lot

name dname

budget did

since

name dname

budget did

since

Manages

since

Departments Employees

ssn

Works_In

(5)

Database Management Systems, R. Ramakrishnan and Johannes Gehrke

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

Database Management Systems, R. Ramakrishnan and Johannes Gehrke

ISA (`is a’) Hierarchies

Contract_Emps name

ssn

Employees lot

hourly_wages

ISA

Hourly_Emps

contractid hours_worked

As in C++, or other PLs, attributes are inherited.

If we declare A ISAB, every A entity is also considered to be a B entity.

 Overlap constraints: Can Joe be an Hourly_Emps as well as a Contract_Emps entity? (Allowed/disallowed)

 Covering constraints: Does every Employees entity also have to be an Hourly_Emps or a Contract_Emps entity?

(Yes/no)

 Reasons for using ISA:

 To add descriptive attributes specific to a subclass.

 To identify entities that participate in a relationship.

Database Management Systems, R. Ramakrishnan and Johannes Gehrke

Aggregation

 Used when we have to model a relationship involving (entitity sets and) a relationship set.

 Aggregationallows 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 pid did

started_on pbudget

dname until

Departments Projects Sponsors

Employees

Monitors lot name ssn

since

Database Management Systems, R. Ramakrishnan and Johannes Gehrke

Class Exercise

 Give two real-life examples where each of the following would occur:

A key constraint

A participation constraint

A weak entity set

(6)

Database Management Systems, R. Ramakrishnan and Johannes Gehrke

Class Exercise

 Draw ER diagram for a database used to manage SI440 class (at least 3 entities)

Specify entities, attributes, identifiers

Specify relationships

Specify constraints

Database Management Systems, R. Ramakrishnan and Johannes Gehrke

Class Exercise

 Drugwarehouse.com has offered you a free life- time supply of prescription drugs (no questions asked) if you design its database schema. Given the rising cost of health care, you agree. Here is the information that you gathered:

 Patients are identified by their SSN, and we also store their names and age

 Doctors are identified by their SSN, and we also store their names and specialty

 Each patient has one primary care physician

 Each doctor has at least one patient

Database Management Systems, R. Ramakrishnan and Johannes Gehrke

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.

Database Management Systems, R. Ramakrishnan and Johannes Gehrke

Summary of Conceptual Design

 Conceptual design follows requirements analysis

 ER model popular for conceptual design

 Basic constructs: entities, relationships, and attributes

 Some additional constructs: weak entities, ISA hierarchies, and aggregation.

 Note: There are many variations on ER model.

References

Related documents

• Total participation (indicated by double line): every entity in the entity set participates in at least one relationship in the relationship set.

 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

 For our example, we treat the relationship set work and the entity sets employee and project as a higher-level. entity set

 Entities that must participate in a relationship with another entity type and with cardinality constraint of 1 might be better modelled as weak

➲ In some cases, a ternary relationship can be represented as a weak entity if the data model allows a weak entity type to have multiple identifying relationships (and hence

– cardinality ratio specifies the number of relationship instances that an entity can participate in (one-to-one, one-to-many, many-to-many) – participation constraint specifies

• Weak entity set and identifying relationship set are translated into a single table. – When the owner entity is deleted, all owned weak entities must also

§ 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