Závisí na omezeních:
- Máte cizí klíče nebo CHECK na
apples
které naoranges
neexistují (nebo naopak)? - Potřebujete zachovat jedinečné klíče v obou tabulkách (takže žádné
apple
může mít stejné ID jako některéorange
)?
Pokud jsou odpovědi na tyto dvě otázky:"ano" a "ne" , ponechte tabulky oddělené (takže omezení mohou být specifická pro tabulku).
Pokud jsou odpovědi:"ne" a "ano" , sloučit je dohromady (takže můžete vytvořit klíč, který zahrnuje oba).
Pokud jsou odpovědi:"ano" a "ano" , zvažte emulaci dědičnosti:
Vyhledat data je typickým příkladem tabulek, které vypadají podobně, ale musí být udržovány odděleně, aby mohly být FK odděleny.
Konkrétně se jedná o strategii "všechny třídy v samostatných tabulkách" pro reprezentaci dědičnosti (aka. kategorie, podtřídy, podtypování, hierarchie zobecnění atd.). Možná se budete chtít podívat na tento příspěvek pro více informací.