Bài giải tham khảo bài Thực hành số 7
Phụ thuộc hàm & Chuẩn hóa dữ liệu
Bài 1
Cho quan hệ R(A, B, C, D, E) với các phụ thuộc hàm sau:
-
A, B --> C
-
C, D --> E
-
D, E --> B
Tìm tất cả các khóa của R.
-
. Vậy {ABD} là một khóa của R. Loại bỏ các tập cha của {B} là {BC}, {BE}, {BCE}.
-
. Vậy {ACD} là một khóa của R. Loại bỏ các tập cha của {C} là {CE}.
-
. Vậy {ADE} là một khóa của R.
Vậy 3 khóa của R là {ABD}, {ACD} và {ADE}.
Bài 2
Cho quan hệ R(A, B, C, D, E, F, G, H, I, J) với các phụ thuộc hàm sau:
-
A, B --> C
-
A --> D, E
-
B --> F
-
F --> G, H
-
D --> I, J
-
Tìm tất cả các khóa của R.
-
Chuẩn hóa quan hệ trên theo thứ tự: 1NF, 2NF, 3NF.
-
Tìm tất cả các khóa của R:
Vậy R có khóa duy nhất là {AB}.
-
Chuẩn hóa quan hệ trên theo thứ tự:
-
R (A, B, C, D, E, F, G, H, I, J) F = {A,BC; AD,E; BF; FG,H; DI,J}
-
R1 (A, B, C) F1 = {A,BC}
-
R2 (A, D, E, I, J) F2 = {AD,E; DI,J}
-
R3 (B, F, G, H) F3 = { BF; FG,H }
-
R1 (A, B, C) F1 = {A,BC}
-
R21 (A, D, E) F21 = {AD,E}
-
R22 (D, I, J) F22 = {DI,J}
-
R31 (B, F) F31 = {BF}
-
R32 (F, G, H) F32 = {FG,H}
(Lưu ý: Các quan hệ trên cũng đã đạt được chuẩn BCNF)
Bài 3
Cho quan hệ R(A, B, C, D, E, F, G, H, I, J) với các phụ thuộc hàm sau:
-
A, B --> C
-
B, D --> E, F
-
A, D --> G, H
-
A --> I
-
H --> J
-
Tìm tất cả các khóa của R.
-
Chuẩn hóa quan hệ trên theo thứ tự: 1NF, 2NF, 3NF.
-
Tìm tất cả các khóa của R:
Vậy R có khóa duy nhất là {ABD}.
-
Chuẩn hóa quan hệ trên theo thứ tự:
-
R(A, B, D, C, E, F, G, H, I, J) F = {A,BC; B,DE,F; A,DG,H; AI; HJ}
-
R1 (A, B, C) F1 = {A,BC}
-
R2 (B, D, E, F) F2 = {B,DE,F}
-
R3 (A, D, G, H, J) F3 = {A,DG,H; HJ}
-
R4 (A, I) F4 = {AI}
-
R1 (A, B, C) F1 = {A,BC}
-
R2 (B, D, E, F) F2 = {B,DE,F}
-
R31 (A, D, G, H) F31 = {A,DG,H}
-
R32 (H, J) F32 = {HJ}
-
R4 (A, I) F4 = {AI}
(Lưu ý: Các quan hệ trên cũng đã đạt được chuẩn BCNF)
Bài 4
Cho quan hệ R(ShipName, ShipType, VoyageID, Cargo, Port, Date) với các phụ thuộc hàm sau:
-
ShipName --> ShipType
-
VoyageID --> ShipName, Cargo
-
ShipName, Date --> VoyageID, Port
-
Tìm tất cả các khóa của R.
-
Chuẩn hóa quan hệ trên theo thứ tự: 1NF, 2NF, 3NF, BCNF.
-
Tìm tất cả các khóa của R:
-
-
-
-
-
Các tập con của L là {ShipName}, {VoyageID}, {ShipName, VoyageID}
-
. Vậy {ShipName, Date} là một khóa của R. Loại bỏ các tập cha của {ShipName} là {ShipName, VoyageID}.
-
. Vậy {VoyageID, Date} là một khóa của R.
Vậy R có 2 khóa là {ShipName, Date} và {VoyageID, Date}.
-
Chuẩn hóa quan hệ trên theo thứ tự:
-
R (ShipName, ShipType, VoyageID, Cargo, Port, Date)
-
Khóa: {ShipName, Date} và {VoyageID, Date}
-
F = {ShipName ShipType; VoyageID ShipName, Cargo; ShipName, Date VoyageID, Port)
-
R1 (ShipName, ShipType) F1 = {ShipName ShipType}
-
R2 (VoyageID, Cargo) F2 = {VoyageID Cargo}
-
R3 (ShipName, VoyageID, Port, Date)
Khóa: {ShipName, Date} và {VoyageID, Date}
F3 = {VoyageID ShipName; ShipName, Date VoyageID, Port)
Nhận xét: R1, R2, R3 cũng đạt chuẩn 3NF
-
R1 (ShipName, ShipType) F1 = {ShipName ShipType}
-
R2 (VoyageID, Cargo) F2 = {VoyageID Cargo}
-
R31 (VoyageID, ShipName) F31 = {VoyageID ShipName)
-
R32 (VoyageID, Date, Port) F32 = {VoyageID, Date Port)
Bài 5
Cho quan hệ sau với các dữ liệu mẫu:
-
Xác định các phụ thuộc hàm.
-
Chuẩn hóa quan hệ trên theo thứ tự: 1NF, 2NF, 3NF, BCNF.
-
Xác định các phụ thuộc hàm:
-
PartNumber Description
-
Supplier SupplierAddress
-
PartNumber, Supplier Price
-
Chuẩn hóa các quan hệ:
Vậy R có 1 khóa duy nhất là .
-
R (PartNumber, Description, Supplier, SupplierAddress, Price)
-
F = {PartNumber Description; Supplier SupplierAddress; PartNumber, Supplier Price}
-
R1 (PartNumber, Description) F1 = {PartNumber Description}
-
R2 (Supplier, SupplierAddress) F2 = { Supplier SupplierAddress}
-
R3 (PartNumber, Supplier, Price) F3 = { PartNumber, Supplier Price}
R1, R2, R3 cũng đã đạt được chuẩn 3NF, BCNF.
Hệ Cơ Sở Dữ Liệu – HK2 / 2011 – 2012 Khoa KH&KTMT – Bộ môn Hệ Thống Thông Tin
Chia sẻ với bạn bè của bạn: |