database design and the
play

Database Design and the Entity/Relationship Model Youve just been - PowerPoint PPT Presentation

Database Design and the Entity/Relationship Model Youve just been hired by Bank of America as their DBA for their online banking web site. You are asked to create a database that monitors: customers accounts loans


  1. Database Design and the Entity/Relationship Model

  2.  You’ve just been hired by Bank of America as their DBA for their online banking web site.  You are asked to create a database that monitors: ◦ customers ◦ accounts ◦ loans ◦ branches ◦ transactions, …  Now what??!!!

  3.  1. Requirements Specification ◦ Determine the requirements of clients  2. Conceptual Design ◦ Express client requirements in terms of some high-level model (E/R model). ◦ Confirm with clients that requirements are correct.  3. Functional Requirements ◦ Specify required data operations ◦ priorities, response times  4. Logical Design ◦ Convert E/R model to relational, object-based, XML- based,…  5. Physical Design ◦ Specify file organizations, build indexes

  4. Conceptual Design The E/R Data Model  What is a Data Model?  Framework for organizing and interpreting data Example: E/R Data Model Relationship Entity 2 Entity 1 Attribute 2a Attribute 2b Attribute 1a Attribute 1b Attribute 2c

  5. E/R Data Model Basics  Entities  noun phrases (e.g., Bob Smith, Thayer St. Branch)  contained in entity sets (e.g. Employee, Branch)  have attributes (e.g., Employee = (essn, ename, …))  Relationships  verb phrases (e.g., works_at, works_for)  relate 2 (binary) or more (n-ary) entities  relationship sets characterize relationships amongst entity sets  e.g., (Bob Smith, Thayer St Branch)  Works_At

  6. E/R Data Model An Example Employee Works_At Branch essn phone bname bcity seniority since ename children manager Works_For Employee Entity Set worker Relationship Set Works_At Lots of notation to come. Color is irrelevant phone Attribute

  7. E/R Data Model Types of Attributes Employee Works_At Branch essn phone bname bcity seniority since ename children manager Works_For ename worker Default children Multivalued seniority Derived

  8. E/R Data Model Types of relationships Employee Works_At Branch essn phone bname bcity seniority since ename children manager Works_For worker Works_For Many-to-One (n:1) Works_At Many-to-Many (n:m)

  9. E/R Data Model Recursive relationships Employee Works_At Branch essn phone bname bcity seniority since ename children Recursive relationships: Must be declared with roles manager Works_For worker manager Employee Works_For worker

  10. E/R Data Model Design Issue #1: Entity Sets vs. Attributes  (b) (a) Employee Phone Employee Uses vs phone_loc phone_no no loc  To resolve, determine how phones are used  1. Can many employees share a phone? (If yes, then (b))  2. Can employees have multiple phones? (if yes, then (b), or (a) with multivalued attributes)  3. Else (a)

  11. E/R Data Model Design Issue #2: Entity Sets vs. Relationship Sets  An Example: How to model bank loans Customer Branch Loans Customer Loan vs Borrows cssn bname bcity cname cssn lno amt cname (a) lno amt (b)  To resolve, determine how loans are issued  1. Can there be more than one customer per loan?  If yes, then (a). Otherwise, loan info must be replicated for each customer (wasteful, potential update anomalies)  2. Is loan a noun or a verb?  Both, but more of a noun to a bank. (hence (a) probably more appropriate)

  12. E/R Data Model Design Issue #3: Relationship Cardinalities  An Example:  ? ? Customer Loan Borrows  Variations on Borrows:  1. Can a customer hold multiple loans?  2. Can a loan be jointly held by more than 1 customer?

  13. E/R Data Model Design Issue #3: Relationship Cardinalities ? ? Customer Loan Borrows  Cardinalities of Borrows:  Type Illustrated Multiple Loans? Joint Loans? One-to-One (1:1) No No Borrows Many-to-one (n:1) No Yes Borrows One-to-many (1:n) Yes No Borrows Many-to-many (n:m) Yes Yes Borrows

  14. E/R Data Model Design Issue #3: Relationship Cardinalities (cont)  In general...  1:1 n:1 1:n n:m

  15. E/R Data Model Design Issue #4: N-ary vs Binary Relationship Sets  An Example: Works_At Ternary: Employee Works_at Branch Choose n-ary when possible! Dept (Joe, Thayer, Acct)  Works_At vs Binary: WA E WA WA B Branch Employee WA D (Joe, w 3 )  WA E (Thayer, w 3 )  WA B Dept (Acct, w 3 )  WA D

  16. E/R Data Model Keys Key = set of attributes identifying individual entities or relationships  Employee eaddress ephone essn ename  A. Superkey: any attribute set that distinguishes identities  e.g., {essn}, {essn, ename, eaddress}   B. Candidate Key:  “minimal superkey ” (can’t remove attributes and preserve “ keyness ”) e.g., {essn}, {ename, eaddress}   C. Primary Key: candidate key chosen as the key by a DBA  e.g., {essn} (denoted by underline) 

  17. E/R Data Model Relationship Set Keys Employee Works_At Branch ename ... ... essn bcity bname since Q: What attributes are needed to represent relationships in Works_At? b 1 e 1 e 2 b 2 e 3 A: {essn, bname, since}

  18. E/R Data Model Relationship Set Keys (cont.) Employee Works_At Branch ename ... ... essn bcity bname since  Q: What are the candidate keys of Works_At? b 1 e 1 e 2 b 2 e 3 A: {essn}

  19. E/R Data Model Relationship Set Keys (cont.) ? ? Employee Works_At Branch ename ... ... essn bcity bname since  Q: What are the candidate keys if Works_At is...?  a. 1:n A: {bname} b. n:m A: {essn, bname} c. 1:1 A: {essn} or {bname}

  20. E/R Data Model Relationship Set Keys (cont.)  General Rules for Relationship Set Keys E 1 R E 2 ... ... P (E 1 ) P (E 2 )  If R is: Candidate Keys R P (E 1 ) or P (E 2 ) 1:1 P (E 2 ) 1:n P (E 1 ) n:1 P (E 1 )  P (E 2 ) n:m

  21. E/R Data Model Existence Dependencies and Weak Entity Sets  Idea: ◦ Existence of one entity depends on another  Example: Loans and Loan Payments Payment Loan Loan_Pmt lamt pdate pamt pno lno Weak Entity Set Identifying Relationship Total Participation

  22. E/R Data Model Existence Dependencies and Weak Entity Sets Payment Loan Loan_Pmt lamt pdate pamt lno pno Weak Entity Sets  existence of payments depends upon loans  have no superkeys: different payment records (for  different loans) can be identical  instead of keys, discriminators: discriminate between payments for given loan (e.g., pno)

  23. E/R Data Model Existence Dependencies and Weak Entity Sets Payment Loan Loan_Pmt lamt pdate pamt pno lno  Identifying Relationships  We say:  Loan is dominant in Loan_Pmt  Payment is subordinate in Loan_Pmt  Payment is existence dependent on Loan

  24. E/R Data Model Existence Dependencies and Weak Entity Sets Loan Payment Loan_Pmt lamt lno pdate pamt pno  All elements of Payment appear in Loan_Pmt

  25. E/R Data Model Existence Dependencies and Weak Entity Sets E 2 E 1 R ... att a1 ... att bn att am att b1  Q. Is {att b1 , …, att bn } a superkey of E 2 ? A: No  Q. Name a candidate key of E 2 A: {att a1 , att b1 }  Q. Does total participation of E 2 in R  E 2 is existence-dep? A: No

  26. E/R Data Model Extensions to the Model: Specialization and Generalization  An Example:  Customers can have checking and savings accts  Checking ~ Savings (many of the same attributes)  Old Way: Customer Has 1 Savings Acct interest balance acct_no Has 2 Checking Acct overdraft balance acct_no

  27. E/R Data Model Extensions to the Model: Specialization and Generalization  An Example:  Customers can have checking and savings accts  Checking ~ Savings (many of the same attributes)  New Way: balance acct_no superclass Customer Has Account Isa Savings Acct Checking Acct interest overdraft subclasses

  28. E/R Data Model Extensions to the Model: Specialization and Generalization  Subclass Distinctions:  1. User-Defined vs. Condition-Defined  User: Membership in subclasses explicitly determined (e.g., Employee, Manager < Person)  Condition: Membership predicate associated with subclasses - e.g: Person Isa Senior Child Adult age > 65 age < 18 18  age

  29. E/R Data Model Extensions to the Model: Specialization and Generalization  Subclass Distinctions:  2. Overlapping vs. Disjoint  Overlapping: Entities can belong to >1 entity set (e.g., Adult, Senior)  Disjoint: Entities belong to exactly 1 entity set (e.g., Child) Person Isa Adult Senior Child age > 65 age < 18 18  age

  30. E/R Data Model Extensions to the Model: Specialization and Generalization  Subclass Distinctions:  3. Total vs. Partial Membership  Total: Every entity of superclass belongs to a subclass e.g., Person Isa Child Adult Senior age  65 age  18 age < 18  Partial: Some entities of superclass do not belong to any subclass (e.g., Suppose Adult condition is age  21 )

  31. E/R Data Model Extensions to the Model: Aggregation  E/R: No relationships between relationships  E.g.: Associate loan officers with Borrows relationship set Loan Customer Borrows ? Loan_Officer Employee  Associate Loan Officer with Loan ?  What if we want a loan officer for every (customer, loan) pair?

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend