ในการออกแบบฐานข้อมูลห้องสมุด คณาจารย์คนหนึ่งเสนอให้เก็บข้อมูลผู้เขียนหลายคนรวมไว้ในฟิลด์เดียว เช่น 'ผู้เขียน1, ผู้เขียน2, ผู้เขียน3' ปัญหาหลักของแนวทางนี้คืออะไร

ละเมิดหลัก 1NF เนื่องจากฟิลด์ไม่เป็น Atomic ทำให้ค้นหาและจัดการข้อมูลผู้เขียนแต่ละคนได้ยาก
ทำให้ฐานข้อมูลใช้พื้นที่จัดเก็บมากเกินไป เนื่องจากข้อมูลผู้เขียนถูกเก็บซ้ำในหลายระเบียน
ทำให้เกิด Redundancy สูงเพราะฐานข้อมูลต้องสร้าง Index ให้กับทุกชื่อผู้เขียนโดยอัตโนมัติ
ขัดต่อหลัก 3NF เนื่องจากข้อมูลผู้เขียนมีความสัมพันธ์แบบ Transitive กับ Primary Key ของตาราง

เฉลยอธิบาย

การเก็บข้อมูลผู้เขียนหลายคนในฟิลด์เดียวเป็นการละเมิด First Normal Form (1NF) ซึ่งกำหนดว่าแต่ละฟิลด์ต้องมีค่าเป็น Atomic หรือแบ่งแยกไม่ได้ เมื่อเก็บรวมกันแบบนี้จะทำให้ไม่สามารถค้นหา กรอง หรือเชื่อมโยงข้อมูลผู้เขียนแต่ละคนได้อย่างมีประสิทธิภาพ วิธีแก้ไขที่ถูกต้องคือสร้างตารางแยกสำหรับผู้เขียน แล้วใช้ความสัมพันธ์แบบ Many-to-Many ผ่านตารางกลาง (Junction Table)

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

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