I have table in my data base with these specs:
- one PK
- 3 fields with foreign key
- some statistic fields
problem is here:
In every row only one FK field will be filled.
What is the best solution A or B?
A- define 3 FK for my table
B- define one field as FK_TYPE and one field as DEMAND_FK and use checking on FK_TYPE for result
Option A – if you’ve got to have this design, you’ll need a separate column for each foreign key. There’s no (standard) way to define a “conditional” foreign key.
If your system supports check constraints, include a check constraint so that exactly one of the FK columns is not null. If it doesn’t support check constraints, add triggers that enforce this same check.