1. Trang chủ
  2. » Giáo án - Bài giảng

cơ sở giữ liệu

37 241 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 37
Dung lượng 255 KB

Nội dung

Phụ thuộc hàm đầy đủ • Định nghĩa – Tập thuộc tính Y được gọi là phụ thuộc hàm đầy đủ vào tập thuộc tính X nếu nó là phụ thuộc hàm vào X và không phụ thuộc hàm vào bất kỳ một tập con nà

Trang 1

Bộ Môn ĐTTH Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu Chương III Chuẩn hóa

Trang 2

3 Khái niệm bao đóng.

4 Phụ thuộc hàm đầy đủ.

Trang 3

Bộ Mụn ĐTTH Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu Chương III Chuẩn húa

1 Phép tách bảo toàn thông tin.

2 Phép tách bảo toàn tập phụ thuộc hàm.

3.3.5 Kết luận.

1 Các bước đưa về các dạng chuẩn hóa.

2 Kết luận.

Trang 5

Bộ Môn ĐTTH Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu Chương III Chuẩn hóa

-5

3.3.1 Giíi thiÖu

2 C¸c møc chuÈn ho¸

C¸c quan hÖ tæng qu¸t (® chuÈn ho¸ vµ ch­a chuÈn ho¸) ·

C¸c quan hÖ 1NF (c¸c quan hÖ ® chuÈn ho¸) ·

Trang 6

3.3.2 Phụ thuộc hàm

1 Định nghĩa

• Cho trước quan hệ R với tập thuộc tính U={A1, A2, An}, ta

có X, Y ⊆ U là tập các thuộc tính con của U Ta nói Y là phụ thuộc hàm vào X (hay X suy ra Y) nếu và chỉ nếu với mọi quan hệ r xác định trên R và với mọi 2 bộ t1, t2 bất kỳ, nếu t1[X] = t2[X] thì suy ra t1[Y] = t2[Y] tại bất kỳ thời điểm nào.

• Ký hiệu:

– X → Y

• Lưu ý:

– Có thể không có t1[X] = t2[X] nhưng vẫn tồn tại phụ thuộc hàm

– Yếu tố: tại bất kỳ thời điểm nào

Trang 7

Bộ Môn ĐTTH Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu Chương III Chuẩn hóa

– nÕu X → Y, X → Z th× X → YZ

– nÕu X → Y, WY → Z th× XW → Z

– nÕu X → Y, Z ⊆ Y th× X → Z

Trang 8

3.3.2 Phụ thuộc hàm

3 Khái niệm bao đóng

• Bao đóng của tập phụ thuộc hàm F+

– Tập hợp tất cả các phụ thuộc hàm được suy ra từ F

• Tập phụ thuộc hàm F tối thiểu

– Nếu không tồn tại một phụ thuộc hàm X → Y Є F sao cho: F \ {X →

Y} tương đương với F– Cách tìm:

• vế phải của các phụ thuộc hàm chỉ để 1 thuộc tính

• vế trái của các phụ thuộc hàm không bỏ được thuộc tính nào

• không có phụ thuộc hàm nào bỏ được

• Bao đóng của tập các thuộc tính X+

– Tập hợp tất cả các các thuộc tính phụ thuộc hàm vào X

– X+ = {A | A là thuộc tính sao cho X → A Є F+}

Trang 9

Bộ Mụn ĐTTH Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu

Chương III Chuẩn húa

9

3.3.2 Phụ thuộc hàm

4 Phụ thuộc hàm đầy đủ

• Định nghĩa

– Tập thuộc tính Y được gọi là phụ thuộc hàm đầy đủ vào tập thuộc

tính X nếu nó là phụ thuộc hàm vào X và không phụ thuộc hàm vào bất kỳ một tập con nào của các thuộc tính của X

• Khoá tối thiểu

– X → U Є F+

– Với mọi X' là tập con thực sự của X, không tồn tại: X' → U

• Lưu ý

đẩy đủ trừ khi có giải thích tường minh

Trang 10

P2 400 S3 10 Paris P2 200 S4 20 London P2 200

Trang 11

Bộ Mụn ĐTTH Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu

Chương III Chuẩn húa

11

3.3.3 Các mức chuẩn hóa

3 Mức 2NF

• Định nghĩa

– Quan hệ R được gọi là ở dạng chuẩn thứ hai (2NF) nếu và chỉ nếu nó

