Transcript Slides
Entity-Relationship Model
Database Modeling
•
The process of designing a database begins with:
– an analysis of what information the database must hold, and
– the relationships among components of that information.
•
The structure of the database, called the database schema is
specified in a suitable notation for expressing designs.
•
We will use the Entity-Relationship (E/R) model, which is
graphical in the nature.
Ideas
E/R design
Abstract design
Relational schema
Mechanical process
Relational DBMS
Concrete design
Elements of the E/R Model
•
Entities are like objects in OO
programming. Entity sets are like the
classes.
–
•
•
However, E/R is a static model, so there are
no methods associated with the entities.
Attributes are similar to the attributes in OO
programming.
–
Movies
Title
However, they are atomic, i.e. only numbers and
strings are allowed.
Relationships are connections among two
or more entity sets.
Stars-in
Example
title
year
length
filmType
Movies
Stars-In
Owns
Studios
address
name
name
address
Stars
Visualizing E/R Relationships
•
It’s often helpful (for us) to represent E/R relationships by a table,
each row representing a list (it can be pair) of entities participating in
the relationship.
For instance the Stars-in relationship could be thought of as a table:
Movies
Basic Instinct
Total Recall
Total Recall
•
•
|
|
|
|
Stars
Sharon Stone.
Arnold Schwarzeneger.
Sharon Stone.
This table is called the relationship set for the relationship.
The members of the relationship set are the rows of the table.
Multiplicity of Relationships
•
A relationship R is many-one from E to F
if any member of E can be associated to at most one
member of F.
•
Equivalently, we say that R is one-many from F to E.
Movies
•
Owns
Studios
Arrows indicate the multiplicity of a relationship.
Arrow means “at most one.” It does not guarantee the
existence of an entity of the set pointed to.
Multiplicity (Cont.)
•
If a relationship R is both many-one from E to F and
many-one from F to E, then we say that R is one-one
Arrows pointing to both E and F.
Studios
•
Runs
Presidents
If a relationship R is neither many-one from E to F or from
F to E, then we say R is many-many.
Movies
Stars-In
Stars
Sometimes binary relationships aren’t enough!
Example
Movies
Owns
Stars-In
No arrow
now!
Studios
What could go wrong with this design?
Stars
Relating studios, movies and stars
•
Suppose that we want to know: Which stars a studio is paying
for a specific movie?
•
As long as a movie is produced by a single studio (having the
arrow) the previous organization works very well. Why?
–
•
•
Because we can relate a studio s through a specific movie m with the stars
sti forming valid triples:
(s, m, st1), (s, m, st2),…, (s, m, stk)
Suppose now that movies can be produced (and owned) by not
just a single studio but, by some studios (no arrow).
Now if we try to create the above triples they can be invalid.
Why the triples can be invalid?
•
Suppose studio s1 is paying a star st1 for the movie m
and
studio s2 is paying st2 for the same movie m.
•
Then we will have the following triples:
(s1, m, st1) (s1, m, st2) (s2, m, st1) (s2, m, st2)
•
The second and the third triples aren’t valid.
•
If we consider the collection of all the valid triples, it is nothing
else but a three way relationship between Studios, Movies and
Stars
Solution: Three-way relationship
Stars
Contracts
Movies
Studios
1. Relationship Contracts involves a studio, a star, and a
movie.
• It says that a studio has contracted a particular star in
a particular movie.
2. Arrow pointing to Studios means:
• If we select one entity from Stars and one entity from
Movies, these entities (together) are related to at
most one entity in Studios.
Roles in a relationship
• An entity set can appear two or more times in a relationship.
• Each line to the entity set represents a different role.
Original
Movies
Sequel-of
Sequel
• A movie may have many sequels, but for each sequel there is only
one original movie.
Another Example
Relationship Set
Husband
Bob
Joe
…
Married
husband
wife
Drinkers
Wife
Ann
Sue
…
Another Example
Relationship Set
Buddies
1
2
Drinkers
Buddy1
Bob
Joe
Ann
Joe
…
Buddy2
Ann
Sue
Bob
Moe
…
Attributes on Relationships
title
year
name
salary
Movies
addr
Stars
Contracts
length
We wish to record the salary
associated with a contract.
filmType
Studios
name
addr
Can’t associate it with the star;
A star might get different
salaries for different
movies.
Doesn’t make sense to associate it
with a studio or with a movie.
However, it’s appropriate to
associate a salary with the (star,
movie, studio) triple in the
relationship set for the Contracts
relationship.
“Bars-Beer-Drinkers” (BBD) Example
• Bars sell some beers.
• Drinkers like some beers.
• Drinkers frequent some bars.
• What would be the E/R diagram?
“Bars-Beer-Drinkers” (BBD) Example
name
addr
name
Bars
Beers
Sells
license
Note:
license =
beer, full,
none
Frequents
name
Why we need it?
Drinkers
manf
Likes
Bars sell some
beers.
Drinkers like
some beers.
Drinkers frequent
some bars.
addr
BBD Multiway Relationship
• Suppose that drinkers will only drink
certain beers at certain bars.
• Our three binary relationships Likes,
Sells, and Frequents do not allow us to
make this distinction. But a 3-way
relationship would.
BBD Multiway Relationship
name
license
addr
name
Bars
Beers
Preferences
Drinkers
name
addr
manf
A Typical Relationship Set
Bar
Joe’s Bar
Sue’s Bar
Sue’s Bar
Joe’s Bar
Joe’s Bar
Joe’s Bar
Sue’s Bar
Drinker
Ann
Ann
Ann
Bob
Bob
Cal
Cal
Beer
Miller
Bud
Pete’s Ale
Bud
Miller
Miller
Bud Lite
Multiple Relationships Between
Two Entity Sets
Drinkers
Likes
Favorite
Beers
“Exactly one” Multiplicity
Manfs
Bestseller
Beers
Some beers are not the best-seller of
any manufacturer, so a rounded arrow to
Manfs would be inappropriate.
But a manufacturer has to have a bestseller (we assume they are beer
manufacturers).