Conceptual Modeling with ER Diagrams Peter Chen introduced ER Diagrams.
-
Upload
paul-walton -
Category
Documents
-
view
237 -
download
1
Transcript of Conceptual Modeling with ER Diagrams Peter Chen introduced ER Diagrams.
Conceptual Modelingwith 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
Employee
• A entity is a object or event which needs to be tracked. Attributes characterize entity sets and relationships. Relationships relate two entity sets
Employee ProjectAssigned
Name Date
SSNum
Name
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
Management
EndUsers
Analysts
Conference
• 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, RelationshipsRacquet 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 Participationin 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 d’s 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
Book is_checked_out to Patron
Motel/Hotel Customer rents a room
Video Store Customer rents a video
Employment Company
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 Department
0 .. *
0 .. 1
1 .. *
1 .. 1
Participation constraints.
Relationship Types – Two Entity Set Relations
A customer will pay for
at least one project
ProjectAssignedTo
Employee
Num-Hours
ProjectWill PayFor
Fixed-Cost
Customer
An employee is assigned to at least one project (participation)
Relationship Types – One & Three Entity Set Relations
One Set : ReportsTo( SupID, SubID )
Three Sets :
Sale( ProdID, CustID,SuppID;Date)
Employee Reports_To
subordinate
supervisor
Customer Product
Supplier
Sold
Date Price
ER Diagrams for Payroll
Customer
Name
Address
Phone
CustID
Projects
Name
Description
Total
CustID
ProjID
Has
ER Diagrams for Payroll
Employee
Name
SSNo
PayRate
EmpID
TimeSheet
Year
Month
EmpID
TSID
Has
PayCheck
Has
Labor Charges
Has
TSID
. . .
NetPay
TSID
. . .
Amount
The IS-A Relationship
Employee
Is-A
SalariedEmployee
Hourly Employee
disjoint
Name SSNo
SalaryPayRate
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
Picnic_Table Lawn_Chair
ProdNo ProdNo
Part_Of
OutDoorProducts
IsA
Top Base Seats
QuantityProdNo
Price Price
Price
From E-R Diagrams toRelational 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 Diagramsto Relational Database Schema
• Translating Entities
EmployeeName SSNo
TypeHireDate
Termination
Create Table Employee ( Name char(20), Type char(1), HireDate date,
Termination date, SSNo char(9),
Primary Key (SSNo) )
From E-R Diagrams toRelational 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 Diagramsto Relational Database Schema
• Translating Relationships
Customer Product
Supplier
Sold
SaleDate Price
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 ) )
SaleID
Translate into Schema
Employee
Is-A
SalariedEmployee
Hourly Employee
disjoint
Name SSNo
SalaryPayRate
Translate Into Schema
Picnic_Table Lawn_Chair
ProdNo ProdNo
Part_Of
OutDoorProducts
IsA
Top Base Seats
QuantityProdNo
Price Price
Price