ở dạng chuẩn thứ nhất và mọi thuộc tính không khoá đều phụ thuộc hàm đầy đủ vào khoá chính

– Một thuộc tính được gọi là thuộc tính không khoá nếu nó không tham

dự vào thành phần của khoá chính hoặc khóa ứng cử.

• ý nghĩa

– Giảm vấn đề dư thừa và không nhất quán của dữ liệu

Trang 12

3.3.3 Các mức chuẩn hóa

• Nhận xét

– Nếu mức 1NF có khóa là khoá đơn: 1NF => 2NF

– Nếu mức 1NF không có thuộc tính không khóa: 1NF => 2NF

• Chuyển từ 1NF sang 2NF: phép tách sơ đồ quan hệ

– Thay thế các quan hệ mức 1NF bằng tập các quan hệ ở mức 2NF

thông qua các ánh xạ – Các vấn đề cần giải quyết khi thực hiện phép tách

• Bảo toàn thông tin khi chuyển đổi.

• Bảo toàn tập phụ thuộc hàm.

– Ví dụ

Trang 13

Bộ Mụn ĐTTH Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu

Chương III Chuẩn húa

13

3.3.3 Các mức chuẩn hóa

• Các vấn đề còn tồn tại với mức 2NF

– Phụ thuộc hàm bắc cầu vẫn tồn tại và tạo ra sự dư thừa dữ liệu.– Ví dụ: giả sử City → Status (Status phụ thuộc hàm gián tiếp vào

Trang 14

3.3.3 Các mức chuẩn hóa

4 Mức 3NF

• Định nghĩa

– Quan hệ R được gọi là ở dạng chuẩn thứ ba (3NF) nếu và chỉ nếu

nó ở dạng chuẩn thứ 2 (2NF) và mọi thuộc tính không khoá đều không phụ thuộc hàm bắc cầu vào khoá chính thông qua các thuộc tính không khoá

– Y gọi là phụ thuộc hàm bắc cầu vào X thông qua Z nếu Y phụ thuộc

hàm vào Z (Z→Y) và Z lại phụ thuộc hàm vào X (X→Z) (với điều kiện X không phụ thuộc hàm vào Z hoặc Y)

Trang 15

Bộ Mụn ĐTTH Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu

Chương III Chuẩn húa

• hoặc A là thuộc tính khoá

• Chuyển sang 3NF: phép tách sơ đồ quan hệ

– Thay thế các quan hệ mức 2NF bằng tập các quan hệ ở mức 3NF

thông qua các ánh xạ – Các vấn đề cần giải quyết khi thực hiện phép tách

• Bảo toàn thông tin khi chuyển đổi.

• Bảo toàn tập phụ thuộc hàm.

– Ví dụ

– Định lý: quan hệ mức 1NF luôn có thể tách thành các sơ đồ quan

hệ con mức 3NF mà vẫn bảo toàn thông tin

Trang 16

3.3.3 Các mức chuẩn hóa

• Lưu ý:

– mức độ chuẩn hoá đối với một lược đồ quan hệ đã cho được xác

định bởi ngữ nghĩa (semantic) chứ không phải bởi các giá trị đã có mặt trong quan hệ tương ứng tại một thời điểm cụ thể nào đó

– phải biết ý nghĩa của dữ liệu rồi mới có thể đưa ra nhận định hiện tại

lược đồ tương ứng của quan hệ đó ở dạng chuẩn nào– HQTCSDL không thể khẳng định rằng một lược đồ quan hệ đã ở

dạng chuẩn tốt nhất (3NF chẳng hạn) nếu như chưa nhận đầy đủ thông tin về các phụ thuộc dữ liệu tương ứng

Trang 17

Bộ Mụn ĐTTH Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu

Chương III Chuẩn húa

17

3.3.3 Các mức chuẩn hóa

• Các vấn đề còn tồn tại với mức 3NF

– Phụ thuộc hàm bắc cầu của các thuộc tính khoá vẫn có thể tồn tại

và tạo ra sự dư thừa dữ liệu

– Ví dụ:

Trang 18

3.3.3 Các mức chuẩn hóa

5 Mức BCNF (Boyce Codd Normal Form) –

• Định nghĩa

– Một thuộc tính (có thể là thuộc tính ghép) được gọi là thuộc tính

quyết định (determinant) nếu một thuộc tính khác nào đó là phụ thuộc hàm đầy đủ vào nó

– Quan hệ đã được chuẩn hoá R được gọi là ở dạng chuẩn BCNF

nếu mọi thuộc tính quyết định đều là khoá ứng cử (candidate key)

• ý nghĩa

– Làm biến mất các phụ thuộc hàm bắc cầu

– Sơ đồ quan hệ sẽ không còn vấn đề dư thừa và không nhất quán

của dữ liệu

Trang 19

Bộ Mụn ĐTTH Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu

Chương III Chuẩn húa

– BCNF không nêu lên điều kiện đầu tiên quan hệ đã cho phải ở dạng

chuẩn 3NF và sau đó mới thoả mãn thêm điều kiện nữa Như vậy:

• cần lưu ý là định nghĩa BCNF không hoàn toàn tương đương với định nghĩa 3NF.

• định nghĩa 3NF không hoàn toàn phù hợp với trường hợp của một quan

hệ có hai khoá ứng cử phủ nhau như sẽ xem xét sau này.

– Hai khoá ứng cử là tập phủ nếu mỗi khoá gồm hơn một thuộc tính và có thuộc tính chung

• Tuy nhiên, điều sau đây vẫn còn đúng:

– Bất kỳ một quan hệ nào không ở dạng chuẩn 3NF (hay BCNF) đều có thể

được tách thành một tập tương đương ở dạng chuẩn 3NF (hay BCNF)

– Nếu quan hệ ở mức BCNF thì cũng đã đạt mức 3NF

Trang 20

3.3.3 Các mức chuẩn hóa

• Cách nhận biết mức BCNF

1 Quan hệ R mức 1NF là BCNF nếu mọi phụ thuộc hàm tối thiểu

X→A (A là thuộc tính đơn, A X) đều có dạng X là khoá.∉

2 Là 1NF và không có bất cứ một phụ thuộc hàm bắc cầu nào

Trang 21

Bộ Môn ĐTTH Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu

Chương III Chuẩn hóa

Trang 22

3.3.3 Các mức chuẩn hóa

• Xét các trường hợp cụ thể

– Trường hợp 3:

• Quan hệ là 3NF nhưng không là BCNF vì khoá ứng cử là tập phủ

• Ví dụ 1: Xét quan hệ SSP(S#, SNAME, P#, QTY)

• Ví dụ 2: Xét quan hệ SJT với các thuộc tính S (Student), J (Subject), T (Teacher)

– ý nghĩa của một bộ trong quan hệ SJT là một sinh viên được chỉ định được học một môn được chỉ định là do một giáo viên được chỉ định dạy

– Mỗi môn học cho mỗi sinh viên học môn đó chỉ do một giáo viên dạy – Mỗi giáo viên chỉ dạy một môn học

– Mỗi môn học có thể do một vài giáo viên dạy

Smith Math Prof White Smith Physics Prof Green Jones Math Prof White Jones Physics Prof Brown

Hình 3.11 Bảng dữ liệu mẫu cho quan hệ SJT

Trang 23

Bộ Mụn ĐTTH Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu

Chương III Chuẩn húa

• Ví dụ: quan hệ EXAM với các thuộc tính S (Student), J (Subject), P (Position)

– ý nghĩa của một bộ của quan hệ EXAM là một sinh viên được chỉ định đã thi một môn học được chỉ định sẽ đạt được một vị trí đã chỉ định trong danh sách lớp

– Với mục đích của bài toán, đưa ra một giả thiết không thể có hai sinh viên cùng nhận một vị trí trong một môn học nào đó

Trang 25

Bộ Mụn ĐTTH Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu

Chương III Chuẩn húa

25

3.3.4 Phép tách sơ đồ quan hệ

1 Phép tách bảo toàn thông tin.

• Xét ví dụ cụ thể

– Phép tách mất thông tin: tách theo cột B

– R(A, B, C) R1(A, B) R2(B,C) R'(A,B,C)

Trang 26

3.3.4 Phép tách sơ đồ quan hệ

1 Phép tách bảo toàn thông tin.

• Xét ví dụ cụ thể

– Phép tách bảo toàn thông tin: tách theo cột C

– R(A, B, C) R1(A, C) R2(B,C) R''(A,B,C)

Trang 27

Bộ Môn ĐTTH Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu

Chương III Chuẩn hóa

• Th«ng qua phô thuéc hµm

Trang 28

2 PhÐp t¸ch b¶o toµn tËp phô thuéc hµm.

• XÐt vÝ dô cô thÓ

– R(City, Street, PostalCode)

– F(CS→P, P→C) t¸ch thµnh (SP, CP), dÔ thÊy ®©y lµ phÐp t¸ch b¶o

Hµ Néi §¹i Cå ViÖt 2142

Hµ Néi §¹i Cå ViÖt 2144

Trang 29

Bộ Mụn ĐTTH Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu

Chương III Chuẩn húa

29

3.3.4 Phép tách sơ đồ quan hệ

2 Phép tách bảo toàn tập phụ thuộc hàm.

• Kết luận

– Phép tách quan hệ có thể dẫn tới các trường hợp sau:

1 Bảo toàn thông tin + Bảo toàn tập phụ thuộc hàm

2 Không bảo toàn thông tin + Bảo toàn tập phụ thuộc hàm

3 Bảo toàn thông tin + Không bảo toàn tập phụ thuộc hàm

4 Không bảo toàn thông tin + Không bảo toàn tập phụ thuộc hàm

– Việc kiểm tra tính bảo toàn tập phụ thuộc hàm là rất khó khăn và

tốn nhiều thời gian– Định lý:

1 Mọi quan hệ luôn có thể tách thành các sơ đồ quan hệ con mức 3NF

mà vẫn bảo toàn thông tin và bảo toàn tập phụ thuộc hàm

2 Mọi quan hệ ít nhất mức 1NF luôn có thể tách thành các sơ đồ quan hệ con mức BCNF mà vẫn bảo toàn thông tin

– Việc chứng minh các định lý trên sẽ đưa ra phương pháp tách sơ đồ

quan hệ

Trang 30

3.3.4 Phép tách sơ đồ quan hệ

• một cách tách thành 3NF:

– R(A1, A2, , An), – Tập phụ thuộc hàm tối thiểu: F(X1→ A1, X2→ A2, , Xn→ An) – K là 1 khoá của R

– Phép tách {X1A1, X2A2, , XnAn} U {K} sẽ đảm bảo các tính chất bảo toàn và

đưa ra mức 3NF

• Nhận xét:

– {X1A1, X2A2, , XnAn} đảm bảo tính bảo toàn tập phụ thuộc hàm và 3NF – thêm khóa K => đảm bảo tính bảo toàn thông tin, nhưng nếu 1 trong n quan

hệ con đã có chứa K thì quan hệ con K không cần xét đến

– Có thể tách 1 quan hệ thành BCNF, bảo toàn thông tin nhưng chưa

chắc đã bảo toàn tập phụ thuộc hàm, đồng thời việc kiểm tra tính bảo toàn tập phụ thuộc hàm là rất khó và tốn nhiều thời gian => trong thực tế nhà thiết kế thường dừng ở mức 3NF (Xem slide 28)

• R(City, Street, PostalCode)

• F(CS → P, P → C) tách thành (SP, CP) là những quan hệ BCNF nhưng phép tách không bảo toàn tập phụ thuộc hàm

Trang 31

Bộ Môn ĐTTH Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu

Chương III Chuẩn hóa

Trang 33

Bộ Mụn ĐTTH Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu

Chương III Chuẩn húa

33

3.3.5 Kết luận.

• Giả sử có 2 khách hàng, thông tin về 2 khách hàng thuê đư

ợc biểu diễn dưới dạng bảng Customer_Rental:

Trang 34

3.3.5 Kết luận.

– Thuộc tính khóa chính được nhận diện cho bảng chưa

chuẩn hóa Customer_Rental là Customer_No.

– Nhóm lặp lại: (Property_No, PAddress, RentStart, RentFinish, Rent, Owner_ No, OName).

– Để chuyển thành 1NF, phải đảm bảo chỉ có một giá trị tại mỗi ô của bảng – 2 Cách chuyển thành 1NF:

• Cách 1: Loại bỏ nhóm lặp bằng cách đưa dữ liệu tương ứng của khách hàng vào từng hàng của bảng.

Trang 35

Bộ Môn ĐTTH Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu

Chương III Chuẩn hóa

35

Trang 36

3.5 KÕt luËn

3.5.2 KÕt luËn

Trang 37

Bộ Môn ĐTTH Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu

Chương III Chuẩn hóa

Ngày đăng: 29/12/2015, 21:17

TỪ KHÓA LIÊN QUAN

w