Presentation is loading. Please wait.

Presentation is loading. Please wait.

M.P. Johnson, DBMS, Stern/NYU, Sp20041 C20.0046: Database Management Systems Lecture #3 Matthew P. Johnson Stern School of Business, NYU Spring, 2004.

Similar presentations


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

1 M.P. Johnson, DBMS, Stern/NYU, Sp20041 C20.0046: Database Management Systems Lecture #3 Matthew P. Johnson Stern School of Business, NYU Spring, 2004

2 M.P. Johnson, DBMS, Stern/NYU, Sp2004 2 Agenda Last time: E/R models, some design issues This time: More design “carving at the joints”  Redundancy  Whether an element should be an attribute or entity set  Replacing a relationships with entity sets Constraints  Identifying & specifying key attributes to an entity set  Recognizing other types of single-valued constraints  Representing referential integrity constraints  Identifying & representing general constraints Weak entity sets

3 M.P. Johnson, DBMS, Stern/NYU, Sp2004 3 Review Multiplicity review:  Square-of? (e.g., (3,9))  Cube-of? (e.g., (-3,-27))  Wife-of?  Wife-of-in-Utah?

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

5 M.P. Johnson, DBMS, Stern/NYU, Sp2004 5 Avoiding redundancy Say everything exactly once  Minimize database storage requirements  More important: prevent possible update errors simplest but not only e.g.: modify data one place but not the other – more later Example: Spot the redundancy StudiosMovies Own StudioName Name Length Name Address Redundancy: Movies “knows” the studio two ways Phone

6 M.P. Johnson, DBMS, Stern/NYU, Sp2004 6 Spot more redundancy Different redundancy: studio info listed for every movie! Movies StudioName Name Length SAddress SPhon e Name Length Studio SAddress SPhone Pulp Fiction… Miramax NYC 212-… Sylvia… Miramax NYC 212-… Jay & Sil. Bob … Miramax NYC 212-… …

7 M.P. Johnson, DBMS, Stern/NYU, Sp2004 7 Don’t add relships that are implied StudentsCourses TAs Enrolls TA-of Assist Suppose each course again has <=1 TA Q: Is the following good design? A: If TAs other than the course’s TA can help students, then yes; if not, then no: we can connect Students and TAs by going through Courses; redundant!

8 M.P. Johnson, DBMS, Stern/NYU, Sp2004 8 Correct E/R models may contain loops Person plays multiple roles:  employee of company  buyer of product price address namessn Person buys makes employs Company Product namecategory stockprice name

9 M.P. Johnson, DBMS, Stern/NYU, Sp2004 9 More design  Repeating TA names & IDs – redundant  TA is not TAing any course now  lose TA’s data!  TA should get its own ES StudentsCourses Enrolls Q: What’s wrong with this design? A: TA-NameTA-ID TA-Email Course-ID CName

10 M.P. Johnson, DBMS, Stern/NYU, Sp2004 10 Opposite problem: Entity or attribute? Some E/Rs improved by removing entities Can convert Entity E  attributes of F 1. R:F  E is many-one  one-one counts because special case 2. Attributes for E are independent of each other  knowing one att val doesn’t tell us another att val Then  remove E  add all attributes of E to F

11 M.P. Johnson, DBMS, Stern/NYU, Sp2004 11 StudentsCourses Enrolls TA-Name Assists TA Entity  attribute CName Room StudentsCourses Enrolls CName Room TA-Name Course-ID

12 M.P. Johnson, DBMS, Stern/NYU, Sp2004 12 Convert TA entity again? No! Multiple TAs allowed Violates condition (1) Redundant course data StudentsCourses Enrolls Assists TA CName CIDRoom TA-Name DBMS 46 123 Howard DBMS 46 123 Wesley … CName Room Course-ID TA-Name

