Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 The Entity-Relationship Data Model Chapter 2 (Database Design)

Similar presentations


Presentation on theme: "1 The Entity-Relationship Data Model Chapter 2 (Database Design)"— Presentation transcript:

1 1 The Entity-Relationship Data Model Chapter 2 (Database Design)

2 2 Steps in designing a database Analysis: –What information needs to be stored? –What are the relationships between different components of the stored information? –What is the suitable database structure (or schema)? Design the database structure (using a database design language or notation suitable for expressing design) Implementation in DBMS once committed to the design

3 3 Steps in picture Ideas/ Problems Database Structure Database Design DBMS Analysis Design Implementation E/R diagram Relational model ODL, ORDL

4 4 Entity-Relationship Model Traditional & popular Graphical representation Three types of elements –Entity set (rectangle) –Attributes (oval) –Relationship (diamond)

5 5 Entity Set Collection of similar objects Similar to a class in the sense of OOP Entity vs. entity set Example: Database about movies, their stars, the studio that producing them, and other aspects of movies. –A movie is an entity –Collection of movies is an entity set –Other entities in this db: ?

6 6 Attributes Entity set has associated attributes Each attribute represents a property of entities belonging to the entity set Example: –The entity set Movies has the associated attribute Title  each movie has a title Assumption: attributes are atomic values  address with two components (e.g. number, street) cannot be used as an attribute of an entity set

7 7 Relationship Connections among entity sets Represent a relationship between entity sets –If E and F are two entity sets and R connect the two, then R is a binary relation between E and F, mathematically we write R  E x F. Example: Movies and Stars are two entity sets and a connection Stars-In between the two  the intention: m is related to s means that star s starts in movie m.

8 8 E/R Diagram A graph representing entity sets, attributes, and relationships. –Entity set (rectangle) –Attributes (oval) –Relationship (diamond)

9 9 Movies Stars_in Owns title year length film type Studios name address Stars nameaddress

10 10 A reading of the previous diagram Three entity sets: –Movies [title,year,length,film type] –Stars[name,address] –Studio[name,address] Two relationships –(m:n) – Stars_in(Movies,Stars) –(m:1) – Owns(Movies,Studios)

11 11 Instance of an E/R diagram Concrete data of a database, whose structure is represented by a E/R diagram, creates a database instance In an instance –For each entity set: a particular finite set of entities, each has values for each attribute –For each relationship connecting the entities E 1, E 2,…,E n a set of tuples (e 1,e 2,…,e n ) each e i is an entity in the entity set of E i –Where are the attributes?

12 12 Example A possible database instance of the previous E/R diagram (Note: The info is inserted for illustrative purpose only – it needs not be true in real life ) Basic instinct1990150Drama Total recall1989120Mystery Sharon Stonea1 Arnold Schwarzeneggera2 Basic instinctSharon Stone Total recallSharon Stone Total recallArnold Schwarzenegger MoviesStars Stars_in Universal Studio Dream World Studio Basic instinctUniversal Studio Total recallUniversal Studio Owns

13 13 A little of math before continuing E, F are two sets –R  E x F: R is a binary relation from E to F R is a set whose member is a pair (e,f) where e is a member of E and f is a member of F R could be empty, could be equal the Cartesian product of E and F –R is many to one relation if for each e in E there is at most one element (e,f) in R –R is one to one: many to one from E to F and many to one from F to E –R is many to many: not many to one from E to F and not many to one from F to E

14 14 many-one one-many one-one many-many

15 15 Multiplicity of Binary E/R Relationship R is a binary relation from E to F –One to many –One to one –Many to many Representing using arrow in the connection between entity set and relationship –Arrow entering an entity set represents the ‘one’ in the above description

16 16 Movies Stars_in Owns title year length film type Studios name address Stars nameaddress many-many many-one

17 17 Multiway Relationships Easy to handle in E/R diagram: connect all related entity sets with the relationship (Note: weakening the relationship (movie,studio) ) Movies Contracts Studios Stars Contracts relationship: (studio,star,movie)

18 18 Roles in Relationship An entity set can appear more than one times in a relationship E/R diagram: labeling the arc connecting the entity set and the relationship Movies Sequel_of Original Sequel

19 19 Another example Movies Contracts Studios Stars Producing studio Studio of star

20 20 Attributes on Relationships How to record the salary of a star in a contract? Movies Contracts Studios Stars salary ? ? ?

21 21 Attributes on Relationships How to record the salary of a star in a contract? Ans: attribute of Contracts! Movies Contracts Studios Stars salary

22 22 Movies title year length film type Studios name address Stars nameaddress Contracts salary The complete diagram of the Contracts relationship. Can we live without *? * *

23 23 Movies title year length film type Studios name address Stars nameaddress Contracts salary Salaries

24 24 Eliminating Attributes on Relationship Introducing a new entity set whose attributes are the attributes attached to the relationship Connecting the new entity set to the relationship, with the arrow pointed to the new entity set

25 25 Converting Multiway Relationship to Binary Relationship Useful when the language for defining the database structure does not allow multiway relationship. Simple: –Introducing a new entity set representing the relationship –Introducing binary relation between the new entity set and the old ones which are connecting to the relationship

26 26 Movies Contracts Studios Stars Producing studio Studio of star Movies Studios Stars Contracts Movie_of Star_of Producing studio Studio of star Before After

27 27 Subclasses in the E/R Model Subclass: common in real-life Represented by the isa relationship isa is one-one relationship In E/R diagram: –draw as a triangle –no arrows into the entity sets

28 28 Movies titleyearlengthfilm type Cartoons Murder Mysteries isa weapon Voices Stars At home: read example 2.10 and 2.11.

29 29 Design Principles Faithfulness Avoiding redundancy Simple Select the right relationships Select the right kind of element

30 30 Faithfulness Entity sets and attributes should reflect reality. Relationships are created only if they make sense given what we know about the domain/application. Example: –Stars_in relationship should be many-many –Teaches relationship between Courses and Instructors? What? How?

31 31 No Redundancy Motto: Stored everything only one! Space reason (less serious) Consistency (serious) Example: Add an attribute studioName to the entity set Movies while having the relationship Owns between Movies and Studios – consequences: –More space (obvious: studio name stored twice) –Change in ownership of a movie  change in the Owns relationship and the Movies entity set

32 32 Simplicity Do only whatever is necessary! Example: MoviesOwnsStudios MoviesOwnsStudiosHoldings Represents is better than

33 33 Right Relationships Should we represent every possible relationships? NO: due to space & redundancy requirements  get only the necessarily one How? Consider the assumptions, identify those that cannot be deduced from or represented by others

34 34 Movies title year length film type Studios name address Stars nameaddress Contracts Stars_in Owns Assumption: a star can plays in a movie if there is a contract involving the star and the movie  Stars_in is redundant

35 35 Movies title year length film type Studios name address Stars nameaddress Works_for Stars_in Owns Question: Would it make sense to have a relationship Works_for? Depending …

36 36 Right Kind of Element Attribute vs. Entity set/Relationship Example: address –in the examples so far: attribute –better as an entity with attributes such as street, number, zip code, state

37 37 Example: What happens if we replace Studios by its two attributes?  redundancy, losing information (if a studio does not own a movie its address is lost) Movies Stars_in Owns title year length film type Studios name address Stars nameaddress

38 38 When to use attribute for entity set E? All relationships connecting to E must have an arrow entering E. Attributes for E must collectively identify an entity. If there are more than one attributes then they must not depend on each other. No relationship involves E more than one.

39 39 Converting from Entity sets to Attributes E R F AB F AB

40 40 Converting from Entity sets to Attributes E R F AB F R F A B F


Download ppt "1 The Entity-Relationship Data Model Chapter 2 (Database Design)"

Similar presentations


Ads by Google