Vous êtes sur la page 1sur 35

Conceptual Modeling with ER Diagrams

Peter Chen introduced ER Diagrams

E-R Modeling
E-R Modeling is a design methodology for modeling the
Entities Relationships

using a diagram with specified shapes for entities, relationships, roles of entities in these relationships, and cardinality.

E-R Diagram Conventions


Symbol Meaning

Entity Type

Weak Entity Type Relationship

Identifying Relationship

Attribute

ER-Diagram Conventions - CONTINUED

Symbol

Meaning Key Attribute

Multivalued Attribute

Composite Attribute

Entities, Relationships and Attributes

A entity is a object or event which needs to be tracked. Attributes characterize entity sets and relationships. Relationships relate two entity sets
Employee SSNum Name

Employee Name

Assigned Date

Project

Payroll Application
A contractor does custom work (projects). He keeps track of employee time for each project. Besides materials, the customer is charged by invoice for employee time on his job. To keep track of employee time, the employee submits a time sheet with entries of project number, hours, description. These are entered into the system along with the employee ID. The hourly rate for the employee is used for each entry to generate a labor charge. The labor charges are totaled for each project and used as a basis for the customer invoice.

Understanding the Requirements


Conference Management End Users

Analysts

Management know high level business rules End users have used paper system or previous software system and have expectations Analysts have understanding of what can / cannot be done and must requirements into system

ER Diagrams for Payroll


Step 1. Identify the Entity Sets with Attributes
Customers : Name, Address,Phone,CustID Projects : Name,Description,ProjID,Total,CustID Employees : Name,SSNo,PayRate,EmpID LaborCharges : EmpID,ProjID,Description,Hours,Amount

ER Diagrams for Payroll


Step 1. Identify Relationships between Entity Sets with any Attributes
Customers Has Project Project is Weak Entity Set Employee Works_On Project Employee Has_Labor_Charge For Project Labor_Charge is Weak Entity Set

E-R Modeling

Entity Sets, Attributes, Relationships


Racquet Club Example

A Racquet Club has members with one year or two year contracts. Members pay contract amount up front, quarterly, or monthly. Members may reserve a court for the next day.

E-R Modeling Entity Sets, Attributes, Relationships Racquet Club Example Continued Entity Sets Members : Name, Start, Contract_Amount, Contract_Period, Initial_Balance, Member_ID Payments : PayerID, Amount, Paid_Date, Payment_ID Reservations : Member_ID, CourtNumber, Hour Relations :
Member - Makes Payment Member - Makes - Reservation

Data Modeling Racquet Club Example

Keys, Cardinality Constraints and Participation Constraints


A key of a relation is a minimal set of attributes and roles which uniquely determine each entity. A cardinality constraint m..n constrains the number of times a single entity can participate in a role of a relationship : m <= times <= n. A participation constraint ensures that an entity will particpate at least this many times.

ER-Diagram Cardinality Conventions


Symbol Meaning Calculated Attribute

Cardinality Constraints

and

Participation Constraints

0 .. *

0 .. 1

1 .. *

1 .. 1

Cardinality and Participation in the E-R model.

1 .. 2 means that at least 1 d must participate in the A relation with C and that not more that 2 ds can participate. If A is represented by a table, then there is at least one row and not more than 2 rows with a single c value.

Many-to-one, one-to-one, and many-to-many correspondences

Cardinality & Participation Constraints

Library Circulation Motel/Hotel Video Store Employment Company

Cardinality & Participation Constraints

Library Circulation Motel/Hotel Video Store Employment Company

Book is_checked_out to Patron Customer rents a room Customer rents a video Applicant is hired for a job

Example of an E-R diagram with an ISA hierarchy.

Using IsA for data partitioning.

New York Customer

Pennsylvania Customer

Participation Constraints
A participation constraint is a lower bound on the number of times an entity can particpate in a relation. Examples: An employee belongs to ONE department. This is a participation and a cardinality constraint 1 .. 1.
Employee 0 .. * 0 .. 1 1 .. * 1 .. 1 Department

Participation constraints.

Relationship Types Two Entity Set Relations


An employee is assigned to at least one project (participation)

Employee

Assigned To Num-Hours

Project

A customer will pay for at least one project Customer Will Pay For Project

Fixed-Cost

Relationship Types One & Three Entity Set Relations

One Set : ReportsTo( SupID, SubID )


subordinate

Employee
supervisor

Reports_To

Three Sets : Sale( ProdID, CustID,SuppID;Date)


Customer
Date

Sold

Product Price

Supplier

ER Diagrams for Payroll


Name Customer Address Has Name Projects ProjID CustID CustID Phone

Description

Total

ER Diagrams for Payroll Name Employee SSNo Has Year TimeSheet

PayRate

EmpID

EmpID

Month

TSID Has TSID Has TSID Labor Charges PayCheck

...
Amount

...
NetPay

The IS-A Relationship


Name Employee SSNo

Is-A

Salaried Employee

disjoint

Hourly Employee

Salary

PayRate

Construct an ER Diagram
Lawn Furniture Manufacturer Stores Information for Catalog of products and parts Stores Information for Manufacturing, including quantity on hand Identify product entities (picnic table and lawn chair) with attributes Identify relationships IsA and PartOf

The Part-Of Relationship


OutDoorProducts IsA Lawn_Chair

Picnic_Table

ProdNo Part_Of

Price

Price

ProdNo

Top

Base Price

Seats ProdNo Quantity

From E-R Diagrams to Relational Database Schema


Converting entities into relations (tables)
Each entity becomes a relation Each attribute of the entity becomes an attribute of that relation (column) If attributes K1 ... Kn form a key of the entity, then K1 ... Kn form a candidate key of the relation.

From ER Diagrams to Relational Database Schema


Translating Entities
Name Type HireDate Employee SSNo Termination

Create Table Employee ( Name char(20), Type char(1), HireDate date, Termination date, SSNo char(9), Primary Key (SSNo) )

From E-R Diagrams to Relational Database Schema


Representing relationships in the database schema
R is a relationship between entity set A and weak entity set B
A becomes a relation with primary key K and B+K becomes a relation with K being a foreign key e.g. employees and dependents

R is a relationship between entity sets A,B and C


A,B and C become relations with KA , KB , and Kc as keys. R becomes a relation with foreign keys KA , KB , and Kc

From ER Diagrams to Relational Database Schema


Translating Relationships
Customer
SaleDate

SaleID Product Price

Sold

Supplier

Create Table Sold ( SaleDate Date, Price Currency, SaleID autonumber, Customer Integer, Supplier Integer, Product Integer, Primary Key (SaleID), Foreign Key ( Customer ) References Customers( CustID), Foreign Key ( Supplier ) References Suppliers( SuppID ), Foreign Key ( Product ) References Products ProdID ) )

Translate into Schema


Name Employee SSNo

Is-A

Salaried Employee

disjoint

Hourly Employee

Salary

PayRate

Translate Into Schema


OutDoorProducts IsA Lawn_Chair

Picnic_Table

ProdNo Part_Of

Price

Price

ProdNo

Top

Base Price

Seats ProdNo Quantity

Vous aimerez peut-être aussi