1–2

Transcription

1–2
1–2
1–3
1–4
1–5
Entity-Relationship (E-R) Model
COURSE#
CTITILE
PROF
SCHED
ROOM
COURSE
ENROLL
GRADE
STUDENT
STUID
SNAME
MAJOR
CREDITS
1–6
Class Hierarchies
name
lot
ssn
* Sometimes it’s
natural to classify
the entities in an
entity set into
subclass, then we
will use Class
Hierarchies.
Employees
Hourly
wage
Hours
worked
Hourly
Emps
ISA
contractid
Contract
Emps
1–7
* A relationship set is an
association between
Aggregation
name
entity sets.
ssn
Sometimes we have to
model a relationship
between a collection of
entities and relationships,
then we need to use
aggregation.
lot
Employees
monitors
until
Started-on
dname
since
pid
pbudget
Projects
did
Sponsors
budget
Department
1–8
Conceptual design using the ER model
• Should a concept be modeled as an entity or an attribute ?
• Should a concept be modeled as an entity or a relationship ?
• What are the relationships ? Should we use binary or ternary
relationships ?
• Should we use aggregation ?
1–9
UNARY RELATIONSHIP
• Unary relationship : is an associate of 1 entity set.
* Note : an entity set is a group of related entities.
Student
Dr. Lee
* Entity set =
* Relation =
* Attribute =
1–10
BINARY RELATIONSHIP
• Binary relationship : is an associate of 2 entities sets .
Employees
ssn
name
Department
Works_In
lot
did
dname budget
* Entity set =
* Relation =
* Attribute =
1–11
TERNARY RELATIONSHIP
Ternary relationship : is an associate of 3 entities sets .
Employees
ssn
name
Department
Works_In
lot
add
did
Locations
dname
budget
cap
* Entity set =
* Relation =
* Attribute =
1–12
QUARTERY RELATIONSHIP
Quartery relationship : is an associate of 4 entities sets.
Product
Employees
* Entity set =
Works_In
Department
Locations
* Relation =
* Attribute =
1–13
1–14
Additional features of the ER model
• In the ER model allow us to draw important distinctions
about the data.
• One of the features of the ER model is :
Key Constraints
Note : A key constraints is also known as Primary key.
A primary key is a candidate key selected to
uniquely identify all other attribute values in
any given row, can not contain null entries.
1–15
An example of Key Constraints on Manage
name
ssn
Since
did
lot
Employees
dname
Manages
budget
Department
ssn = Social Security Number.
did = Department id.
1–16
1–17
Weak Entities
name
ssn
cost
Pname
---------
lot
Employees
Policy
age
Department
A weak entity : is an entity of which is existence depends on
other entities.
1–18
1–19
1–20
Entity versus Attribute
from
name
ssn
dname
did
lot
Employees
to
Works-In2
budget
Department
* Entity set =
* Relation =
* Attribute =
1–21
Entity versus Relationship
dname
name
budget
did
ssn
lot
Employees
Manages
Department
since
apptnum
Mgr-Appts
dbudget
1–22
Binary versus Ternary Relationship
name
ssn
Pname
---------
lot
Employees
Covers
age
Dependents
Policies
policyid
cost
1–23
Using a Ternary Relationship instead of
Started-on
dname
Aggregation
pid
did
pbudget
Projects
Sponsors
budget
Departments
Employees
lot
ssn
name
1–24
ONE TO MANY RELATIONSHIP
customer-name
customer-street
loan-number
customer-city
customer-id
customer
borrower
amount
loan
1–25
MANY TO ONE RELATIONSHIP
customer-name
customer-street
loan-number
customer-city
customer-id
customer
borrower
amount
loan
1–26
ONE TO ONE RELATIONSHIP
customer-name
customer-street
loan-number
customer-city
customer-id
customer
borrower
amount
loan
1–27
E-R Diagram with Composite,
Multivalued, and Derived Attributes
street-name
middle-name
Street-number
apartment-number
last-name
first-name
street
name
city
customer-id
address
Customer
state
age
zip-code
date-of-birth
phone-number
1–28
WEAK ENTITY SETS
An entity set may not have sufficient attributes to form a
primary key. Such an entity set is termed a weak entity set.
An entity set that has a primary key is termed a strong entity
set.
For a weak entity set to be meaningful, it must be associated
with another entity set, called the identifying or owner entity
set. The relationship associating the weak entity set with the
identifying entity set is called the identifying relationship.
The identifying relationship is many to one from the weak
entity set to the identifying entity set, and the participation of
the weak entity set in the relationship is total.
1–29
DISCRIMINATOR
The discriminator of a weak entity set is a set of attributes that allows
this distinction to be made. For example, the discriminator of a weak
entity set payment is the attribute payment-number, since, for each loan a
payment number uniquely identifies one single payment for that loan.
The discriminator of a weak entity set is also called the partial key of the
entity set.
Note: although each payment entity is distinct, payments for different
loans may share the same payment-number. Thus, payment entity set
does not have a primary key; it is a weak entity set.
The primary key of a weak entity set is formed by the primary key of
the identifying entity set, plus the weak entity set’s discriminator.
1–30
E-R DIAGRAM WITH A
WEAK ENTITY SET
In a E-R diagrams, a doubly outlined box indicates a weak entity set, and
a doubly outlined diamond indicates the corresponding identifying
relationship. We underline the discriminator of a weak entity set with a
dashed line.
payment-date
amount
loan-number
payment-number
loan
loan-payment
payment-amount
payment
E-R diagram with a weak entity set
1–31
1–32
1–33
1–34
1–35
Entity/Relationship Model
Diagrams to represent designs.
• Entity like object, = “thing.”
• Entity set like class = set of “similar”
entities/objects.
• Attribute = property of entities in an entity set,
similar to fields of a struct.
• In diagrams, entity set  rectangle;
attribute  oval.
ID
name
Students
phone
height
1–36
Relationships
• Connect two or more entity sets.
• Represented by diamonds.
Students
Taking
Courses
1–37
Relationship Set
Think of the “value” of a relationship set as a table.
• One column for each of the connected entity sets.
• One row for each list of entities, one from each
set, that are connected by the relationship.
Students
Sally
Sally
Joe
…
Courses
CS180
CS111
CS180
…
1–38
Multiway Relationships
Usually binary relationships (connecting two E.S.) suffice.
• However, there are some cases where three or more E.S.
must be connected by one relationship.
• Example: relationship among students, courses, TA's
(and graders).
Students
Taking
Courses
Possibly, this E/R diagram is OK:
Assisting
TA/Graders
1–39
• Works in CS180, because each TA (or
grader) is a TA of all students. Connection
student-TA is only via the course.
• But what if students were divided into
sections, each headed by a TA?
Then,
a student in CS180 would be related to
only one of the TA's for CS180. Which one?
• Need a 3-way relationship to tell.
1–40
Courses
Students
Enrolls
TAs
Students
Ann
Sue
Bob
…
Courses
CS180
CS180
CS180
…
TAs
Jan
Pat
Jan
…
1–41
Beers-Bars-Drinkers Example
• Our running example for the course.
name
addr
license
Serves
Bars
Frequents
Beers
Likes
Drinkers
name
manf
name
addr
1–42
Multiplicity of Relationships
Many-many
Many-one
One-one
Representation of Many-One
• E/R: arrow pointing to “one.”
Rounded
arrow = “exactly one.”
1–43
Example:
Drinkers Have Favorite Beers
name
Serves
addr
Bars
license
Frequents
Likes
Beers
name
manf
Drinkers
Favorite
name
addr
1–44
One-One Relationships
Put arrows in both directions.
Manfs
Bestseller
Beers
Design Issue:
Is the rounded arrow justified?
Design Issue:
Here, manufacturer is an E.S.
In earlier diagrams it is an attribute.
Which is right?
1–45
Attributes on Relationships
price
Bars
Sells
Beers
• Shorthand for 3-way relationship:
price
Prices
Bars
Sells
Beers
1–46
• A true 3-way relationship.
Price
depends jointly on beer and bar.
• Notice arrow convention for multiway
relationships: “all other E.S. determine one
of these.”
Not
sufficiently general to express any
possibility.
However, if price, say, depended only on the
beer, then we could use two 2-way
relationships: price-beer and beer-bar.
Or better: just make price an attribute of beer.
1–47
Converting Multiway to 2-Way
• Baroque in E/R, but necessary in certain “object-oriented” models.
• Create a new connecting E.S. to represent rows of a relationship
set.

