Presentation is loading. Please wait.

Presentation is loading. Please wait.

M.P. Johnson, DBMS, Stern/NYU, Spring 20051 C20.0046: Database Management Systems Lecture #2 Matthew P. Johnson Stern School of Business, NYU Spring, 2005.

Similar presentations


Presentation on theme: "M.P. Johnson, DBMS, Stern/NYU, Spring 20051 C20.0046: Database Management Systems Lecture #2 Matthew P. Johnson Stern School of Business, NYU Spring, 2005."— Presentation transcript:

1 M.P. Johnson, DBMS, Stern/NYU, Spring 20051 C20.0046: Database Management Systems Lecture #2 Matthew P. Johnson Stern School of Business, NYU Spring, 2005

2 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 2 Admin Textbooks  Ullman book pdfsbook Email sent to stern.nyu accounts

3 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 3 Agenda Last time: intro, RDBMS, ACID test This time: E/R model 1. Identify entity sets, relations and attributes 2. One-one, one-many, many-many relations 3. Simple ER diagrams to model a situation 4. 3-way relationships; Converting to binary 5. Entities with multiple roles 6. Subclasses Design issues 1. Principles of faithfulness & simplicity in ER diagrams 2. Redundancy 3. Whether an element should be an attribute or entity set 4. Replacing a relationships with entity sets

4 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 4 DB development path the World E/R design Relational schema Relational DB

5 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 5 Entity Relationship (E/R) Model A popular data model – useful to database designers Graphical representation of miniworld Used for DB design, not implementation E/R design is translated to a relational design  relational design then implemented in an RDBMS Elements of model  Entities  Entity Sets  Attributes  Relationships (!= relations!)

6 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 6 Elements of E/R Model: Entity Sets Entity: like an object  e.g. President Bush  Particular instance of a concept Entity set: set of one sort of entities or a concept  e.g. World leaders  Generally, same set of attributes Represented by a rectangle A “good” entity set – you decide  Common properties  Correspond to class of phys. or bus. objects (Employees, products, accounts, grades, campaigns, etc.) World Leader

7 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 7 Elements of E/R Model: Attributes Properties of entities in entity set  Like fields in a struct  Like columns in a table/spreadsheet  Like data members in an object Values in some domain (e.g., ints, strings) Represented by ovals: Assumed atomic  But could have limited structure  ints, strings, etc. ID Name Student

8 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 8 Elements of E/R Model: Relationships Connect two or more entity sets  e.g. students enroll in courses  Binary relationships: connect two entity sets – most common  Multiway relationships: connect several entity sets Represented by diamonds StudentsEnrollCourses

9 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 9 Elms of E/R Model: Rel’ships (cont’d) Students Enroll in courses Courses are Held in rooms The E/R data model: StudentsEnrollCourses Held Rooms Name ID

10 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 10 A little set theory A mathematical set a collection of members A set is defined by its members  “Are you in or are you out?”  No other structure, no order, no duplicates allowed Sets specified by listing:  {1, 2, 3, …} = N  {1, 2, George Bush} (not useful in DBMS) Or by “set-builder” notation:  { x in N: 2 divides x} = ?  { x in Presidents | reelected(x)} = ?  {2x: x in N} = ?

11 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 11 A little set theory One set can be a subset of another (which is a superset of it)  ReelectedPresidents is a subset of Presidents  Also, RP is a proper subset of Pres – some lost reelection Given two sets X and Y, the cross product or Cartesian product is X x Y = {(x,y): x in X, y in Y} = the set of all ordered pairs in which the first comes from X and the second comes from Y Important: (x,y) != {x,y} In an order pair or tuple  Order matters  Duplicates are allowed

12 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 12 A little set theory Mathematically, a relation between X and Y is just a subset of X x Y = all those pairs (x,y) s.t. x is related to y Example: owner-of O on People, Cats  O(MPJ, Gödel) holds The equals relation E on N, N:  E(3,3) holds because 3 = 3  E(3,4) does not hold  E is still a set: E = {(1,1), (2,2), (3,3), …} Father of relation F on People, People:  F(GHWB, GWB) holds  F(GWB, GHWB) does not hold   Relations aren’t necessarily symmetric

13 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 13 Many-many Multiplicity of Relationships Many-one One-one Representation of relationships No arrow: many-to-many Sharp arrow: many-to-one Rounded arrow: “exactly one”  “key constraint” One-one:

14 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 14 Multiplicity of Relationships StudentsEnrollsCourses Many-to-many: Student Live Residence hall Many to one: a student living in a residence hall Many to exactly one: a student must live in a residence hall Student Live Residence hall

15 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 15 Multiplicity, set-theoretically Assume no vars below are equal Many-one means:  if (x1,y1) in R then (x1,y2) cannot be in R One-many means:  if (x1, y1) in R then (x2,y1) cannot be in R One-one means:  if (x1,y1) in R, then neither (x2,y1) nor (x1,y2) can be in R Notice: one-one is stronger than many-one One-one implies both many-one and one-many

