Afhænger af begrænsninger:
- Har du fremmednøgler eller checks på
apples
som ikke findes påoranges
(eller omvendt)? - Har du brug for at holde nøglerne unikke på tværs af begge tabeller (så ingen
apple
). kan have samme ID som nogleorange
)?
Hvis svarene på disse to spørgsmål er:"ja" og "nej" , hold tabellerne adskilt (så begrænsninger kan gøres tabelspecifikke).
Hvis svarene er:"nej" og "ja" , flet dem sammen (så du kan skabe en nøgle, der spænder over begge dele).
Hvis svarene er:"ja" og "ja" , overvej at emulere arv:
Opslagsdata er et typisk eksempel på tabeller, der ligner hinanden, men som alligevel skal holdes adskilt, så FK'er kan holdes adskilt.
Specifikt er dette "alle klasser i separate tabeller"-strategien til at repræsentere arv (alias kategori, underklassificering, undertype, generaliseringshierarki osv.). Du vil måske tage et kig på dette indlæg for mere info.