ให้เราบอกว่าฉันกำลังออกแบบฐานข้อมูลสำหรับสถานการณ์ที่มีความสัมพันธ์แบบหนึ่งต่อศูนย์หรือหนึ่ง (1-0..1) ตัวอย่างเช่น:
- มีชุดของเป็นผู้ใช้และบาง ผู้ใช้ก็อาจจะเป็นลูกค้า
ดังนั้นฉันจึงสร้างตารางที่สอดคล้องกันสองตารางusers
และcustomers
แต่ ...
... วิธีที่ดีที่สุดในการแสดงและนำสถานการณ์นี้ไปใช้ในแพลตฟอร์ม SQL ที่กำหนดคืออะไร ฉันได้พิจารณาวิธีแก้ปัญหาที่เป็นไปได้สองข้อแล้ว:
ใน
users
ตารางเพิ่มcustomer
คอลัมน์ซึ่งอาจเป็นการอ้างอิงคีย์ต่างประเทศcustomers
หรือNULL
เครื่องหมายใน
customers
ตารางรวมuser
คอลัมน์ (ตั้งค่าด้วยUNIQUE
ข้อ จำกัด ) ซึ่งชี้ไปที่users
ตาราง
ฉันได้ถามคำถามที่คล้ายกันในฟอรัมแล้ว แต่คำตอบก็คือ "สิ่งที่คุณต้องการ", "อะไรก็ตามที่คุณคิดว่าสะดวก" ฉันไม่ชอบคำตอบแบบนี้ ฉันต้องการทฤษฎี DB ที่จริงจังแทนคำตอบที่ได้รับการยอมรับอย่างดี ฉันจะอ่านความสัมพันธ์เกี่ยวกับ 1-0..1 ได้ที่ไหน