Entity-Relationship Model
• 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.
Database Modeling
Ideas E/R design Relational schema Relational DBMS
Mechanical processAbstract design Concrete design
Elements of the E/R Model
Movies
Title
Stars-in
• 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. – However, they are atomic, i.e. only numbers
and strings are allowed.
• Relationships are connections among two or more entity sets.
Example
Movies Stars-In Stars
length filmTypetitle year
Owns
name address
Studios name
address
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 | Stars
Basic Instinct | Sharon Stone.
Total Recall | Arnold Schwarzeneger.
Total Recall | 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.
• 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.
Movies StudiosOwns
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.
• If a relationship R is neither many-one from E to F or from F to E, then we say R is many-many.
Studios PresidentsRuns
Movies StarsStars-In
Sometimes binary relationships aren’t enough!
Example
What could go wrong with this design?
Movies Stars-In Stars
Owns
Studios
No arrow now!
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 relationshipStars MoviesContracts
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.
• A movie may have many sequels, but for each sequel there is only one original movie.
MoviesSequel-of
Original
Sequel
Another Example
Drinkers
Married
husband wife
Relationship Set
Husband WifeBob AnnJoe Sue… …
Another Example
Drinkers
Buddies
1 2
Relationship Set
Buddy1 Buddy2Bob AnnJoe SueAnn BobJoe Moe… …
Attributes on Relationshipssalary
Movies
title year
length filmType
Contracts
Stars
name addr
Studios
name addr
We wish to record the salary associated with a contract.
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
Drinkers addrname
Beers
manfname
Bars
name
license
addr
Note:license =beer, full,none
Sells Bars sell somebeers.
Likes
Drinkers likesome beers.Frequents
Drinkers frequentsome bars.
Why we need it?
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.
Bars Beers
Drinkers
name nameaddr manf
name addr
license
Preferences
BBD Multiway Relationship
A Typical Relationship Set
Bar Drinker BeerJoe’s Bar Ann MillerSue’s Bar Ann BudSue’s Bar Ann Pete’s AleJoe’s Bar Bob BudJoe’s Bar Bob MillerJoe’s Bar Cal MillerSue’s Bar Cal Bud Lite
Multiple Relationships Between Two Entity Sets
Drinkers BeersLikes
Favorite
“Exactly one” Multiplicity
Manfs BeersBest-seller
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 best-seller (we assume they are beer manufacturers).