Chuẩn hoá một lược đồ quan hệ

Một phần của tài liệu TÀI LIỆU DẠY HỌC CƠ SỞ DỮ LIỆU (Trang 140 - 146)

4.4. C HUẨN HOÁ LƯỢC ĐỒ QUAN HỆ

4.4.3. Chuẩn hoá một lược đồ quan hệ

Phép tách một lược đồ quan hệ thành các lược đồ 3NF không mất mát thông tin Input

Lược đồ quan hệ R(U). Tập pth F.

Output

ρ ={R1(U1), ..., Rm(Um)|Ri(Ui), i=1, ..., m là 3NF} với phép tách không mất mát thông

Phương pháp

Bước 1. Xây dựng đồ thị pth

Bước 2. Xác định khóa, thuộc tính khóa, thuộc tính không khóa Bước 3. Kiểm tra dạng chuẩn 2

- nếu R đã ở dạng chuẩn 2 thì chuyển sang bước 4

- ngược lại, tách R thành các lược đồ thuộc chuẩn 2, sau đó quay lại bước 2 để kiểm tra các quan hệ vừa tách.

Bước 4. Kiểm tra dạng chuẩn 3

- nếu R đã ở dạng chuẩn 3 thì kết thúc và chuyển sang bước 5

- ngược lại, tách R thành các lược đồ thuộc chuẩn 3, sau đó quay lại bước 2 để kiểm tra các quan hệ vừa tách.

Bước 5. kết luận dạng chuẩn

Ví dụ 4.31. Cho lược đồ quan hệ R=(U,F)

Với U = {ABCDEFG}; F= {A→BC, C→B, DE→F, ADE→G}

Bước 1. Xây dựng đồ thị pth

Bước 2. Xác định khóa, thuộc tính khóa, thuộc tính không khóa Từ đồ thị ta thấy, khóa của lược đồ là ADE

Thuộc tính khóa là A, D, E

Thuộc tính không khóa là: B, C, F, G

Vì các thuộc tính B, C, F chỉ pth 1 phần vào khóa, vi phạm tính chất của chuẩn 2NF nên R thuộc 1 NF

Bước 3. Tách R thành các lược đồ thuộc chuẩn 2NF

141

Vì các thuộc tính B, C, F vi phạm tính chất của chuẩn 2NF nên ta tách như sau:

Bước 4. Tách các lược đồ về chuẩn 3NF Từ các đồ thị pth của R1, R2, R3 ta thấy

R1 chưa thuộc chuẩn 3NF vì C pth bắc cầu vào B qua D

R2, R3 thuộc chuẩn 3NF vì các thuộc tính không khóa pth trực tiếp vào khóa Ta tách R1 như sau

Bước 5. Kết luận: Lược đồ R được tách thành các lược đồ sau, đều ở dạng 3NF R11 (AB); F11 = {A →B} R12 (BC); F12 = {C →B}

R2 (DEF); F2 = {DE →F} R3 (ADEG); F3 = {ADE →G}

142

TÓM TẮT CUỐI CHƯƠNG 4

Mục đích của việc thiết kế CSDL quan hệ là đưa ra một tập các lược đồ quan hệ ta lưu trữ các thông tin một cách không dư thừa đồng thời cũng cho phép tìm kiếm thông tin dễ dàng. Để đạt được mục đích đó, một phương pháp thường dùng là thiết kế các lược đồ ở các dạng chuẩn thích hợp. Đây là cách tiếp cận từ dưới-lên (bottom-up), bắt đầu từ việc khảo sát nghiên cứu mối quan hệ giữa các thuộc tính.

Pth là một khái niệm cơ bản của lí thuyết thiết kế CSDL. Đó là sự pth của một số thuộc tính vào một số thuộc tính khác. Tính xác đáng và đầy đủ của hệ quy tắc suy diễn Armstrong cho ta một công cụ để xác định một pth có suy dẫn được từ một tập các pth đã cho hay không.

