ในการออกแบบฐานข้อมูลสำหรับระบบจัดการเรียนการสอนของมหาวิทยาลัย ความสัมพันธ์ระหว่างนักศึกษากับวิชาควรเป็นแบบใด เนื่องจากนักศึกษา 1 คนสามารถลงทะเบียนได้หลายวิชา และวิชา 1 วิชาสามารถมีนักศึกษาลงทะเบียนได้หลายคน
กความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many-to-Many) โดยสร้างตารางกลาง เช่น ตารางการลงทะเบียน เพื่อเชื่อมความสัมพันธ์และจัดเก็บข้อมูลเพิ่มเติม เช่น คะแนน
ขความสัมพันธ์แบบหนึ่งต่อกลุ่ม (One-to-Many) โดยเพิ่ม Foreign Key รหัสวิชาไว้ในตารางนักศึกษาเพื่อระบุวิชาที่นักศึกษาแต่ละคนลงทะเบียน
คความสัมพันธ์แบบหนึ่งต่อหนึ่ง (One-to-One) โดยสร้างตารางแยกสำหรับนักศึกษาและวิชา แล้วเชื่อมด้วย Primary Key ร่วมกัน
งความสัมพันธ์แบบกลุ่มต่อหนึ่ง (Many-to-One) โดยเพิ่ม Foreign Key รหัสนักศึกษาไว้ในตารางวิชาเพื่อระบุนักศึกษาที่ลงทะเบียนในแต่ละวิชา
เฉลยอธิบาย
ความสัมพันธ์ระหว่างนักศึกษากับวิชาเป็นแบบ Many-to-Many เพราะนักศึกษา 1 คนลงทะเบียนได้หลายวิชา และวิชา 1 วิชามีนักศึกษาลงทะเบียนได้หลายคน การออกแบบที่ถูกต้องคือสร้างตารางกลาง (Junction Table) เช่น ตารางการลงทะเบียน ที่มี Foreign Key อ้างอิงทั้งรหัสนักศึกษาและรหัสวิชา และสามารถเก็บข้อมูลเพิ่มเติมเช่นคะแนนในตารางนี้ได้ด้วย