ระบบบัญชีต้องบันทึกข้อมูลประกอบด้วย รหัสรายการ วันที่ จำนวนเงิน คำอธิบาย และรหัสบัญชี (เจ้าหนี้หรือลูกหนี้) โดยในตารางเดียวมีรหัสบัญชีหลายตัวที่ซ้ำซ้อนกัน วิธีแก้ไขปัญหาโครงสร้างฐานข้อมูลที่เหมาะสมที่สุดคือข้อใด

แยกตารางบัญชีออกเป็นตารางใหม่ต่างหาก แล้วใช้รหัสบัญชีเป็น Foreign Key เชื่อมกับตารางรายการ เพื่อลดความซ้ำซ้อนของข้อมูล
เพิ่มคอลัมน์ประเภทบัญชีในตารางเดิม โดยใช้ค่า 0 แทนเจ้าหนี้ และค่า 1 แทนลูกหนี้ เพื่อจำแนกประเภทบัญชีในตารางเดียว
สร้างตารางแยกสำหรับเจ้าหนี้และลูกหนี้คนละตาราง โดยคัดลอกข้อมูลรายการทั้งหมดไว้ในแต่ละตารางเพื่อความสะดวกในการค้นหา
รวมข้อมูลรหัสบัญชีทุกตัวไว้ในคอลัมน์เดียวโดยคั่นด้วยเครื่องหมายจุลภาค เพื่อประหยัดพื้นที่จัดเก็บและลดจำนวนตารางในฐานข้อมูล

เฉลยอธิบาย

การแยกตารางบัญชีออกเป็นตารางใหม่แล้วใช้ Foreign Key เชื่อมความสัมพันธ์เป็นหลักการ Normalization (3NF) ที่ถูกต้อง ช่วยขจัดความซ้ำซ้อน (Data Redundancy) และรักษาความสมบูรณ์ของข้อมูล (Data Integrity) ส่วนตัวเลือก B ยังคงเก็บข้อมูลในตารางเดียวซึ่งไม่แก้ปัญหาหลัก ตัวเลือก C สร้างความซ้ำซ้อนมากขึ้น และตัวเลือก D ละเมิดหลัก 1NF เพราะเก็บหลายค่าในคอลัมน์เดียว

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

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