กรณีวิเคราะห์ฐานข้อมูล c26edf171daadbcc2940c80d23ab6f4f99bf659aa229c1e9687cd2652beb5b20: เมื่อปรับปรุงระบบ ควรป้องกันความผิดพลาด รักษาความถูกต้อง และลดผลกระทบของ บริษัทจัดการโครงการก่อสร้างสนามกีฬาต้องออกแบบฐานข้อมูลที่มีตาราง Teams (ทีมงาน) และ Members (สมาชิก) โดยสมาชิก 1 คนสามารถอยู่ได้หลายทีม และทีม 1 ทีมมีสมาชิกได้หลายคน ความสัมพันธ์นี้จำเป็นต้องมีตารางกลาง (Junction Table) เพราะเป็นความสัมพันธ์ประเภทใด?
กความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many-to-Many) ซึ่งไม่สามารถแสดงได้ด้วยตารางเพียง 2 ตาราง จึงต้องสร้างตารางกลางเพื่อแสดงความสัมพันธ์
ขความสัมพันธ์แบบหนึ่งต่อกลุ่ม (One-to-Many) ซึ่งใช้ Foreign Key เชื่อมตารางทั้งสองได้โดยตรง
คความสัมพันธ์แบบหนึ่งต่อหนึ่ง (One-to-One) ซึ่งต้องการตารางกลางเพื่อลดความซ้ำซ้อนของข้อมูล
งความสัมพันธ์แบบลำดับชั้น (Hierarchical) ซึ่งต้องการตารางกลางเพื่อเก็บข้อมูลระดับชั้นของสมาชิกในแต่ละทีม
เฉลยอธิบาย
ความสัมพันธ์ที่สมาชิก 1 คนอยู่ได้หลายทีม และทีม 1 ทีมมีสมาชิกได้หลายคน คือความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many-to-Many) ซึ่งในระบบฐานข้อมูลเชิงสัมพันธ์ไม่สามารถแสดงได้ด้วยตารางเพียง 2 ตาราง จึงต้องสร้างตารางกลาง (Junction Table) หรือ Associative Table เช่น Team_Members ที่เก็บ Foreign Key จากทั้งสองตาราง เพื่อบันทึกความสัมพันธ์ระหว่างทีมและสมาชิกแต่ละคู่