Beror på begränsningar:
- Har du främmande nycklar eller kontroller på
apples
som inte finns påoranges
(eller vice versa)? - Behöver du hålla nycklar unika för båda tabellerna (så inget
apple
). kan ha samma ID som vissaorange
)?
Om svaren på dessa två frågor är:"ja" och "nej" , håll tabellerna åtskilda (så att begränsningar kan göras tabellspecifika).
Om svaren är:"nej" och "ja" , slå ihop dem (så att du kan skapa en nyckel som sträcker sig över båda).
Om svaren är:"ja" och "ja" , överväg att emulera arv:
Sökdata är ett typiskt exempel på tabeller som ser likadana ut, men som ändå måste hållas åtskilda så att FK:er kan hållas åtskilda.
Specifikt är detta strategin "alla klasser i separata tabeller" för att representera arv (aka. kategori, underklassning, undertypning, generaliseringshierarki etc.). Du kanske vill ta en titt på det här inlägget för mer information.