Aggregation is an abstraction concept for building composite objects from their component objects. ... the possibility of combining objects that are related by a particular relationship instance into a higher-level aggregate object. This is sometimes useful when the higher-level aggregate object is itself to be related to another object. We call the relationship between the primitive objects and their aggregate object IS-A-PART-OF; the inverse is called IS-A-COMPONENT-OF. UML provides for all three types of aggregation.

Here in the last sentence "the inverse is called IS-A-COMPONENT-OF" is a mistake?. Are "IS-A-COMPONENT-OF" and "IS-A-PART-OF" the same thing? If so what should we call an inverse?

  • 1
    $\begingroup$ Maybe “is-composed-of" ? $\endgroup$
    – Renzo
    Sep 10, 2021 at 7:18
  • 2
    $\begingroup$ These relations seem to have no standard name. The textbook might have been written by a non-native speaker. I suggest simply ignoring the names, and concentrating on the ideas. $\endgroup$ Sep 10, 2021 at 9:23
  • $\begingroup$ yes, the book "Fundamentals of Database Systems" 7th edition is written by Elmasri and Navathe $\endgroup$ Sep 12, 2021 at 5:45

1 Answer 1


Looks like IS-A-COMPONENT-OF is a typo for IS-COMPOSED-OF. Except for the former being there & in the index, the 6th doesn't use either of those names.


They mean (re IS-A-PART-OF & IS-COMPOSED-OF [sic]) that for the ordered-tuple notion of binary relation (defined as obviously suggested by the variable names),

forall part, composite ,
        IS-A-PART-OF(part, composite)
    iff IS-COMPOSED-OF(composite, part)

For the unordered tuple notion of binary relation you have one relation (defined as obviously suggested by the attribute names) that you could reasonably call by either name. But a notion of an "inverse" for such a relation involves picking an order for attributes. (Like using functional dependencies that hold.)

  • $\begingroup$ I am maybe going away from the databases topic, but is this component and composite kind of similar to the same terms mentioned in Design Patterns (a.k.a 'Gang of Four' book)? Specifically, composite pattern? The 'Component' and 'Composite' in this image refer to the same terms right? $\endgroup$ Sep 12, 2021 at 6:55
  • $\begingroup$ Those are generic words & notions that get used everywhere. (Like parent & child.) (The immediate context of the quote presents the EER model. Another notion is soon mentioned along with the different terms used for it in EER & UML.) The exact meaning of a word depends on how it is defined in a given context. It's pretty clear that the EER isn't using composite & component with the exact meanings of the diagram you give where G4 leaf & G4 composite are types of G4 component. But in EER terms, a G4 component of type G4 composite would be composite. $\endgroup$
    – philipxy
    Sep 12, 2021 at 8:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.