ในการออกแบบฐานข้อมูลเชิงสัมพันธ์ ตาราง Student (StudentID, Name, Major, GPA) และตาราง Courses (CourseID, CourseName, Instructor) มีความสัมพันธ์ผ่านตาราง Enrollment (StudentID, CourseID, Semester, Grade) ความสัมพันธ์ระหว่างตาราง Student และ Courses เป็นแบบใด

ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (One-to-Many) โดยนักศึกษาหนึ่งคนลงทะเบียนได้หลายรายวิชา
ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many-to-Many) โดยมีตาราง Enrollment เป็นตารางเชื่อมความสัมพันธ์
ความสัมพันธ์แบบหนึ่งต่อหนึ่ง (One-to-One) โดยนักศึกษาแต่ละคนมีรายวิชาประจำเพียงหนึ่งรายวิชา
ความสัมพันธ์แบบกลุ่มต่อหนึ่ง (Many-to-One) โดยหลายรายวิชามีนักศึกษาเพียงคนเดียวเป็นเจ้าของ

เฉลยอธิบาย

ความสัมพันธ์ระหว่างตาราง Student และ Courses เป็นแบบ Many-to-Many เนื่องจากนักศึกษาหนึ่งคนสามารถลงทะเบียนได้หลายรายวิชา และรายวิชาหนึ่งวิชาสามารถมีนักศึกษาลงทะเบียนได้หลายคน ในฐานข้อมูลเชิงสัมพันธ์ ความสัมพันธ์แบบ Many-to-Many ไม่สามารถจัดเก็บได้โดยตรง จึงต้องสร้างตารางเชื่อม (Junction Table) คือตาราง Enrollment ซึ่งมีคีย์นอก StudentID และ CourseID เพื่อเชื่อมความสัมพันธ์ พร้อมเก็บข้อมูลเพิ่มเติมเช่น Semester และ Grade

ข้อสอบอื่นในวิชาการวิเคราะห์ระบบ ออกแบบฐานข้อมูลและการพัฒนาระบบสารสนเทศ

ดูข้อสอบวิชานี้ทั้งหมด →