Week 3

advertisement
Database Design
Sections 4 & 5
Subtype, Supertype, Mutually exclusive,
non-transferability, transferable, 1:1, 1:M,
M:M, Redundant, Intersection entity, Barred
relationship, First Normal Form (1NF)
DJs on Demand – Partial ERD
Reserved Words
 A reserved work is one that has a
specific meaning and function in the
computer system, language, or
database.
 Examples:
 NULL
 DATE
 DISTINCT
Video Store – example 4.1.7
 Identify business rules
 Construct ERD
 Class activity
Video Store Matrix
ACTOR
CUSTOMER
ACTOR
MOVIE
Featured in
The renter
of
CUSTOMER
MOVIE
TAPE
TAPE
The feature
of
On
Rented by
A copy of
Video ERD
TAPE
a copy of
number
format
on
MOVIE
id
title
category
the feature of
rented by
the renter
of
CUSTOMER
membership
number
last name
first name
phone number
featured in
ACTOR
stage name
real name
Use Source Documents
 Source document assist in identifying
entities, attributes, and relationships
Global Fast Food
 Identify entities
Possible solution
handle
STAFF
#id
*first name
*last name
*date of birth
*salary
handled by
ORDER
#number
*date
*time
list
listed on
FOOD ITEM
#number
*description
*price
Subtype & Supertype
 Supertype (entity) can be subdivided
into Subtypes
 Example:
JOB
manager
clerk
sales
support
Attributes
 Supertype can have attributes at
supertype level
 Attributes at supertype level are for
all subtypes
 Subtypes can have own attributes for
only that attribute
Example
EXAM
STUDENT
taken
by
#number
*description
*weight
*date
*grade for written component
MIDTERM
*grade for
BONUS
QUESTIONS
oral presentation
FINAL
included
in
*extra pts for opt. paper
QUIZ
included
Global Fast Food Employees
 STAFF is an entity and supertype
 What are the attributes of STAFF?
 What subtypes exist in STAFF?
 Are there any attributes in any of the
subtypes?
Example 4.3.9
 AUTOMOBILE subtypes are not
mutually exclusive
 AUTOMOBILE possible solution
 BUILDING subtypes have problem of
not being exhaustive, should be
minimum of 2 types
Business Rules
 Recognize if Business rule is implemented
by the data model or by programming
 Example:
 Only an employee with a title of manager can
manage other employees
 The event planner must contact the customer
before the DJ can be assigned
 Business rules can changed as society
changes or business leaders feel change
needed
Business rule types
 Structural
 Must be entered at time of initial data entry
 Example: When ORDER entered a staff id must
be entered
 Does not require code written to enforce
 Procedural
 Work flow related
 Programmed validation is procedural constraint
 Generally need to write code
 Example: Commission can not be > 25% of
salary
Each entity has




Name
Optionality
Cardinality
Transferability
Relationship transferability
 Rules established for the purpose such as
safety, efficiency, or increased profit
 Example: Airline tickets
 can be transferable or non-transferable?
 Non-transferable means also not updatable

symbol used to denote nontransferable
 blood type is non-transferable
Non-transferable relationship
place
CUSTOMER
ORDER
placed by
 Orders are non-transferable
 Resolution would be to cancel order
and create new order
Example 5.1.6 #1
 Each town may be the birthplace of
many people. Each person must be
born in one and only one town.
birthplace
for
PEOPLE
born in
TOWN
Relationship types
 One to One (1:1)
 One to Many (1:M)
 Many to Many (M:M)
One to One relationship
 Usually few of these relationships
 Often mandatory at one side
 If mandatory at both ends be aware,
it might be a error. Possible should
be only one entity not two
ride
PERSON
ridden by
BYCYCLE
One to Many
 Most common type are mandatory on
one side and optional on the other
 Mandatory at both ends models
entities that cannot exist without
each other
ORDER TYPE
ORDER
One to Many example
TAX RETURN
composed of
entered in
BAND
composed of
TAX REPORT
LINE
MUSICIAN
belong to
Many to Many
 Often common in initial version of
ERD
 Later stage of design converted to
other type
learn from
TEACHER
STUDENT
educate
Redundant relationship
 Redundant relationship is one that
can be derived from another
relationship in the model
Many to Many Relationship
Resolution
 All M:M relationships must be
changed to a set of 1:M and M:1
relationship
 Insert a transition entity between
 Occurs when you go from conceptual
model to design model
Example: M:M with Intersection
Entity
COURSE
STUDENT
REGISTRATION
Resolving M:M with Intersection
 Create an intersection entity
 If you can’t find a good intersection
entity create one by concatenate two
entities together
Example
EVENT
PARTNER
WORK ASSIGNMENT
(PARTNER_EVENT)
Normalization
 To make sure you don’t store the
same data twice in the model
 Also, that you store the data in the
correct place
 We will cover the first 3 normal
forms.
First Normal Form (1NF)
 First Normal Form requires that there
be no multivalued attributes and no
repeating groups.
 To check for 1NF, validate that each
attribute has a single value for each
instance of the entity.
 In other words: “One value per
Attribute”.
Example 1NF

This has multiple values for the
classroom.
SCHOOL BUILDING
#code
*name
*address
*classroom
Example 1NF
EMPLOYEE
#id
*name
*address
.
.
º telephone
º salary
 Telephone is a multvalued attribute that could be an
Entity. Ie. Home, work, mobile, fax etc.
 Not all Employees have multiple phones, so there
would eliminate multiple NULL values.
Review 1NF examples
 Look at the 4 examples on 5.4.4
Download