View
53
Download
0
Category
Preview:
DESCRIPTION
Data Modeling with ERD. BUS 782. Database Examples. Sales database: Customer table Orders table LineItem table Products table University database: Student table Account table Faculty table Course table Registration table. Entities. - PowerPoint PPT Presentation
Citation preview
Data Modeling with ERD
BUS 782
Database Examples• Sales database:
– Customer table– Orders table– LineItem table– Products table
• University database:– Student table– Account table– Faculty table– Course table– Registration table
Entities
• An entity is a person, place, object, event, or concept in the user environment about which the organization wishes to maintain data.– Person: Employee, Student, patient– Place: Warehouse, Store– Object: Product, Machine.– Event: Registration, Sale, Renewal– Concept: Account, Course
• Physical existence:• Customer, student, product, etc.
• Conceptual existence:• Bank accounts
Entity Type
• A collection of entities that share common properties or characteristics.
• An entity type represents a collection of entities.
• A business environment may involve many entity types.– University: Faculty, Student, Course– Department, Employee, Dependent– Sales person, Customer, Order
Relationship
• Relationship: Interaction between entity types.– Faculty teach Course, Faculty advise Student– Customer open Account, Customer purchase
Product.
• Binary relationship: A relationship involves two entity types.
• Three types of binary relationship:– 1:1, 1:M, M:M
Entity-Relationship Diagram
• ER modeling begins by identifying the entities and relationships between entities that must be represented in the model.
• In an ERD, an entity type is represented by a rectangle labeled with a singular name.
• A relationship has a verb phrase name:– Faculty teach Course, Faculty advise Student
M:M Relationship
Peter
Paul
John
Woody
Alan
Mary
Linda
Nancy
Mia
Pia
A boy may date 0, 1, or many girls.
A girl may date 0, 1, or many boys.
Note: “Many boys date many girls” is not a correct interpretation.
Boy Girl
1:1 Relationship
Peter
Paul
John
Woody
Alan
Mary
Linda
Nancy
Mia
Pia
A man may marry 0 or 1 woman.
A woman may marry 0 or 1 man.
Man Woman
1:M Relationship
Peter
Paul
John
Woody
Alan
MaryBrianLindaAron
NancyRonald
MiaPia
A father has 1 or many children.
A child has 1 father.
Father Child
Other Examples• 1:1
– State, State Governor– Order, Invoice
• 1:M– Department, Employee– Customer, Order
• M:M– Bank customer, Bank account– Student, Student organization
ERD Notations
Student Account
Faculty Course
Has1 1
EnrollM MAdvise
M
1
TeachM1
Alternative Notations
Student Account
Faculty Course
Has
Teach
Enroll
Advise
Attributes• Properties of an entity or a relationship.
• Simple attributes vs Composite attributes– Address:Street address, City, State,
ZipCode
• Single-valued attributes vs multivalued attributes
• Derived attributes
• Primary key
Student
SIDFname
LnameDateOfBirth
Age
FullName
Major
Domains of Attributes
• The set of allowable values for one or more attributes.
• Input validation
• Examples:– Sex: F, M– EmpHourlyWage: Between 6 and 300– EmpName: 50 charcters
Introduction to Relational Database
• Data is logically structured within relations.
• Each relation is a table (file) with named columns (attributes, fields) and rows (records).
Properties of a Relation
• Simple attribute– No composite, no multivalued attribute
• Each relation must have a primary key:– Simple or composite key– May have other keys (candidate keys)– Key cannot be null– Cannot be duplicated
Relational Database Design
• Create a table for each entity that includes all simple attributes
• Relationship: – 1:1, 1:M
• Relationship table• Foreign key
– M:M: relationship table
Database Design Example
• University:– 1:1 Relationship:
• Student and Account– What is Peter’s account balance– Find students that owe more than 2000 dollars.
– 1:M Relationship• Faculty Advisor and student
– Who is Peter’s advisor?– How many students advised by Chao?
– M:M Relationship• Student and course
– How many units Peter takes?– Find students that are taking 363.
Database Design Example
• Bank:– Customer, Account, bank employee
Database Design Example
• Order Processing:– Customer, Order, Product
Attorney CaseMM
CourtJudge
AID
AnamePhone CID Cname
JID Jname
M
1
1M
CtID Address
Hours
Advanced Topics
• Composite key• Multivalued attribute
– Student’s Major attribute– Faculty’s DegreeEarned attribute– Vehicle’s Color attribute– Others: PhoneNumber, EmailAddress
• Create a table for each multi-valued attribute• Key + attribute
• Attributes on a relation
Online Shopping Cart
Customer ShoppingCart
Product
Has
Has
1 M
M
M
CID Cname Addr CartID Date
PIDPname
Price
Phone
Order Form
Online Shopping Cart
Customer ShoppingCart
Product
Has
Has
1 M
M
M
CID Cname Addr CartID Date
Qty
PIDPname
Price
Phone
Attributes on Relationship
• Examples:– Student/Course: Grade– Order/Product: Quantity
Suggested Readings
• http://www.youtube.com/watch?v=u2QqjofJvGo• http://en.wikipedia.org/wiki/Entity-relationship_model• http://faculty.babson.edu/osborn/mis7510/readings/erd.htm
• http://dhdurso.org/articles/database-design.html
Recommended