Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL

โมเดลความสัมพันธ์แบบตัวต่อตัว


ในฐานข้อมูล "การขายผลิตภัณฑ์" ผลิตภัณฑ์อาจมีข้อมูลเสริมเพิ่มเติม เช่น รูปภาพ คำอธิบายเพิ่มเติม และความคิดเห็น การเก็บไว้ในตารางผลิตภัณฑ์ส่งผลให้เกิดพื้นที่ว่างจำนวนมาก (ในระเบียนเหล่านั้นโดยไม่มีข้อมูลเสริมเหล่านี้) นอกจากนี้ ข้อมูลขนาดใหญ่เหล่านี้อาจทำให้ประสิทธิภาพของฐานข้อมูลลดลง

แต่เราสามารถสร้างตารางอื่นได้ (เช่น ProductDetails, ProductLines หรือ ProductExtras) เพื่อจัดเก็บข้อมูลทางเลือก เรกคอร์ดจะถูกสร้างขึ้นสำหรับผลิตภัณฑ์เหล่านั้นที่มีข้อมูลเสริมเท่านั้น ตารางสองตาราง Products และ ProductDetails แสดงความสัมพันธ์แบบหนึ่งต่อหนึ่ง นั่นคือ สำหรับทุกแถวในตารางหลัก จะมีอย่างน้อยหนึ่งแถว (อาจเป็นศูนย์) ในตารางย่อย ควรใช้ productID คอลัมน์เดียวกันเป็นคีย์หลักสำหรับทั้งสองตาราง

บางฐานข้อมูลจำกัดจำนวนคอลัมน์ที่สามารถสร้างภายในตารางได้ คุณสามารถใช้ความสัมพันธ์แบบหนึ่งต่อหนึ่งเพื่อแยกข้อมูลออกเป็นสองตาราง ความสัมพันธ์แบบหนึ่งต่อหนึ่งยังมีประโยชน์สำหรับการจัดเก็บข้อมูลที่สำคัญบางอย่างในตารางที่ปลอดภัย ในขณะที่ความสัมพันธ์ที่ไม่ละเอียดอ่อนในตารางหลัก

โมเดลความสัมพันธ์แบบตัวต่อตัว