1 / 25

Associative Entities

Associative Entities. A relationship cannot have attributes What happens when one or more attributes exist for a relationship? Employee – Project – Billing Rate. Associative Entities.

lali
Download Presentation

Associative Entities

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. Associative Entities • A relationship cannot have attributes • What happens when one or more attributes exist for a relationship? • Employee – Project – Billing Rate

  2. Associative Entities • An associative entity is an entity type that associates the instances of more or more entity types and contains attributes that are specific to the relationship between those entity instances.

  3. Converting a relationship to an associative entity • Example • Employee’s billing rate can vary by project (employee to project, many-to-many) Billing Rate Employee Project

  4. Example: • Attribute of the relationship between property and owner is percent owned % Owned Owner Property

  5. Ternary Relationship • simultaneous relationship among one instance from each of exactly three entity sets • An associative entity is not required but is typical.

  6. Ternary Relationships – Cardinality • “one” – one instance of an entity is associated with each unique pair of the other two entities. • “many” – more than one instance of an entity is associated with each unique pair from each of the other two entities.

  7. Example(one-to-one-to-one): Employee is assigned a phone number for a project. A phone number is used only for that employee and project.

  8. Example (one-to-one-to-one): Employee Has Project Phone Number Note: An employee could still be assigned to multiple projects but would have a unique phone number for each project assignment.

  9. Example(one-to-one-to-many): Employee assigned to a project works at one location for that project but can work at different locations for different projects. At a location an employee only works on one project, but there can be many employees working on that same project.

  10. Example(one-to-one-to-many): Employee Has Project Location

  11. Example(one-to-many-to-many): Employee on a project has one manager. Manager can manage several projects. Each project has one manager. Manager can manage the same employee on different projects.

  12. Example(one-to-many-to-many): Employee Has Project Manager

  13. Example(many-to-many-to-many): Employees use many skills on many projects and each project has many employees with varying skills.

  14. Example(many-to-many-to-many): Employee Has Project Skill

  15. Ternary Relationships • Why not just make the ternary relationship an associative entity? Location Employee Project

  16. Good idea if possible. However, • “Business Rules” • Need for separate (strong) entity • What if location also related to other entities? • No longer valid as associative entity If you can safely get rid of ternary (or n-ary) relationships, DO IT. However, don’t trade correctness for ease of implementation.

  17. Example: • Employee assigned to a project works at one location and is only assigned to one project. However, projects can be at more than one location and have multiple employees working on them at each location. Multiple projects can be at the same location. Draw the E-R Diagram.

  18. Example: • Now, suppose employees have a billing rate that varies with both project and location. Update your E-R Diagram.

  19. Generalization/Specialization • Generalization: Defining a general entity type from a set of more specialized ones (bottom-up). • Specialization: Defining one or more specialized entities from a more general one based on distinguishing characteristics (top-down).

  20. Examples: • Generalization: Bank account generalized from checking, savings, and loan. • Specialization: Property for sale divided into single family, duplex, apartment, commercial, or industrial.

  21. Why use generalization or specialization? • clarity • more fully describe situation • conversion to OO (inheritance) • different relationships only apply to specific subtypes • monthly charges only made to checking accounts • different relationships only apply to the supertype • customer must have an account with the bank • different (additional) attributes for the subtypes

  22. Generalization/Specialization • Applies to entities only • Types: • disjoint – can be only one subtype • overlapping – can be more than one subtype • Completeness Constraint – subtypes fully inclusive of supertype

  23. Generalization/Specialization • Disjoint – student can be undergraduate, masters, or doctoral • Overlapping – major can be history, philosophy, or mathematics

  24. Example • A company sells products whose price can change at most once a day. Need to be able to track the price history.

  25. Multivalued Attribute Product ID Product Description Price Price History Effective Date Product Type

More Related