Tuesday, 21 August 2012

Composite Entities

  • Think back to relationship connectivity for a moment, 
  • We had 3 different types of connectivity.
    • One to One
    • One to Many
    • Many to Many
  • When finalizing your ERD's you should not leave many to many relationships in the diagram 
    • Many to Many relationship will cause a problem when we convert our ERD into the relational model.
  • We can eliminate many to many relationships by including composite entities in our diagram.
  • They replace relationship symbols in the ERD while being an entity as well.

Converting to Composite Entities

  • The first thing we need to do is to identify where in our ERD we have many to many relationship. 
  • If we spot any, we turn the relationship symbol into the composite entity symbol.
    • The composite entity is represented by combining the relationship(diamond) symbol with the entity symbol(box)
  • Entity names are usually nouns(objects) and relationship are usually described with a verb(action) 
  • Since the composite entity is more of an entity than a relationship, we should change the name of the relationship.
  • We then need to re-do the relationship connectivity. The class and student entity are no longer directly related to each other. 
  • The new relationship is now between the class and enrollment, and the student and enrollment.
  • We need to reconsider the connectivity between the 3 new entities.
    • Each class will have many enrollments and each student will have many enrollments as well.
  • We now have a composite entity, The composite entity like any other entities needs to have a key. 
  • In the case of a composite entity, we never give it its own ID number
  • In the case of a composite entity will always have a composite key that is the combination of the other two table's key,
    • Example, if the Class entity has a classID, and the Stident entity has a stuID, the composite entity's key will be ClassID and StuID.
free to give extra attributes to the composite entity. in this case let's gibe it an enrollment date.


  1. This comment has been removed by the author.

  2. Great work, very helpful! I'm glad you took the time to make this!

  3. Great work, very helpful! I'm glad you took the time to make this!