Katakanlah saya sedang merancang database untuk skenario di mana ada hubungan satu-ke-nol-atau-satu (1-0..1). Sebagai contoh:
- Ada satu set Pengguna , dan beberapa Pengguna mungkin juga Pelanggan .
Jadi, saya membuat dua tabel yang sesuai, users
dan customers
, tapi ...
... Apa cara terbaik untuk mewakili dan mengimplementasikan situasi ini dalam platform SQL yang diberikan? Saya telah mempertimbangkan dua solusi yang mungkin:
Dalam
users
tabel, tambahkancustomer
kolom yang dapat berupa referensi KUNCI ASINGcustomers
atauNULL
tanda.Dalam
customers
tabel, sertakanuser
kolom (diatur denganUNIQUE
batasan) yang menunjuk keusers
tabel.
Saya sudah mengajukan pertanyaan serupa di beberapa forum, tetapi jawabannya pada dasarnya adalah "apa pun yang Anda butuhkan", "apa pun yang menurut Anda nyaman". Saya tidak suka jawaban seperti ini. Saya ingin sepotong teori DB serius, jawaban yang cukup beralasan. Di mana saya bisa membaca tentang hubungan 1-0..1?