E.g., (Joe's Bar, Bud, $2.50) for the Sells relationship.
• Many-one relationships from the connecting E.S. to the others.
BBP
TheBar
TheBeer
ThePrice
Bars
Beers
Price
1–48
Roles
Sometimes an E.S. participates more than
once in a relationship.
• Label edges with roles to distinguish.
Married
husband
wife
Husband
d1
d3
…
Wife
d2
d4
…
Drinkers
1–49
Buddies
1
2
Drinkers
Buddy1
d1
d1
d2
d2
…
Buddy2
d2
d3
d1
d4
…
• Notice Buddies is symmetric, Married not.
No
way to say “symmetric” in E/R.
Design Question
Should we replace husband and wife by one
relationship spouse?
1–50
More Design Issues
1. Subclasses.
2. Keys.
3. Weak entity sets. (Next class.)
1–51
Subclasses
Subclass = special case = fewer entities =
more properties.
• Example: Ales are a kind of beer. In
addition to the properties (= attributes and
relationships) of beers, there is a “color”
attribute for ales.
1–52
E/R Subclasses
• Assume subclasses form a tree (no multiple
inheritance).
• isa triangles indicate the subclass relation.
name
Beers
manf
isa
color
Ales
1–53
Different Subclass Viewpoints
1. E/R viewpoint: An entity has a component in each entity set
to which it logically belongs.
 Its
properties are the union of the properties of these E.S.
2. Contrasts with object-oriented viewpoint: An object (entity)
belongs to exactly one class.
 It
inherits properties
of its superclasses.
name
Beers
isa
color
manf
Pete’s Ale
Ales
1–54
Multiple Inheritance
Theoretically, an E.S. could be a subclass of
several other entity sets.
name
manf
name
manf
Beers
Wines
isa
isa
Grape
Beers
1–55
Problems
How should conflicts be resolved?
• Example: manf means vintner for wines,
bottler for beers. What does manf mean for
“grape beers”?
• Need ad-hoc notation to resolve meanings.
• In practice, we shall assume a tree of entity
sets connected by isa, with all “isas”
pointing from child to parent.
1–56
Keys
A key is a set of attributes whose values can
belong to at most one entity.
• In E/R model, every E.S. must have a key.
It
could have more than one key, but one set of
attributes is the “designated” key.
• In E/R diagrams, you should underline all
attributes of the designated key.
1–57
Example
• Suppose name is key for Beers.
name
Beers
manf
isa
color
Ales
• Beer name is also key for ales.
 In
general, key at root is key for all.
1–58
Example: A Multiattribute Key
number
dept
Courses
hours
room
• Possibly, the combination of hours + room
also forms a key, but we have not
designated it as such.
1–59