Cho sơ đồ quan hệ sau:
HOADON(MAHĐ,MAHH,SOLUONG,ĐONGIA,TENHH,MALOAI,TENLOAI)
Trong đó:
- MAHĐ: mã hoá đơn, MAHH: mã hàng hoá, TENHH: tên hàng hoá, MALOAI: mã loại hàng hoá, TENLOAI: tên loại hàng hoá.
- MAHĐ, MAHH là hai khoá.
a) Hãy viết phụ thuộc hàm truyền và phụ thuộc hàm từng phần có thể có từ quan hệ trên.
b) Cho biết quan hệ trên thoả mãn chuẩn 2 hay chưa ? Giải thích ? Nếu chưa thoả chuẩn 2 tìm cách đưa quan hệ trên thoả chuẩn 2 nhưng không làm mất dữ liệu.
c) Từ câu b kiểm tra quan hệ trên có thoả chuẩn 3 hay chưa ? Nếu chưa thoả đưa quan hệ trên thoả dạng chuẩn 3.
Lời giải

a)
MAHH-->(TENHH, MALOAI, TENLOAI)
MALOAI -->TENLOAI

b) Quan hệ trên chưa thoả 2NF vì tồn tại phụ thuộc hàm từng phần MAHH-->(TENHH, MALOAI, TENLOAI)
Tách sơ đồ quan hệ trên như sau: R = R1*R2
R1 = HOADON(MAHH,TENHH,MALOAI,TENLOAI)
= HANGHOA(MAHH,TENHH,MALOAI,TENLOAI) với khoá là MAHH.
R2 = HOADON(MAHĐ,MAHH,SOLUONG,ĐONGIA) với khoá là MAHĐ,MAHH.

c)Quan hệ trên chưa thoả mãn 3NF vì tồn tại phụ thuộc hàm truyền. Đưa quan hệ trên về dạng mới thoả mãn 3NF như sau :
R = R1*R2 = R1_1*R1_2*R2 trong đó:
R1_1 = HANGHOA(MAHH,TENHH,MALOAI) với khoá là MAHH.
R1_2 = HANGHOA(MALOAI,TENLOAI)
= LOAIHANG(MALOAI,TENLOAI) với khoá là MALOAI.
R2 = HOADON(MAHĐ,MAHH,SOLUONG,ĐONGIA) với khoá là MAHĐ, MAHH.