I have a parent table with multiple child tables.
Each child row has a foreign key that points to one row in the parent.
Each parent row must have a child row pointing to it.
Each parent row can have only child from any of the child tables
pointing to it.
The child is created before the parent.

A unique key in each child table would prevent two rows from one table
from pointing to the same parent row, but that would duplicate the FK
index.  I don't know if that will cause Firebird problems.

I don't know how to enforce the rule that the parent must have a child,
as the FK can't be populated until the parent exists, and the parent
isn't valid unless a child is pointing to it.  Right now we just ignore
that requirement, and so far no one has inserted a childless parent
accidentally.

We've also held back on the third requirement of each parent having only
one child, but it looks like each child table would have to manage that
rather than the parent (which would be preferable).

Disclaimer: This message (including attachments) is confidential and may be 
privileged. If you have received it by mistake please notify the sender by 
return e-mail and delete this message from your system. Any unauthorized use or 
dissemination of this message in whole or in part is strictly prohibited. 
Please note that e-mails are susceptible to change. RxStrategies, Inc. shall 
not be liable for the improper or incomplete transmission of the information 
contained in this communication or for any delay in its receipt or damage to 
your system. RxStrategies, Inc. does not guarantee that the integrity of this 
communication has been maintained nor that this communication is free from 
viruses, interceptions or interference. 


Reply via email to