โรงพยาบาลแห่งหนึ่งพบว่าเมื่อลบข้อมูลแพทย์ออกจากระบบ ข้อมูลแผนกที่แพทย์นั้นสังกัดหายไปด้วย ปัญหานี้เรียกว่าอะไร และเกิดจากสาเหตุใด

Deletion Anomaly เกิดจากการเก็บข้อมูลแผนกไว้ในตารางแพทย์โดยตรงโดยไม่แยกตาราง
Update Anomaly เกิดจากการไม่ตั้งค่า CASCADE UPDATE
Insertion Anomaly เกิดจากการไม่กำหนด Default Value ให้กับฟิลด์แผนก
Referential Integrity Violation เกิดจากการตั้งค่า Foreign Key ผิดพลาด

เฉลยอธิบาย

Deletion Anomaly เกิดขึ้นเมื่อการลบข้อมูลหนึ่งทำให้สูญเสียข้อมูลที่ไม่เกี่ยวข้องไปด้วย สาเหตุคือการเก็บข้อมูลแผนก (Department) ไว้ในตารางแพทย์โดยตรงแทนที่จะแยกออกเป็นตารางต่างหาก การแก้ไขคือแยกตาราง Department ออกและใช้ Foreign Key ตัวเลือก B เป็น Update Anomaly และ C เป็น Insertion Anomaly ส่วน D ไม่ใช่คำอธิบายตรงของการสูญเสียข้อเท็จจริงเรื่องแผนกจากการลบแถวแพทย์ ตัวเลือก A จึงถูกต้อง

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

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