Chapter 6

advertisement
Concepts of Database Management
Seventh Edition
Chapter 6
Database Design : ERD Model
Objectives
• Discuss the general process and goals of database
design
• Identify the different symbols used in ERD
• Identify cardinality symbols to used for different
entity relationship types
• Create an entity-relationship (E-R) diagram to
visually represent a database design
2
Objectives (continued)
• Explain the physical-level design process
• Discuss top-down and bottom-up approaches to
database design and examine the advantages and
disadvantages of both methods
• Use a survey form to obtain information from users
prior to beginning the database design process
• Review existing documents to obtain information
prior to beginning the database design
3
The Entity-Relationship Model
• is modeling tool used to depict graphically a
database design before it is actually implemented.
• It has three basic components, namely, an Entity,
Relationship and an Attribute.
• And Relationship has Cardinality (as we will see
more in a moment)
4
Introduction
• Two-step process for database design
• Information-level design: completed
independently of any particular DBMS
• Physical-level design: information-level design
adapted for the specific DBMS that will be used
– Must consider characteristics of the particular DBMS
5
Building Blocks of ERD
Type
English Grammar Equivalent
Example
Entity
Proper Noun
Student, Employee,
Instructor, Courses,
Room
Relationship
Verb
has, teaches,
belongs, handles
Attribute
Adjective
Height, Age, Gender,
Nationality, First
name
6
ERD Popular Notation
• Chen Notation
• Crow’s Foot Notation
7
Chen Notation - Symbol
Rectangle represents an Entity
Diamond represents a Relationship
1
M
Lines with labels represents Cardinality
8
Entity (Chen Notation)
• is a real-world object distinguishable or unique from
other objects.
• An entity can be a concrete or physical object like
employee, student, faculty, customer etc. Or it could
also be conceptual or abstract like transaction, order,
course, subjects etc.
• It can be thought of as a noun like student, employee
etc.
• It is normally represented by a rectangle shape.
9
Database Background
• Remember in Chapter 1 Entity could be a :
(ex. Teacher, Student, Physician)
Person
Place
Object
(ex. School, Hotel, Store )
(ex. Mouse, Books, Bulding )
Event
Idea or Concept
(ex. Enroll, Withdraw, Order )
(ex. Courses, Account, Delivery )
10
Entity - Example
• For example in our Premiere Database the different
Entities are the following:
Customer
Sales Rep
Order
Parts
11
Relationship
• is a way of relating one entity to another. Entities can
therefore participate in a relationship.
• it is commonly thought as a verb connecting the entities
or nouns.
• It is normally represented by a diamond shape.
12
Relationship - Example
• For example in our Premiere Database again we have
this relationships among entities:
Sales Rep
represents
Customer
has
Could be read as : A Sales Rep
Represents a Customer. And a
Customer has an Order.
Order
13
Cardinality
• Cardinality: number of items that must be included
in a relationship
– An entity in a relationship with minimum cardinality
of zero plays an optional role in the relationship
– An entity with a minimum cardinality of one plays a
mandatory role in the relationship
14
Cardinality - Symbols
1
M
One-is-to-many Relationship
M
N
Many-to-many Relationship
15
Cardinality Symbols - Example
1
Sales Rep
M
represents
Customer
Could be read as : A Sales Rep could represent
1 or Many Customers.
16
Cardinality Symbols – Example
(Cont’d)
M
Order
N
has
Parts
Could be read as : An Order could have many Parts (e.g. Products
Ordered) and a Part could have many Orders.
17
Degree of Relationship
• There are three Degree of Relationships in ERD
notation, namely:
– Unary
– Binary
– Ternary
18
Degree of Relationship (Cont’d)
Unary
Binary
Ternary
19
Degree of Relationship (Cont’d)
Manages
Unary
Employee
makes
Customer
Orders
Vendor
Warehouse
Binary
Ternary
supplies
Part
20
Attribute
• Refers to the characteristic or basic fact or field of an
Entity or Relationship.
• For example a Student entity could have the following
attributes ID Number, Last Name, First Name,
Address, Birth Date etc.
• A relationship could also have an attribute for example
an Entity name Student enrolls (relationship) to a
Course/Program. Now, when you enroll you enroll on
a certain date so you will have an attribute of
Enrollment Date under Enroll relationship.
• It is normally represented by an oval.
21
Attribute - Example
Firstname
Lastname
RepNum
Street
City
Sales Rep
State
Zip
Rate
Take note that
a Primary Key
is underlined.
Commission
22
Attribute – More Example
CustomerName
Firstname
CustomerNum
Lastname
RepNum
Street
Street
1
City
Sales Rep
M
Customer
represents
City
State
State
Zip
Rate
CreditLimit
Zip
Commission
Balance
23
Crow’s Foot notation - Symbol
Entity name
Attribute 1
Attribute 2
Attribute 3
Attribute 4
24
Crow’s Foot notation - Example
Entity
Student
StudentID
Firstname
Lastname
Gender
Program
Attributes
25
Crow’s Foot notation - Keys
Student
StudentID (PK)
Firstname
Lastname
Gender
ProgramID (FK)
PK – Primary Key
FK – Foreign Key
26
Crow’s Foot Cardinality - Symbols
One and only one included in the relationship
Zero or many could be included in the relationship.
This is optional mode.
One or many could be included in the relationship.
This is mandatory mode.
27
Crow’s Foot notation – with Cardinality
Customer
Rep
Repnum (PK)
Firstname
Lastname
Commission
Rate
Customernum(PK)
Customername
Street
City
State
Zip
Balance
CreditLimit
Repnum (FK)
28
Non-Graded Seatwork
• Using Premier Database
– Create a Chen notation on at least two tables that is
not part of our example and tables that has
relationship
– Create a Crow’s Foot notation on at least two tables
that is not part of our example and tables that has
relationship
29
Graded Seatwork
• Create both Chen and Crow’s foot notation on all tables
and relationship
– Alexamara Marina
– Henry Books
30
End
31
Download