เมื่อออกแบบฐานข้อมูลระบบจองห้องพักโรงแรม พบว่าข้อมูลแขก เช่น เบอร์โทรศัพท์และอีเมล ถูกจัดเก็บซ้ำในหลายแถวของตารางการจอง วิธีใดแก้ไขปัญหาการซ้ำซ้อนของข้อมูลนี้ได้อย่างถูกต้องตามหลักการออกแบบฐานข้อมูล
กสร้าง View สำหรับข้อมูลแขกแต่ละราย เพื่อกรองข้อมูลซ้ำออกก่อนนำไปแสดงผลในรายงาน
ขเพิ่มคอลัมน์ให้ตารางการจองเพื่อรองรับข้อมูลแขกหลายคนในแถวเดียว โดยใช้การแบ่งข้อมูลด้วยเครื่องหมายจุลภาค
คแยกข้อมูลแขกออกเป็นตารางใหม่และเชื่อมความสัมพันธ์กับตารางการจองด้วย Foreign Key เพื่อให้เป็นไปตามหลัก Normalization
งใช้ Trigger ตรวจสอบและลบข้อมูลที่ซ้ำกันออกโดยอัตโนมัติทุกครั้งที่มีการบันทึกข้อมูลการจองใหม่
เฉลยอธิบาย
การแก้ปัญหาข้อมูลซ้ำซ้อน (Data Redundancy) ตามหลักการออกแบบฐานข้อมูลที่ถูกต้องคือการทำ Normalization โดยแยกข้อมูลแขกออกเป็นตาราง Guest แล้วเชื่อมกับตาราง Reservation ด้วย Foreign Key ซึ่งช่วยลดการซ้ำซ้อน รักษาความถูกต้องของข้อมูล และทำให้การแก้ไขข้อมูลแขกทำได้เพียงจุดเดียว ส่วนตัวเลือกอื่นไม่ใช่การแก้ปัญหาที่ต้นเหตุ