32
The EntityRelationship Model The Entity Relationship Model Zaki Malik September 16, 2008 September 16, 2008

The Entity‐Relationship Model - Virginia Techcourses.cs.vt.edu/~cs4604/Fall08/lectures/lecture07.pdfTill the Midterm Examination • Relational Data Models – Thhe Entity‐Relhlationship

  • Upload
    votuyen

  • View
    221

  • Download
    1

Embed Size (px)

Citation preview

The Entity‐Relationship ModelThe Entity Relationship Model

Zaki Malik

September 16, 2008September 16, 2008

Till the Midterm Examination

• Relational Data Modelsh l h ( ) d l– The Entity‐Relationship (ER) model

– The relational model

Converting E/R diagram to relational designs– Converting E/R diagram to relational designs.

• You should know how toIdentify all entities and relationships and describe them using– Identify all entities and relationships and describe them using an E/R diagram .

– Convert the E/R model to a number of relations in a relational /schema.

• Use all these ideas to design your own database application in your project.

Basic Database Terminology

• Data model : describes high‐level conceptual structuring of datadata– Example: Data is set of student records, each with ID, name, 

address, and courses

E l D i h h d i d– Example: Data is a graph where nodes represent proteins and edges represent chemical bonds between proteins

• Schema describes how data is to be structured and stored in a database– Defined during creation of the database

S h l h– Schemas rarely change

• Data is actual “instance” of database– Updated continuouslyUpdated continuously

– Changes rapidly

Why Learn About Database Modeling?Why Learn About Database Modeling?

• The way in which data is stored is very important for y y psubsequent access and manipulation by SQL.

• Properties of a good data model:– It is easy to write correct and easy to understand queries.

– Minor changes in the problem domain do not change the– Minor changes in the problem domain do not change the schema.

– Major changes in the problem domain can be handled without t h diffi lttoo much difficulty.

– Can support efficient database access.

Purpose of E/R ModelPurpose of E/R Model

• The E/R model allows us to sketch the design of a e / ode a o s us o s e c e des g o adatabase informally.– Represent different types of data and how they relate to 

h heach other

• Designs are pictures called entity‐relationship diagrams.

F i l h i l t t E/R di t l• Fairly mechanical ways to convert E/R diagrams to real implementations like relational databases exist.

5

Entity SetsEntity Sets

• Entity = “thing” or object.• Entity set = collection of similar entities.y

– Similar to a class in object‐oriented languages.

• Attribute = property of an entity set.p p y y– Generally, all entities in a set have the same properties.

– Attributes are simple values, e.g. integers or character strings.

6

E/R DiagramsE/R Diagrams

• In an entity‐relationship diagram each entityIn an entity relationship diagram, each entity set is represented by a rectangle.

• Each attribute of an entity set is represented• Each attribute of an entity set is represented by an oval, with a line to the rectangle representing its entity setrepresenting its entity set.

7

ExampleExamplename manf

Beers

• Entity set Beers has two attributes name and manf

Beers

• Entity set Beers has two attributes, name and manf (manufacturer).

• Each Beer entity has values for these two attributesEach Beer entity has values for these two attributes, e.g. (Bud, Anheuser‐Busch)

8

RelationshipsRelationships

• A relationship connects two or more entityA relationship connects two or more entity sets.

• It is represented by a diamond with lines to• It is represented by a diamond, with lines to each of the entity sets involved.

9

Example

manfnamename addrB ll

BeersBars Sells

Bars sell somebeers.

BeersBars

license

Sells

Note:license =beer full

Likes Drinkers likesome beers.

Frequents

Drinkers addrname

beer, full,none

10

addrname

Drinkers frequentsome bars.

Relationship SetRelationship Set

• The current “value” of an entity set is the setThe current  value  of an entity set is the set of entities that belong to it.– Example: the set of all bars in our database– Example: the set of all bars in our database.

• The “value” of a relationship is a set of lists of currently related entities one from each ofcurrently related entities, one from each of the related entity sets.

11

ExampleExample

• A relationship R between entity sets E and F relates some p yentities in E to some entities in F.

• R is a set of pairs of tuples (e, f ) where e is in E and f is in F.

• For the relationship Sells, we might have a relationship set like:like:

Bar BeerJoe’s Bar BudJ ’ B MillJoe’s Bar MillerSue’s Bar BudSue’s Bar Pete’s AleSue’s Bar Bud Lite

12

Multiway RelationshipsMultiway Relationships

• Sometimes we need a relationship thatSometimes, we need a relationship that connects more than two entity sets.

• Suppose that drinkers will only drink certain• Suppose that drinkers will only drink certain beers at certain bars.

