ให้พิจารณาตาราง "พนักงาน" ต่อไปนี้: ID พนักงาน (PK), ชื่อ, ID แผนก (FK), เงินเดือน, วันเริ่มงาน หากต้องการติดตามประวัติเงินเดือนของพนักงาน (เพราะเงินเดือนอาจเปลี่ยนแปลง) ควรออกแบบอย่างไร

สร้างคอลัมน์ "ประวัติเงินเดือน" เป็นประเภท TEXT เพื่อบันทึกทั้งหมด
เพิ่มคอลัมน์ "เงินเดือนเดิม" และ "เงินเดือนใหม่" ในตาราง "พนักงาน"
สร้างตารางแยก "ประวัติเงินเดือน" ที่มี ID พนักงาน เงินเดือน วันที่เปลี่ยน
คงใจ้อมูลเงินเดือนในตาราง "พนักงาน" เท่านั้น

เฉลยอธิบาย

การออกแบบที่ถูกต้องคือ สร้างตารางแยก "ประวัติเงินเดือน" เพื่อเก็บข้อมูลประวัติการเปลี่ยนแปลง ตารางนี้ควรมี ID พนักงาน (FK) เงินเดือน วันที่เปลี่ยน เป็นต้น นี่คือการจัดการข้อมูลที่มีการเปลี่ยนแปลงตามเวลา (Temporal Data) ตัวเลือก A ผิดเพราะแค่สองค่าไม่พอ อาจมีการเปลี่ยนแปลงหลายครั้ง ตัวเลือก C ผิดเพราะจะหลากหลาย และยากต่อการค้นหาและวิเคราะห์ ตัวเลือก D ผิดเพราะจะสูญเสียข้อมูลประวัติ

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

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