กรณีวิเคราะห์ฐานข้อมูล b4dac6b8ddfd713a311a5f1b57e8915759eb46fc77eee9e9d2cc3a7ebec32b30: เมื่อปรับปรุงระบบ ควรป้องกันความผิดพลาด รักษาความถูกต้อง และลดผลกระทบของ ฐานข้อมูลของโรงเรียนต้องจัดเก็บข้อมูลนักเรียน วิชาเรียน และคะแนนสอบ โครงสร้างที่เหมาะสมคือมีความสัมพันธ์ระหว่างตารางแบบใด?
กนักเรียน - วิชาเรียน: หนึ่งต่อหนึ่ง (One-to-One) ทั้งหมด
ขข้อมูลทั้งหมดเก็บในตารางเดียว
คนักเรียน - วิชาเรียน: หลายต่อหลาย (Many-to-Many) และแยกตาราง 'คะแนน' เพื่อแสดงความสัมพันธ์นี้
งนักเรียน - วิชาเรียน: หนึ่งต่อหลาย (One-to-Many) ในตารางเดียวกัน
เฉลยอธิบาย
ความสัมพันธ์หลายต่อหลายเกิดขึ้นเมื่อ นักเรียนคนหนึ่งสามารถเรียนวิชาหลายวิชา และวิชาเดียวสามารถมีนักเรียนหลายคน ต้องแยกตาราง 'คะแนน' (Junction Table) เพื่อจัดการความสัมพันธ์นี้ ตัวเลือก B ไม่ถูกต้องเพราะนักเรียนคนหนึ่งมีคะแนนหลายวิชา ตัวเลือก C ทำให้ข้อมูลซ้ำซ้อน ตัวเลือก D ไม่ตรงกับความเป็นจริง