When I set up custom System Table, the values often refer to other tables for making selections. I configure this in TR_REFERENCE_COLUMN. What I don't do is establish proper foreign key relationships. I'm a little torn about this. What do people think? The arguments I can see for doing it:
Against I can think of:
Declare foreign key constraints when keying to another one of your local tables, but don't do this when keying on a Tessitura base table. Technically speaking, establishing a foreign key relationship qualifies as affecting the schema of your target table, which is, of course, "unsupported". I don't like to get into unsupported territory unless I have an exceedingly good reason to, and that usually means I will commit to doing a (unless you've automated it) complicated and risky routine of undoing and redoing these schema changes before and after every service pack installation. This could also affect being able to delete objects from within the Tessitura Client if you have rows in your local reftable that are referencing that object.
That said, once you cross the "firewall" into local table land--why not give yourself schema guarantees when you have foreign key relationships among local tables?