To, že data mají podobnou strukturu, neznamená, že mají stejný význam nebo stejná omezení. Udržujte své vyhledávací tabulky oddělené. Tím zůstanou cizí klíče oddělené, takže se databáze může chránit před odkazováním na nesprávný druh vyhledávacích dat.
Přál bych si, aby relační DBMS podporovaly dědičnost, kde byste mohli definovat základní strukturu v nadřazené tabulce a pouze přidat konkrétní FK v podřízených tabulkách. Jak to teď stojí, budete muset vydržet nějaké opakování ve vašem DDL...
POZNÁMKA:Jedna výjimka z pravidla „uchovávat vyhledávací tabulky odděleně“ může být, když váš systém potřebuje být dynamický (tj. musí být schopen přidávat nové druhy vyhledávacích dat, aniž by bylo nutné vytvářet nové fyzické tabulky v databázi), ale nezdá se, že by daleko od vaší otázky.
S jednou velkou vyhledávací tabulkou samotné FK nezastaví (například) ShippingLog
tabulka z odkazu na řádek určený pro EmployeeTask
stůl. Pomocí identifikace vztahů a migrace PK se před tím můžete chránit, ale ne bez zavedení některých nadbytečností a potřeby pečlivého omezení. Je čistší a pravděpodobně výkonnější jednoduše dělat správnou věc a udržovat vyhledávací tabulky oddělené.