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