Yes, just put PRIMARY KEYboth objects in the link table, defining a key UNIQUEfor both objects:
myrel(entityA, entityB, UNIQUE(entityA), UNIQUE(entityB))
Thus, if entityA = 1associated with entityB = 2:
entityA entityB
1 2
you cannot associate entityA = 1with any other entityB, nor entityB = 2with any other entityA.
(.. entityA entityB , entityA entityB entityB entityA), CHECK constrant
entityA entityB
UNIQUE(entityA)
UNIQUE(entityB)
CHECK(entityA < entityB)
:
SELECT entityA, entityB
FROM myrel
UNION
SELECT entityB, entityA
FROM myrel
(0-1):(0-1).
, 1:1, entityA, entityB:
myrel(entityA, entityB, UNIQUE(entityA), UNIQUE(entityB))
A(id, PRIMARY KEY(id), FOREIGN KEY(id) REFERENCES myrel (entityA))
B(id, PRIMARY KEY(id), FOREIGN KEY(id) REFERENCES myrel (entityB))
FOREIGN KEY , 1 (0-1).