symmetric XREFs

In a symmetric XREF, two objects target each other in a such that it no longer matters whether data is loaded directly into one side of a link or another. To make a symmetric link between ?TShirt and ?Person, ?TShirt should contain

             Borrowed_by ?Person XREF TShirt
whereas ?Person is modified to contain

             TShirt ?TShirt XREF Borrowed_by
Review the three "instructions" for XREF and convince yourself that loading either of the following would leave the database in the same state:

   TShirt : sam37          OR       Person : Sarah
   Borrowed_by Sarah                TShirt sam37
The advantage to the curator is that a two-way link is reliably established by entering data for either object.

Notice that reciprocity in the example above involves two linked fields in two objects, not simply two objects. Study the following carefully:


?TShirt Borrowed_by ?Person XREF TShirt
        Destroyed_by ?Person

?Person TShirt ?TShirt
        Destroyed ?TShirt XREF Destroyed_by
In this case ?TShirt and ?Person are linked to each other but the relationship consists of two independent asymmetric links and four fields. Database state therefore still depends on which side of which links are filled in.


Show me the whole t-shirt model again.

Back to Table of Contents