22
Entity-Relationship Model

Entity-Relationship Model. The process of designing a database begins with: –an analysis of what information the database must hold, and –the relationships

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

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 filmType

title year

OwnsStudios

name address

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.

2. It says that a studio has contracted a particular star in a particular movie.

3. 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).