Để tránh các dư thừa, có thể tách một lược đồ quan hệ thành nhiều lược đồ. Có hai tính chất quan trọng của phép tách là kết nối không mất mát thông tin và bảo toàn pth đối với một tập pth.

Chuẩn hóa các lược đồ quan hệ thực chất là thực hiện những phép tách để có được các lược đồ thuộc các dạng chuẩn. Đối với một tập pth đã cho, tồn tại phép tách kết nối không mất mát một lược đồ thành các lược đồ ở chuẩn Boyce-Codd. ĐỐi với một tập pth đã cho, tồn tại phép tách vừa bảo toàn pth vừa không mất mất để tách một lược đồ thành các lược đồ 3NF. Sử dụng các pth đa trị và pth kết nối ta có thể tiếp tục chuẩn hóa lược đồ quan hệ về các dạng chuẩn cao hơn (4NF và 5NF).

Một cách tiếp cận khác đối với việc thiết kế CSDL quan hệ, cách tiếp cận trên – xuống (top-down), là bắt đầu từ việc xác định các thực thể chính và các mối quan hệ giữa các thực thể đó. Trong cả hai cách tiếp cận trên-xuống hay dưới-lên, điều quan trọng là cần nhận thức được mục đích của việc chuẩn hóa các lược đồ và sử dụng kĩ thuật này sao cho hiệu quả.

143

CÂU HỎI ÔN TẬP CHƯƠNG 4

4.1. Pth là gì? Ai là người chỉ ra các pth giữa các thuộc tính của một lược đồ quan hệ? Vì sao ta không thể suy ra một pth từ một trạng thái quan hệ cụ thể?

4.2. Phát biểu và chứng minh các luật của hệ quy tắc Armstrong.

4.3. Tính đầy đủ và tính đúng đắn của các quy tắc suy diễn Armstrong là gì?

4.4. Bao đóng của một tập pth là gì? Cho biết ý nghĩa của bao đóng đối với một tập thuộc tính (đối với một tập pth)

4.5. Tập tối thiểu các pth là gì? Có phải mỗi tập tối thiểu pth có một tập tối thiểu tương đương hay không?

4.6. Khi nào thì hai tập pth là tương đương? Làm thế nào để kiểm tra tính tương đương của chúng?

4.7. Tính chất nối không mất mát (không phụ thêm) của một phép tách là gì? Vì sao nó là quan trọng?

4.8. Giữa các tính chất bảo toàn pth và nối không mất mát cái nào là nhất thiết phải thỏa mãn? Vì sao? Pth đa trị là gì? Nó chỉ ra ràng buộc gì? Khi nào nó sinh ra?

4.9. Định nghĩa các dạng chuẩn 1NF, 2NF, 3NF, BCNF dựa trên khóa chính và các dạng chuẩn dưới dạng tổng quát. Sự khác nhau của hai định nghĩa là gì?

4.10. Nêu mục đích của việc đưa lược đồ về dạng chuẩn.

144

BÀI TẬP CHƯƠNG 4

Bài 4.1. Cho lược đồ quan hệ R = <U, F>, trong đó:

U = {ABCDEG}

F = {AB→C, C→A, BC→D, ACD→B, D→EG, BE→C, CG→BD, CE→AG}

Hãy tìm một khoá tối thiểu K của lược đồ R.

Bài 4.2. Cho lược đồ quan hệ R = <U, F>, trong đó:

U= {SDIBQO}

F = {S→D, I→B, IS→Q, B→O}

Hãy tìm một khoá tối thiểu K của lược đồ R.

Bài 4.3. Cho lược đồ quan hệ R = <U, F>, trong đó:

U={CDEIGHK}

F={CK→H,C→D,E→C, E→G,CK→E}

Hãy tìm một khoá tối thiểu K của lược đồ R.

