How to model a set of unique objects


I have an entity type called 'Object', and I need to model an object set as a list of unique objects with variable length. Then, each object could belongs to many object sets.

Current entity-relationship diagram (ERD)

This is my ERD so far, with a many-to-many relationship:

enter image description here

Tables design

At this point, we have the next tables:

Object table:

  • ObjectID (PrimaryKey)
  • ObjectAttribute1
  • ObjectAttribute2
  • […]

ObjectSet table:

  • ObjectSetID (PrimaryKey)
  • ObjectSetAttribute1
  • […]


  • ObjectSetID (ForeignKey)
  • ObjectID (ForeignKey)

Using this model, we could have two different sets of objects with exactly the same combination of objects, which could never happen.

My question

How could improve my model to implement this restriction?

Best Answer

The problem can not be solved with the relational model, but, as @jean says in the comments, we can calculate a hash of the objects that make up the set of objects and form a field with restriction of uniqueness.