13 M.P. Johnson, DBMS, Stern/NYU, Sp2004 13 Convert TA entity again? StudentsCourses Enrolls Assists TA CName Room Course-ID TA-IDTA-Favorite-Color No! TA has dependent fields Violates condition (2)  How can it tell? Redundant TA data CName TA-Name TA-ID TA-Color DBMS Ralph 678 Green A.Soft. Ralph 678 Green … TA-Name

14 M.P. Johnson, DBMS, Stern/NYU, Sp2004 14 Entity or attributes? Should student address be an entity or an attribute? If student may have multiple addresses, must be entity  campus address, permanent address  attributes cannot be set-valued If we need to examine structure of address, must be entity  find all students from NYS but not NYC If attribute, then it’s probably a simple string  no structure!  NB: this choice is a microcosm of entire miniworld  (much) power of a DB comes from the structure imposed on the data

15 M.P. Johnson, DBMS, Stern/NYU, Sp2004 15 Larger example DB design Application: library database. Authors have written books about various subjects; different libraries in the system may carry these books. Entities (with attributes in parentheses):  Authors (ssn, name, phone, birthdate)  Books (ISDN, title)  Subjects (sname)  Libraries (lname) Relations [associating entities in square brackets]:  Wrote-on [Authors, Subjects]  Carry [Libraries, Subjects]  On [Books, Subjects]

16 M.P. Johnson, DBMS, Stern/NYU, Sp2004 16 E/R of DB design Name Author ssnphonebirthdate wrote-on Subject SName Title Carries Library LName On Book ISBN

17 M.P. Johnson, DBMS, Stern/NYU, Sp2004 17 Poor initial design First design is a poor model of this system Problems:  no direct relship associating authors and books  no direct relship associating libraries and books Common queries complex and difficult  What libraries carry books by a given author?  What books has a given author written?  Who is the author of a given book? Some not supported:  How many copies does a lib. have of a given book?  What edition of a book does the library have?

18 M.P. Johnson, DBMS, Stern/NYU, Sp2004 18 Larger example DB design 2 Application: library database as before Entities (with attributes in parentheses):  Authors (ssn, name, phone, birthdate)  Books (ISDN, title)  Subjects (sname)  Libraries (lname) Relations [associating entities in square brackets] (attributes in parentheses):  Wrote [Authors, Books]  Carries [Libraries, Books] (quantity, edition)  On [Books, Subjects]

19 M.P. Johnson, DBMS, Stern/NYU, Sp2004 19 E/R of improved DB design Rule of thumb: often queried together  make closely connected Name Author ssnphonebirthdate wrote Book ISBN Title Carries Library LName Edition Quantity On Subject SName

20 M.P. Johnson, DBMS, Stern/NYU, Sp2004 20 Next topic: Constraints (2.3) Review: programmer-defined rules stating what should always be true about consistent databases Restrictions on data:  Keys (e.g. SSN uniquely identifies people)  Single value constraints (e.g. everyone has 1 father)  Referential Integrity (e.g. person’s record refers to father  father must exist)  Domain constraints (e.g. gender in M/F, age in 0..150)  General constraints (e.g. no more than 10 customers per sales rep) Can’t infer constraints from data  may hold “accidentally”  they are a part of the schema

21 M.P. Johnson, DBMS, Stern/NYU, Sp2004 21 E/R keys Uniquely identifies entity in ES Attribute or set of attributes  Two entities cannot agree on all attributes  These attributes determine all others Every ES has a key  possibly including all attributes Primary key attributes underlined More than one possible key:  Candidate keys, primary key ISA hierarchy:  Root entity set has all key-attributes Practical tip: create intentional key attribute  E.g. SSN, course-id, employee-id, etc.  SSN likely shorter than (name,address)  Prevents quasi-redundancy address namessn Person

22 M.P. Johnson, DBMS, Stern/NYU, Sp2004 22 Single-valued constraints “at most one” value  sharp arrows E.g. attributes: could be null or one Many-one relationships: the “one” part is single-valued. Key attributes are single-valued  but can’t be null TACourse Assists