Bài 4.4. Cho tập các pth F = {AB→C, C→A, BC→D, ACD→B, D→EG, CG→BD, CE→AG} của lược đồ quan hệ r (ABCDEG).

a. Cho X = {B, D}. Hãy tính X+ b. Cho Y = {C, G}. hãy tính Y+

Bài 4.5.Cho lược đồ quan hệ R = <U, F>, trong đó:

U={ABCDEIG}

F={CB→A,C→D,E→C, E→G,CB→E}

a. Cho X = {B, C, D}. Hãy tính X+ b. Cho Y = {C, E, G}. Hãy tính Y+

Bài 4.6. Cho lược đồ quan hệ R = <U, F>, trong đó:

U= {ADIBEO}

F = {A→D, I→B, IA→E, B→O}

a. Cho X = {A, I, D}. Hãy tính X+ b. Cho Y = {A, B, D}. hãy tính Y+

Bài 4.7. Cho lược đồ quan hệ r(ABCDE) có tập các pth F = {A→C, B→C, A→D, DE→C, CE→A}

Kiểm tra tính không mất mát thông tin của phép tách ρ(R) = (R1, R2, R3, R4, R5) với R1 = (AD), R2 = (AB), R3 = (BE), R4 = (CDE), R5 = (AE)

Bài 4.8. Cho lược đồ quan hệ Q(ABCD) có tập các pth F = {A→B, B→C, A→D, D→C }

Kiểm tra tính không mất mát thông tin của phép tách ρ(Q) = (Q1, Q2, Q3) với Q1

= (AB), Q2 = (AC), Q3 = (BD)

145

Bài 4.9. Cho lược đồ quan hệ r(WAZYQP) có tập các pth F = {W→AYQP, A→Z, YQP→A }

Kiểm tra tính không mất mát thông tin của phép tách ρ(R) = (R1, R2, R3) với R1

= (AZ), R2 = (WYQP), R3 = (YQPA)

Bài 4.10. Cho lược đồ quan hệ R(ABCDEG) và tập các pth

F = {AB→C, C→A, BC→D, ACD→B, D→EG, BE→C, CG→BD, CE→G}

Chỉ ra chuỗi suy dẫn để chứng minh AB→EG.

Bài 4.11. Cho lược đồ quan hệ R(ABCDEG) và tập các pth

F = {AB→C, C→A, BC→D, ACD→B, D→EG, BE→C, CG→BD, CE→G}

Chỉ ra chuỗi suy dẫn để chứng minh AB→CE.

Bài 4.12. Cho lược đồ quan hệ R(ABCDEGH) tập các pth F = {AB→C, B→D, CD→E, CE→GH, G→A } Chỉ ra chuỗi suy dẫn để chứng minh : AB→EH.

Bài 4.13. Cho lược đồ quan hệ R={SDIBQO}và tập pth F = {S→D, I→B, IS→Q, B→O}. Xác định dạng chuẩn của R? Nếu R chưa ở dạng chuẩn 3 thì hãy phân rã R thành các lược đồ quan hệ ở dạng chuẩn 3

Bài 4.14. Cho lược đồ quan hệ R={CDEIGHK} và tập pth F={CK→H,C→D,E→C, E→G,CK→E}. Xác định dạng chuẩn của R? Nếu R chưa ở dạng chuẩn 3 thì hãy phân rã R thành các lược đồ quan hệ ở dạng chuẩn 3.

Bài 4.15. Cho lược đồ quan hệ R={CDEGHKIJ}và tập pth F={E→ID, C→KH, K→J, CE→G}. Xác định dạng chuẩn của R? Nếu R chưa ở dạng chuẩn 3 thì hãy phân rã R thành các lược đồ quan hệ ở dạng chuẩn 3.

146

Một phần của tài liệu TÀI LIỆU DẠY HỌC CƠ SỞ DỮ LIỆU (Trang 140 - 146)

Tải bản đầy đủ (PDF)

(188 trang)