O th bi l ti hi Lik S ll d– Our three binary relationships Likes, Sells, and Frequents do not allow us to make this distinction.

But a 3 way relationship would– But a 3‐way relationship would.

13

ExampleExample

name nameaddr manf

Bars Beers

name manf

license Bars Beerslicense

Preferences

Drinkers

14

name addr

A Typical Relationship SetA Typical Relationship Set

Bar Drinker BeerJoe’s Bar Ann MillerS ’ B A B dSue’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

15

Many‐Many RelationshipsMany Many Relationships

• Think of a relationship between two entityThink of a relationship between two entity sets, such as Sells between Bars and Beers.

• In amany many relationship an entity of• In a many‐many relationship, an entity of either set can be connected to many entities of the other setof the other set.– E.g., a bar sells many beers; a beer is sold by many barsbars.

16

Many‐One RelationshipsMany One Relationships

• Some binary relationships aremany ‐one fromSome binary relationships are many  one from one entity set to another.

• Each entity of the first set is connected to at• Each entity of the first set is connected to at most one entity of the second set.

B i f h d b• But an entity of the second set can be connected to zero, one, or many entities of h fithe first set.

17

ExampleExample

• Favorite from Drinkers to Beers is many‐oneFavorite, from Drinkers to Beers is many one.

• A drinker has at most one favorite beer.

b b h f i f b• But a beer can be the favorite of any number of drinkers, including zero.

18

One‐One RelationshipsOne One Relationships

• In a one‐one  relationship, each entity of either entity set is related to at most one entity of the other set.

• Example: Relationship Best‐seller between entity sets Manfs (manufacturer) and Beers.– A beer cannot be made by more than one 

f t d f t hmanufacturer, and no manufacturer can have more than one best‐seller (assume no ties).

19

In Pictures:In Pictures:

Women Give Birth Babies

many-many many-one one-one

20

Befriend WomenMen Marry WomenMen

Representing “Multiplicity”Representing  Multiplicity

• Show a many‐one relationship by an arrow enteringShow a many one relationship by an arrow entering the “one” side.

• Show a one‐one relationship by arrows entering both p y gentity sets.

• In some situations, we can also assert “exactly one,” yi.e., each entity of one set must be related to exactly one entity of the other set.  To do so, we use a 

d drounded arrow.

21

ExampleExample

Drinkers BeersLikes

F itFavorite

22

ExampleExample

• Consider Best‐seller betweenManfs andConsider Best seller between Manfs and Beers.

• Some beers are not the best‐seller of anySome beers are not the best seller of any manufacturer, so a rounded arrow to Manfswould be inappropriate.

• But a manufacturer has to have a best‐seller (we assume they are beer manufacturers).

Manfs BeersBest-seller

23

Attributes on RelationshipsAttributes on Relationships

• Sometimes it is useful to attach an attribute to aSometimes it is useful to attach an attribute to a relationship.

• Think of this attribute as a property of tuples in the p p y prelationship set.

Bars BeersSells

price

24

Price is a function of both the bar and the beer,not of one alone.

RelationshipsRelationships

• Can the same entity set appear more than once inCan the same entity set appear more than once in the same relationship?

• Prerequisite relationship between two Coursesq p

• Which course is the pre requisite?• Which course is the pre‐requisite?

25

RolesRoles

• Label the edges between the relationship andLabel the edges between the relationship and the entity set with names called roles.

26

ExampleExampleRelationship Set

Husband WifeBob AnnJoe Sue

Married… …

Drinkers

husband wife

Drinkers

27

ExampleExample

Relationship Set

Buddy1 Buddy2Bob Ann

Buddies

Bob AnnJoe SueAnn BobJoe Moe

Drinkers

1 2… …

Drinkers

28

Parallel RelationshipsParallel Relationships

• Can there be more than one relationship betweenCan there be more than one relationship between the same pair of entities?

• TA and Take relationship between Students and pClasses

29

SubclassesSubclasses

• Subclass = special case = fewer entities = moreSubclass = special case = fewer entities = more properties.

• Example: Ales are a kind of beer• Example: Ales are a kind of beer.– Not every beer is an ale, but some are.

L h i ddi i ll h– Let us suppose that in addition to all the properties (attributes and relationships) of beers, ales also have the attribute colorales also have the attribute color.

30

Subclasses in E/R DiagramsSubclasses in E/R Diagrams

• Assume subclasses form a treeAssume subclasses form a tree.– i.e., no multiple inheritance.

• Isa triangles indicate the subclass relationship• Isa triangles indicate the subclass relationship.– Point to the superclass.

31

ExampleExample

Bname manfBeersname manf

isa

Alescolor

32