JavaScript is required

Cho quan hệ SVTHI ( Monthi ,Msv , Hoten, Tuoi, Diachi, Diem), và F=

{Monthi.MsvàDiem; MsvàHoten.Tuoi.Diachi}. Tách quan hệ trên như thế nào để đạt chuẩn 3NF?

A.

A.SV1(Msv, Monthi) và SV2(Msv, Hoten, Tuoi, Diachi, Diem)

B.

B.SV1(Msv, Hoten, Monthi, Diem) và SV2(Msv, Hoten, Tuoi, Diachi)

C.

C.SV1(Msv, Monthi, Diem) và SV2(Msv, Hoten, Tuoi, Diachi)

D.

D.SV1(Msv, Monthi, Diem) và SV2(Hoten, Tuoi, Diachi)

Trả lời:

Đáp án đúng: C


Phân tích bài toán: * **Quan hệ gốc:** SVTHI (Monthi, Msv, Hoten, Tuoi, Diachi, Diem) * **Phụ thuộc hàm (F):** * Monthi, Msv -> Diem * Msv, Hoten -> Tuoi, Diachi **Mục tiêu:** Tách quan hệ SVTHI thành các lược đồ đạt chuẩn 3NF. **Các bước chuẩn hóa 3NF:** 1. **Xác định khóa chính:** Dựa vào các phụ thuộc hàm, ta thấy {Msv, Monthi} là khóa chính của quan hệ SVTHI vì chúng quyết định Diem. 2. **Kiểm tra vi phạm 3NF:** * Monthi, Msv -> Diem: Diem phụ thuộc hàm vào khóa chính {Msv, Monthi}, không vi phạm 3NF. * Msv, Hoten -> Tuoi, Diachi: Tuoi và Diachi phụ thuộc hàm vào {Msv, Hoten}. {Msv, Hoten} không phải là siêu khóa của SVTHI. Như vậy, có vi phạm 3NF. 3. **Phân rã quan hệ:** Để đạt chuẩn 3NF, ta cần phân rã quan hệ SVTHI thành hai quan hệ: * **SV1(Msv, Monthi, Diem):** Quan hệ này chứa khóa chính {Msv, Monthi} và thuộc tính Diem phụ thuộc vào khóa chính. * **SV2(Msv, Hoten, Tuoi, Diachi):** Quan hệ này chứa Msv, Hoten và các thuộc tính Tuoi, Diachi phụ thuộc vào {Msv, Hoten}. Msv ở đây đóng vai trò là khóa ngoại (tham chiếu đến một quan hệ khác nếu có). **Kết luận:** Phương án C là đáp án đúng vì nó phân rã quan hệ SVTHI thành SV1(Msv, Monthi, Diem) và SV2(Msv, Hoten, Tuoi, Diachi), thỏa mãn chuẩn 3NF.

Câu hỏi liên quan