1 / 45

Database Conceptual Design using Entity Relationship Diagram

Database Conceptual Design using Entity Relationship Diagram. CIS 8040 Database Management Systems. J.G. Zheng Feb 2010. Overview. Conceptual modeling/design Using Entity Relationship Diagram (ERD) Basic Extended Design/modeling considerations Data dictionary.

dylan
Télécharger la présentation

Database Conceptual Design using Entity Relationship Diagram

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Database Conceptual Design using Entity Relationship Diagram CIS 8040 Database Management Systems J.G. Zheng Feb 2010

  2. Overview • Conceptual modeling/design • Using Entity Relationship Diagram (ERD) • Basic • Extended • Design/modeling considerations • Data dictionary

  3. Three Level Database Design • Conceptual design • Using Entity Relationship Diagram (ERD) to represent the reality and business data requirements • Logical design • Physical design

  4. Conceptual design • Conceptual modeling/data modeling • Usually using diagram to visually represent the model • ERD

  5. Entity-Relationship Model • Proposed by Dr. Peter Chen in 1970s • http://en.wikipedia.org/wiki/Peter_Chen • ERD is a conceptual model • Major elements • Entity (with attributes and identifier) • Relationship

  6. Entity and Attribute • Entity • Entity class (entity set) • Entity instance • Attribute • Identifier

  7. Entity Notation in ERD • Note: there are several variations of ERD notations. Any one is fine – just be consistent.

  8. Modeling Consideration 1 • Attribute, attributes or entity? • “Person Name” • “Transaction Date” • “Address” • “ZIP” • “State” • “Department” • “Skill”

  9. Modeling Consideration 2 • Attribute or attribute values? • How to model the following scenario? • Contacts • An sales person can be contacted by “Fax Number”, “Cell Phone Number”, “Home Phone Number”, “Work Phone Number”, “Work Email”, etc. • Advising Hours • Faculty members have specific advising hours on 5 week days: “Monday”, “Tuesday”, etc. • Entity-attribute-value model • http://en.wikipedia.org/wiki/Entity-attribute-value_model

  10. ERD Exercise 1 • Draw a ERD (only entities and attributes) about movies • Sample data Movie: Mission Impossible Director: Brian De Palma Release Date: 22 May 1996 Genre: Action Production: Paramount Pictures (USA) Actor/ess: Tom Cruise (male), Jon Voight (male)

  11. Books Publishers publishes Relationship • Degree of relationship • How many entities are involved? • Binary (two entities) relationship is most common

  12. Unary Relationship • Unary (recursive) – only 1 entity Employee Customer ForumPost Refers replies Supervises

  13. Ternary Relationship • Ternary – 3 entities

  14. N’ary Relationship • 4 entities Physician Patient Nurse Operates Supplies

  15. Modeling Consideration 3 • Multiple independent relationships? Faculty Student Teaches Advises Employee Supervises Mentors

  16. Modeling Consideration 4 • 3 binary relationships or a ternary one? • Database Modeling and Design: Logical Design, 4th Edition by Toby J. Teorey, Sam S. Lightstone, and Tom Nadeau, 2005

  17. Modeling Consideration 4 (continued) • 3 binary relationships or a ternary one? Movie Act in Actor/ess has Character Act as Movie Act as … in … Actor/ess Character

  18. Governor State governs Types of Relationship (1) • One-to-One (1:1) • A single entity instance in one entity class is related to a single entity instance in another entity class • ER Notation (Crow’s foot)

  19. Types of Relationship (2) • One-to-Many (1:N) • A single entity instance in one entity class (parent) is related to multiple entity instances in another entity class (child) • ER Notation(Crow’s foot) Books Publishers publish

  20. Types of Relationship (3) • Many-to-Many (N:M) • Each entity instance in one entity class is related to multiple entity instances in another entity class; and vice versa • ER Notation (Crow’s foot) Books Authors write

  21. Cardinality • Cardinality • Describes participation in the relationship • Maximum cardinalities (types of relationships) • Minimum cardinalities • describes the minimum number of instances that must participate in a relationship • Optional (zero) or Mandatory (one) Certificates Programmers have

  22. ERD Exercise 2 • Movie data continued … • Let’s only consider the following entities and their attributes • Perfomers: PerformerID, FirstName, LastName, Gender • Movies: MovieID, Title, Maker, Year • MovieMakers(companies): MakerID, Name • Assumptions (business rules) • A movie has at least one actor/actress • An actor/actress does not have to be in any movie • A company does not have to make any movie • A movie does not have to be made by a company

  23. Modeling Consideration 5 • Attributes of a relationship?

  24. Modeling Consideration 6 • Relationship as an entity? Movie Acts in Actor/ess Movie Cast Actor/ess

  25. ERD Exercise 3 • Movie data continued … • Now considering this • Tom Cruise acts as Ethan Hunt in “Mission Impossible”. • Let’s consider more information about “Ethan Hunt” • “Ethan Hunt”: male, fiction figure, agent, etc.

  26. ERD: Extended • More on entity • Strong vs. weak entity • More on relationship • Generalization

  27. Weak Entity • The existence of such entity has no real business (logical) meaning without another entity (owning entity) • Requires the participation from the owning entity (minimum cardinality is 1) Dependent Employee has Room Building has

  28. ID Dependency • Weak entity’s identifier relies on its owning entity (or indentifying entity)’s identifier Room Building Building Id Room Number Building Id has

  29. Modeling Consideration 7 • Weak entity or not? • Many argues that weak entity is not important in database modeling Room Building Building Id Room Number Building Id has Room Building Room Number Building Id has

  30. Super and Sub Types • A Sub-type is a special case, or a category, of a Super-type • Student : Graduates, Undergraduates • Employee : full-time, part-time, contractor • Customer : individual, company, non-profit

  31. Sub-Type Completeness Participant Employee Organization Individual Student Employee • Completeness • Do all super type instances appear in any sub-type entities?

  32. Sub-Type Disjointness • Disjointness: does any instance appear in multiple subtype entities? • Yes: Overlap (Inclusive) • No: Disjoint (Exclusive)

  33. Modeling Consideration 8 • When to use sub-type (specification)? • There are attributes that apply to some (but not all) of the instances of an entity type

  34. Modeling Consideration 8 (continued) • When to use (specification)? • The instances of a subtype participate in a relationship unique to that subtype

  35. Modeling Consideration 9 • When to use super-type (generalization)? • When several entities have same major attributes, see if they are constantly treated together. • Faculty, staff, student assistant • Employee, customer, business partner (or, supplier) • Multiple entities participate in the same relationship with the same entity (also see modeling trap 3) Made by Donation Organization Made by Individual

  36. ERD Exercise 4 • Type of people in GSU • Student: full time, part time, graduate, undergraduate, current, prospective, etc. • Student employee: student assistant, GRA, GTA, etc. • Faculty: tenured, tenure track, visiting, PTI, non-teaching • Staff: full time, part time, admin • Alumni • Other: parents, family member, emergency contact, etc.

  37. Modeling Trap 1 • Avoid the Fan Trap Ambiguous (broken) relationship between Department and Staff

  38. Modeling Trap 2 • Avoid the Chasm Trap • See modeling consideration 3 Ambiguous (broken) relationship between Branch and Property

  39. Modeling Consideration 10 • Redundant relationship? • A relationship is redundant if it is represented by alternate transitive relationships Department Student admits Program offers admits

  40. Modeling Consideration 10 (continued) From: Database Modeling and Design: Logical Design, 4th Edition by Toby J. Teorey, Sam S. Lightstone, and Tom Nadeau, 2005

  41. Modeling Trap 3* Donation Made by Organization Made by Individual • Avoid the same (identical) relationship with multiple entities • See modeling consideration 10

  42. Analysis and Modeling Tips • Modeling is an iterative refinement process • Start with basic and obvious facts or concepts; then let entities, attributes, and relationships eventually emerge. • Identify binary relationships and maximum cardinality first. • Identify minimum cardinality and check for common modeling traps; consider n’ery relationships if necessary; check for redundant relationships and missing relationships. • Add, combine, or split entities and attributes as needed. Check relationships and constraints after changes. • Start with specific function areas (user views) and integrate them later • View integration • Ensure the consistency between requirements, ERD and the data dictionary

  43. Data Dictionary • A document that records detailed descriptions of data requirements and all ERD elements • Practically, it should include: • Definitions (detailed description) for entities, attributes and relationships • Business rules (constraints, assumptions or other requirements) and justifications that support the design of entities, attributes and relationships • Data type, domain values, etc. – see database project deliverable #1

  44. Key Concepts • ERD • Entity • Strong vs. weak entity • Attribute and identifier • Relationship • 1:1, 1:N, N:M • Degree • Unary, binary, ternary, etc. • Cardinality • Super- and sub-types • Completeness and disjointness • Data dictionary

  45. Summary of Modeling Guidelines • Modeling considerations • Attribute(s) or entity? • Attributes or attribute values? • Multiple independent relationships? • Ternary or multiple binary relationships? • Attributes of a relationship? • Relationship or entity? • Weak entity or not? • Sub-type or not? • Super-type or not? • Redundant relationships? • Modeling traps • Fan trap • Chasm trap • Same relationship with other multiple entities

More Related