Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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 year title Movies name Stars-In address Stars name length filmType Owns Studios 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 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. 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. 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).