23 M.P. Johnson, DBMS, Stern/NYU, Sp2004 23 Referential integrity “Exactly one value” Non-null attributes Relationships  Non-null value refers to entity that exists  Refer to entity with foreign key  HTML analogy: no broken links  Programming analogy: no dangling pointers  Ways of handling deletion: Prevent deletion as long as referrer exist Enforce deletion of all referrers InstructorCourse Taught

24 M.P. Johnson, DBMS, Stern/NYU, Sp2004 24 Referential integrity – ER e.g. Insertion – must refer only existing entity Suppose need to add  course: “Intro to Screaming”  instructor: Prof. Howard Q: Which order? Q: What if relship were exactly-exactly?  i.e., referential integrity in both directions? A: Put both inserts in one xact – later StudentsCourses Enrolls Instructor Taught

25 M.P. Johnson, DBMS, Stern/NYU, Sp2004 25 Other kinds of constraints Domain constraints  E.g. date: must be after 1980  Enumerated type: grades A through F, no E  No specific ER notation: mention with attribute or relationship General constraints:  A class may have no more than 100 students; a student may not have more than 6 courses: StudentsCourses Enroll <=6<=100

26 M.P. Johnson, DBMS, Stern/NYU, Sp2004 26 Next topic: Weak entity sets (2.4) Definition:  Some or all key attributes belong to another ES Why:  An entity set is part of a hierarchy (not ISA)  Connecting entity sets The key consists of  0, 1 or more of its own attributes  Key attributes of entity sets from supporting relationships

27 M.P. Johnson, DBMS, Stern/NYU, Sp2004 27 Conditions of Supporting relationships Supporting relationship R:E  F  R is many-one (E-F) or one-one  R is binary (Why?)  Referential integrity from E to F i.e. a rounded arrow  Attributes supplied to E are key attributes of F  F itself may be weak Another entity set G, and so on recursively  A1 A2 R E F

28 M.P. Johnson, DBMS, Stern/NYU, Sp2004 28 If several supporting relationships from E to F  Keys of several different entities from F appear as foreign key of E Other many-one relationships  Not necessarily supporting Requirements for weak entity sets From By Purchases A1 A2 A3 People Stores At-store  

29 M.P. Johnson, DBMS, Stern/NYU, Sp2004 29 Weak entity sets Example: Hierarchy – species & genus Idea: species name unique per genus only Species name Belongs-to Genus name 

30 M.P. Johnson, DBMS, Stern/NYU, Sp2004 30 Video store connecting entity sets e.g. was a weak entity set Key: date, MID,SID, CID Weak entity sets    MID SID CID Rental StoreOf MovieOf BuyerOf date Product Store Customer

31 M.P. Johnson, DBMS, Stern/NYU, Sp2004 31 Conceptual Design Using the ER Model Subject/design choices:  Should a concept be modeled as an entity or an attribute?  Should a concept be modeled as an entity or a relationship?  Identifying relationships: Binary or multiway? Constraints in the ER Model:  Important in determining the best design.  A lot of data semantics can (and should) be captured.  Normalization improves further – later

32 M.P. Johnson, DBMS, Stern/NYU, Sp2004 32 Agenda Intro to relational model Converting ER diagrams to relations Functional dependencies  Keys and superkeys in terms of FDs  Finding keys for relations  Rules of FDs

33 M.P. Johnson, DBMS, Stern/NYU, Sp2004 33 Next topic: the Relational Data Model (3.1) Database Model (E/R, other) Relational Schema Physical storage Diagrams (E/R) Tables: column names: attributes rows: tuples Complex file organization and index structures.

34 M.P. Johnson, DBMS, Stern/NYU, Sp2004 34 Relations as tables Name Price Category Manufacturer gizmo $19.99 gadgets GizmoWorks Power gizmo $29.99 gadgets GizmoWorks SingleTouch $149.99 photography Canon MultiTouch $203.99 household Hitachi tuples/rows/records/entities Attribute names Product table/relation


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

Similar presentations


Ads by Google