ให้พิจารณาตารางเก้าอี้บินนี้: FlightID, FlightDate, Airline, Pilot, PilotLicense, Route, Destination, DistanceInKm ตารางนี้อยู่ในระดับ Normal Form ใด และควรแยกเป็นตารางอะไร

อยู่ที่ Unnormalized ต้องแยกตาราง Flight, Pilot, Route, Airline เพื่อให้แต่ละตารางมีหน้าที่เดียว
อยู่ที่ 1NF ต้องแยกออกเป็นตาราง Flight, Pilot, Route เพราะ PilotLicense และ DistanceInKm ขึ้นอยู่กับคีย์นอกจาก FlightID
อยู่ที่ 3NF เพราะไม่มีการซ้ำซ้อน
อยู่ที่ 2NF ต้องแยกข้อมูลตัวแยกตาราง Flight, Pilot, Route

เฉลยอธิบาย

วิเคราะห์ Functional Dependency: (1) PilotLicense ขึ้นอยู่กับ Pilot ไม่ใช่ FlightID → ต้องแยก Pilot (2) DistanceInKm ขึ้นอยู่กับ Route ไม่ใช่ FlightID → ต้องแยก Route (3) Destination ขึ้นอยู่กับ Route (transitive) → ต้องแยก (4) Airline ขึ้นอยู่กับ FlightID อาจอยู่ได้ หรือแยกออก ตารางนี้อยู่ที่ 1NF เท่านั้น (ไม่มี Repeating Group แต่มี Non-key Dependencies) ตัวเลือก A ผิด โดยระบุว่า 2NF แต่ 2NF ต้องไม่มี Partial Dependency ตัวเลือก C ผิดเพราะมี Transitive Dependency ตัวเลือก D ถูกแต่เลือกข้อมูลมากเกินไป B เป็นคำตอบที่ชี้แจงปัญหาได้ชัดเจนที่สุด

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

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