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



tải về 37.25 Kb.
Chuyển đổi dữ liệu15.08.2016
Kích37.25 Kb.

Lab 7 – Functional Dependencies & Normalization Trang

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.

  • Lời giải:

  • 

  • 

  • 

  • 

  • Các tập con của L là 

  • . 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

  1. Tìm tất cả các khóa của R.

  2. Chuẩn hóa quan hệ trên theo thứ tự: 1NF, 2NF, 3NF.

  • Lời giải:

  1. Tìm tất cả các khóa của R:

  • 

  • 

Vậy R có khóa duy nhất là {AB}.

  1. Chuẩn hóa quan hệ trên theo thứ tự:

  • Chuẩn 1NF:

  • R (A, B, C, D, E, F, G, H, I, J) F = {A,BC; AD,E; BF; FG,H; DI,J}

  • Chuẩn 2NF:

  • R1 (A, B, C) F1 = {A,BC}

  • R2 (A, D, E, I, J) F2 = {AD,E; DI,J}

  • R3 (B, F, G, H) F3 = { BF; FG,H }

  • Chuẩn 3NF:

  • R1 (A, B, C) F1 = {A,BC}

  • R21 (A, D, E) F21 = {AD,E}

  • R22 (D, I, J) F22 = {DI,J}

  • R31 (B, F) F31 = {BF}

  • R32 (F, G, H) F32 = {FG,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

  1. Tìm tất cả các khóa của R.

  2. Chuẩn hóa quan hệ trên theo thứ tự: 1NF, 2NF, 3NF.

  • Lời giải:

  1. Tìm tất cả các khóa của R:

  • 

  • 

Vậy R có khóa duy nhất là {ABD}.

  1. Chuẩn hóa quan hệ trên theo thứ tự:

  • Chuẩn 1NF:

  • R(A, B, D, C, E, F, G, H, I, J) F = {A,BC; B,DE,F; A,DG,H; AI; HJ}

  • Chuẩn 2NF:

  • R1 (A, B, C) F1 = {A,BC}

  • R2 (B, D, E, F) F2 = {B,DE,F}

  • R3 (A, D, G, H, J) F3 = {A,DG,H; HJ}

  • R4 (A, I) F4 = {AI}

  • Chuẩn 3NF:

  • R1 (A, B, C) F1 = {A,BC}

  • R2 (B, D, E, F) F2 = {B,DE,F}

  • R31 (A, D, G, H) F31 = {A,DG,H}

  • R32 (H, J) F32 = {HJ}

  • R4 (A, I) F4 = {AI}

(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

  1. Tìm tất cả các khóa của R.

  2. Chuẩn hóa quan hệ trên theo thứ tự: 1NF, 2NF, 3NF, BCNF.

  • Lời giải:

  1. 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}.

  1. Chuẩn hóa quan hệ trên theo thứ tự:

  • Chuẩn 1NF:

  • R (ShipName, ShipType, VoyageID, Cargo, Port, Date)

  • Khóa: {ShipName, Date} và {VoyageID, Date}

  • F = {ShipName  ShipType; VoyageID  ShipName, Cargo; ShipName, Date  VoyageID, Port)

  • Chuẩn 2NF:

  • 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


  • Chuẩn BCNF:

  • 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:





  1. Xác định các phụ thuộc hàm.

  2. Chuẩn hóa quan hệ trên theo thứ tự: 1NF, 2NF, 3NF, BCNF.

  • Lời giải:

  1. Xác định các phụ thuộc hàm:

  • PartNumber  Description

  • Supplier  SupplierAddress

  • PartNumber, Supplier  Price

  1. Chuẩn hóa các quan hệ:

  • Xác định khóa:

  • 

  • 

Vậy R có 1 khóa duy nhất là .

  • Chuẩn 1NF:

  • R (PartNumber, Description, Supplier, SupplierAddress, Price)

  • F = {PartNumber  Description; Supplier  SupplierAddress; PartNumber, Supplier  Price}

  • Chuẩn 2NF:

  • 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




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2019
được sử dụng cho việc quản lý

    Quê hương