Nadya,
Just to put a concrete example together for lurkers:
LookupId LookupType LookupValue
1 Color Red
2 Color Green
3 Color Blue
4 Flavor Sweet
5 Flavor Sour
If you have a table that has a column for the item's color and it's FK constrained only on table.ColorNo = Loopup.LookupId then it would be possible for an item to have a color of "Sour".
The FK constraint needs to have the LookupType included in the constraint so that only the Color rows are valid ColorNo values.
>>FK constraints on lookups are every bit as critical. If you use a single overloaded lookup table you need to ensure that you constrain the lookuptype for a given FK into the lookup.
>>
>>>In this question I was more concerned about lookup tables. Of course, for real parent and child we must have triggers in place. I do agree with having them for lookup as well, but want to find out the general practice.
>
>That was originally implemented with very fanky indexes. We changed the indexes, but left the constrains. So, you're right, they don't make much sense now!
>
>Thanks for helping me in realizing that.