16 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 16 E/R Diagram StudentsCourses Enrolls ID Name ID Name Assisting TA ID Name

17 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 17 E/R Diagrams Works if each TA is a TA of all students  Student and TA connected only through Course But what if students were divided among multiple TAs?  Then a student in C20.0046 would be related to only one of the TA's for C20.0046—which one?  Schema doesn’t store enough info 3-way relationship is helpful here

18 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 18 Multiway Relationships Students Courses TAs Enrolls StudentsCoursesTAs Condi C20.0046 Donald George C20.0046 Dick Alberto C20.0046 Colin ……… Enrolls entries: NB: Enrolls determines TA: (student, course)  at most one TA

19 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 19 Converting multiway relships to binary Some models (e.g. ODL) limit relationships to binary Multiway relationship – equivalent collection of binary, many to one relationships Replace relationship with connecting entity set Students Courses TAs Enrolls Student-of Course-of TA- of NB: Enrolls has no attributes!

20 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 20 Second multiway e.g.: renting movies Scenario: a Customer Rents a Movie from a VideoStore on a certain date Q: Which entity does date belong to? A: To the fact of the renting Relationships can have attributes  always (implicitly) many-one Rental VideoStore Customer Movie date

21 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 21 Second multiway e.g.: renting movies But they don’t have to Relationship attributes can be replaced with (trivial) new entities Rental VideoStore Customer Movie date Date

22 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 22 Where can we draw arrows? (store, video, customer)  date ?  Date is a relship att, implicitly determined (store, video, date)  customer ? (store, date, customer)  video ? (video, date, customer)  store ? Second multiway e.g.: renting movies Rental VideoStore Customer Movie date

23 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 23 Q: Why does it matter? Round arrow benefit:  Obvious: One item takes less space than many  Less obvious: easier to access one item x than set of one item {x} In programming: an int v. a linked list with just one int Regular arrow benefit:  Mapping to a set of either one elm or none seems bad  But not implemented this way  Always one element, but that value may be NULL Lesson: it pays to identify your relship’s multiplicity

24 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 24 Second multiway e.g.: renting movies Convert to binary? Rental VideoStore Customer Movie date Rental Customer Store Movie StoreOf MovieOf BuyerOf date

25 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 25 Roles in relationships Entity set appears more than once in a relship  Generally distinct entities Each appearance is in a different role Edges labeled by roles Pre-req Prereq Successor Course Course (Pre-req) Course (Successor) AccountingFinance-I Derivatives Finance-IFinance-II CalculusDerivatives

26 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 26 Subclasses in the E/R model Some entities are special cases of other Conversely: some are generalizations  Humans are specialized mammals  Grad students are specialized students And, in turn, specialized mammals  NB: These aren’t examples but subclasses Subclass A isa B  Represented by a triangle  Always one-to-one, though arrows omitted  Root is more general  Multiple inheritance is allowed!  A single entity may consist of all components (sets of fields) in aribtrary ESs and their ancestors

27 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 27 Subclasses Movies Cartoons Murder- Mysteries isa Voices Weapon stars length title year Lion King Component “Lion King”: atts of Movies; relship Voices “Roger Rabbit”: atts of Movies; relship Voices; att weapon Roger Rabbit TX Chainsaw Massacre

28 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 28 E/R inheritance v. OO inheritance In a OOP class hierarchy, children also inherit “attributes” from parents  But an object is an instance of one class In E/R, an entity may be composed of components from multiple, not-directly-related ESs  Roger Rabbit is composed of components from Cartoons, Murder Mysteries, and Movies  We could create a Cartoon Murder Mysteries ES if there were any atts specific to them So the real difference: In E/R, can have implicit multiple inheritance between any set of IS-A- connected nodes (sharing a root)

29 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 29 Design Principles Faithfulness Avoiding redundancy Simplicity Choice of relationships Picking elements

30 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 30 Faithfulness Is the relationship many-many or many-one? Are the attributes appropriate? Are the relationships applicable to the entities? Examples  Courses & instructors maybe many-one, maybe many-many  Bosses & subordinates maybe one-many, maybe many-many

31 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 31 Simplicity Einstein: Theories as simple as possible, but not simpler. Use as few elements as possible  Minimum required relations  No unnecessary attributes (will you be using this attribute?)  Eliminate “spinning wheels” Example: how can we simplify this? MoviesOwningsStudios Owned-byOwns

32 M.P. Johnson, DBMS, Stern/NYU, Spring 2005 32 Next time We’ll finish E/R models and begin the relational model Read chapter 3 Info on project likely posted soon


Download ppt "M.P. Johnson, DBMS, Stern/NYU, Spring 20051 C20.0046: Database Management Systems Lecture #2 Matthew P. Johnson Stern School of Business, NYU Spring, 2005."

Similar presentations


Ads by Google