Tergantung kendala:
- Apakah Anda memiliki kunci asing atau CHECK pada
apples
yang tidak ada dioranges
(atau sebaliknya)? - Apakah Anda perlu menjaga agar kunci tetap unik di kedua tabel (jadi tidak ada
apple
dapat memiliki ID yang sama dengan beberapaorange
)?
Jika jawaban dari dua pertanyaan ini adalah:"ya" dan "tidak" , pisahkan tabel (sehingga batasan dapat dibuat khusus untuk tabel).
Jika jawabannya adalah:"tidak" dan "ya" , gabungkan keduanya (sehingga Anda dapat membuat kunci yang mencakup keduanya).
Jika jawabannya adalah:"ya" dan "ya" , pertimbangkan untuk meniru warisan:
Cari data adalah contoh tabel yang terlihat serupa, namun harus dipisahkan agar FK dapat dipisahkan.
Secara khusus, ini adalah strategi "semua kelas dalam tabel terpisah" untuk mewakili pewarisan (alias kategori, subkelas, subtipe, hierarki generalisasi, dll.). Anda mungkin ingin melihat postingan ini untuk info lebih lanjut.