Bài giảng Cơ sở dữ liệu (Database): Chương 6 - TS. Đặng Thị Thu Hiền
lượt xem 6
download
Bài giảng Cơ sở dữ liệu (Database): Chương 6 - TS. Đặng Thị Thu Hiền cung cấp cho học viên các kiến thức về dạng chuẩn và chuẩn hóa; sự cần thiết phải chuẩn hóa; các dạng chuẩn của quan hệ; chuẩn hóa quan hệ; chuẩn hóa trong thực tế; phân rã bảo toàn thông tin; dạng chuẩn 1(1NF);... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Cơ sở dữ liệu (Database): Chương 6 - TS. Đặng Thị Thu Hiền
- Chương 6 Dạng chuẩn và chuẩn hóa TS. Đặng Thị Thu Hiền 1 https://sites.google.com/site/tlucse484/
- Dạng chuẩn và chuẩn hóa 6.1. Sự cần thiết phải chuẩn hóa 6.2 Các dạng chuẩn của quan hệ 6.3. Chuẩn hóa quan hệ 6.4 Chuẩn hóa trong thực tế TS. Đặng Thị Thu Hiền 2 https://sites.google.com/site/tlucse484/
- Dạng chuẩn TS. Đặng Thị Thu Hiền 3 https://sites.google.com/site/tlucse484/
- Sự cần thiết phải chuẩn hóa Do thiết kế kém sẽ gây nguy hiểm cho CSDL. Trùng lắp thông tin: không có khả năng trình bày thông tin một cách chắc chắn. VD: Cho một lược đồ quan hệ dùng để ghi nhận giáo viên và lớp giảng dạy của giáo viên GIANGDAY(MONHOC, SOTIET,LOP,GV,HV,DC) Các phụ thuộc hàm: MONHOC → SOTIET; MONHOC, LOP → GV; GV→HOCVI,DC. Có tình trạng dl như sau: TS. Đặng Thị Thu Hiền 4 https://sites.google.com/site/tlucse484/
- Sự cần thiết phải chuẩn hóa... Do có phụ thuộc hàm MONHOC → SOTIET nên số tiết của dòng thứ 2 và dòng thứ 4 gây nên trùng lắp thông tin. Do phụ thuộc hàm GV → HOCVI, DC nên học vị và địa chỉ của dòng thứ 2 và dòng thứ 4 gây nên trùng lắp thông tin. Các dl gây trùng lắp thông tin là các dl có thể suy đoán được một cách chắc chắn và duy nhất từ phụ thuộc hàm. TS. Đặng Thị Thu Hiền 5 https://sites.google.com/site/tlucse484/
- Phân rã Từ một lược đồ quan hệ kém phân rã thành những lược đồ quan hệ tốt hơn. Ví dụ: Phân rã lược đồ quan hệ GIANGDAY thành hai lược đồ TKB và GV TKB(MONHOC, SOTIET, LOP) GV(LOP,GV,HOCVI,DC) Tình trạng dữ liệu của hai lược đồ trên như sau: TS. Đặng Thị Thu Hiền 6 https://sites.google.com/site/tlucse484/
- Phân rã… Những rắc rối xảy ra Để trả lời câu hỏi “Cho biết thông tin của giáo viên dạy CSDL của CNTT1” ta phải kết nối tự nhiên hai quan hệ TKB và GV. Ta thấy hai giáo viên dạy môn CSDL của lớp CNTT1 trong khi thông tin ban đầu chỉ có N.V.A → Vấn đề này gọi là phân rã không bảo toàn thông tin. TS. Đặng Thị Thu Hiền 7 https://sites.google.com/site/tlucse484/
- Phân rã… Xét phụ thuộc hàm trên lược đồ phân rã: TKB(MONHOC, SOTIET, LOP) MONHOC → SOTIET GV(LOP, GV, HOCVI, DC) GV → HOCVI, DC Từ hai phụ thuộc hàm trên ta không thể suy ra được phụ thuộc hàm MONHOC, LOP → GV. Như vậy, hai phụ thuộc hàm trên không đảm bảo kiểm tra các ràng buộc toàn vẹn do 3 phụ thuộc hàm ban đầu gây ra. → Vấn đề này gọi là phân rã không bảo toàn phụ thuộc hàm. Phải có quy tắc phân rã để không vi phạm hai vấn đề trên. TS. Đặng Thị Thu Hiền 8 https://sites.google.com/site/tlucse484/
- Phân rã bảo toàn thông tin Cho lược đồ quan hệ Q. Ta có định nghĩa sau: Tập {Q1, Q2,…,Qn} là một phân rã của Q nếu: Q = Q1 ∪ Q2 ∪ … ∪ Qn Một cách tổng quát TQ là một quan hệ của Q thì: TQ ⊆ ΠR1(TQ) ΠR2(TQ) … ΠRn(TQ) Phân rã thông tin trên bảo toàn thông tin nếu: TQ = ΠR1(TQ) ΠR2(TQ) … ΠRn(TQ) TS. Đặng Thị Thu Hiền 9 https://sites.google.com/site/tlucse484/
- Phân rã bảo toàn thông tin… Điều kiện để phân rã bảo toàn thông tin Cho Q và F là tập phụ thuộc hàm, Q1 và Q2 là một phân rã bảo toàn thông tin trên Q nếu thoả một trong hai phụ thuộc hàm sau: Q1 ∩ Q2 → Q1\Q2 hoặc Q1 ∩ Q2 → Q2\Q1 Vì vậy nếu X → Y ∈ F+ thì phân rã sau sẽ bảo toàn thông tin Q1(XY), Q2(Q-Y) Thật vậy, vì Q1 có X→Y và Q1∩Q2=X, Q1\Q2=Y do đó Q1∩Q2→Q1\Q2 TS. Đặng Thị Thu Hiền 10 https://sites.google.com/site/tlucse484/
- Phân rã bảo toàn thông tin… VD: Cho R(ABCDE), F={AB->C, C->D, D->AE} Kiểm tra xem các phép tách có bảo toàn thông tin không? R1(ABD), R2(ACE) R1(ABC), R2(ABDE) R1(ADE), R2(DEBC) VD: Lược đồ GIANGDAY nếu phân rã thành hai lược đồ sau thì bảo toàn thông tin. Q1(MONHOC, SOTIET, LOP, GV), Q2(GV, HOCVI, DC) vì Q1∩Q2=GV , Q2-Q1= HOCVI,DC mà GV →HOCVI,DC TS. Đặng Thị Thu Hiền 11 https://sites.google.com/site/tlucse484/
- Phân rã bảo toàn thông tin… Phương tiện để kiểm tra phân rã bảo toàn thông tin: Dùng kỹ thuật Tableau: là một bảng T như sau: m cột cho m thuộc tính của Q n dòng cho n quan hệ phân rã (i,j) =aj nếu Qi có chứa thuộc tính thứ j của Q =bk nếu ngược lại, k bắt đầu bằng 1 và tăng dần. TS. Đặng Thị Thu Hiền 12 https://sites.google.com/site/tlucse484/
- Phân rã bảo toàn thông tin… Áp dụng luật phụ thuộc hàm để biến đổi bảng T thành T* theo thuật toán sau: While (X → A ∈ F) { Chọn dòng W1 và W2 sao cho W1.X = W2.X If (W1.A != W2.A) { Nếu W1.A = aj và W2.A = bk thay W2.A bằng W1.A Nếu W1.A = bk và W2.A = aj thay W1.A bằng W2.A Nếu W1.A = bj và W2.A = bk thay W2.A bằng W1.A } } Cuối cùng xem bảng kết quả nếu trong bảng xuất hiện hàng gồm các kí hiệu a1, a2, a3, …, am thì phân rã bảo toàn thông tin. TS. Đặng Thị Thu Hiền 13 https://sites.google.com/site/tlucse484/
- Phân rã bảo toàn thông tin… Ví dụ: Q1(MONHOC, SOTIET, LOP, GV), Q2(GV, HOCVI, DC) F = {MONHOC → SOTIET; MONHOC, LOP → GV; GV → HOCVI, DC} Từ GV → HOCVI, DC ta thay thế b1 thành a5 và b2 thành a6 Ta được dòng thứ nhất toàn aj nên phân rã trên bảo toàn thông tin Ví dụ: cho R(ABCDE), F={A->BC, B->C, C->D, DE->C, CE->A} Kiểm tra tách có bảo toàn thông tin R1(AD), R2(AB), R3(BD), R4(CDE) TS. Đặng Thị Thu Hiền 14 https://sites.google.com/site/tlucse484/
- Phân rã bảo toàn phụ thuộc hàm Cho LĐQH Q và tập PTH F Phân rã Q thành {Q1, Q2…Qn} thì mỗi Q sẽ xác định một tập PTH Fi: Fi = {X → Y : XY ⊆ Qi và X →Y ∈ F+} Fi được gọi là tham chiếu của F+ lên Qi Phân rã trên bảo toàn phụ thuộc hàm nếu: Đặt F’ = F1 ∪ F2 ∪ … ∪ Fn, thì F’ ≡ F (nghĩa là F’+ = F+) Để kiểm tra phân rã bảo toàn PTH ta đi kiểm tra F1 ∪ F2 ∪ … ∪ Fn ≡ F Lưu ý: Khi tính các Fi thường hay thiếu sót các phụ thuộc hàm vì Fi là chiếu của F+ lên Qi chứ không phải F lên Qi. Như vậy để tính đầy đủ Fi của Qi ta tính bao đóng của tất cả các tập con thực sự của Qi. X ⊂ Qi. Nếu X+ ∩ Qi ≠ X thì (X → (X+ ∩ (Qi - X)) ∈ Fi. TS. Đặng Thị Thu Hiền 15 https://sites.google.com/site/tlucse484/
- Phân rã bảo toàn phụ thuộc hàm… Ví dụ: Cho Q(ABCD), F = {A → B, B → C, C → D, D → A} Phân rã Q thành {Q1(AB), Q2(BC), Q3(CD)} sẽ dễ dàng nhầm lẫn: Q1(AB), F1 = {A → B} Q2(BC), F2 = {B → C} Q3(CD), F3 = {C → D} Lúc này F’ = F1 ∪ F2 ∪ F3 = {A → B, B → C, C → D} Rõ ràng là F’ không tương đương với F vì F’+ ≠ F+ do D→A∉F’+ =>Nếu vội vã kết luận phân rã trên không bảo toàn phụ thuộc hàm là sai. TS. Đặng Thị Thu Hiền 16 https://sites.google.com/site/tlucse484/
- Phân rã bảo toàn phụ thuộc hàm… Thực ra: Q1(AB) Af+ = ABCD ⇒ A → B ∈ F1 Bf+ = BCDA ⇒ B→A∈F1 Vậy F1 = {A → B, B → A} Q2(BC) Bf+ = BCDA ⇒ B → C∈F2 Cf+ =CDAB ⇒ C → B ∈ F2 Vậy F2 = {B → C, C → B} Q3(CD) Cf+ = CDAB ⇒ C → D ∈ F3 Df+ =DABC ⇒ D→C∈ F3 Vậy F3 = {C → D, D → C} Vậy F’ = F1 ∪ F2 ∪ F3 = { A → B,B → A, B → C, C → B, C → D, D → C} Ta tính được F’+ = F+ ⇒ F’ ≡ F Kết luận: Phân rã trên bảo toàn phụ thuộc hàm TS. Đặng Thị Thu Hiền 17 https://sites.google.com/site/tlucse484/
- Dạng chuẩn (Normal Form-NF) Xét dạng chuẩn dựa trên phụ thuộc hàm Thuộc tính khoá: Thuộc tính tham gia vào bất kỳ khoá nào đó của quan hệ chứa nó. Ngược lại gọi là thuộc tính không khoá. Ví dụ: Q(ABCDEF) A, B, D, E là các thuộc tính khoá. C, F là các thuộc tính không khoá. Thuộc tính đơn: Miền giá trị của nó không phải là tích hợp của các miền giá trị khác. X → A là PTH nguyên tố nếu: Không ∃Y là tập con thực sự của X, Y→A ∈F+ TS. Đặng Thị Thu Hiền 18 https://sites.google.com/site/tlucse484/
- Dạng chuẩn… Ví dụ: Cho F = {AB → C, B → C} thì: AB → C: không là phụ thuộc hàm nguyên tố vì có B → C. B → C: là phụ thuộc hàm nguyên tố A là thuộc tính phụ thuộc đầy đủ vào X nếu X → A là phụ thuộc hàm nguyên tố Ví dụ trên thì C là thuộc tính phụ thuộc đầy đủ vào B chứ không phụ thuộc đầy đủ vào AB. TS. Đặng Thị Thu Hiền 19 https://sites.google.com/site/tlucse484/
- Dạng chuẩn 1(1NF) ĐN: Lược đồ quan hệ Q ở dạng 1NF nếu tất cả các thuộc tính của Q đều là thuộc tính đơn/nguyên tố. Lược đồ CSDL C ở 1NF nếu tất cả các Qi của C đều ở 1NF. F Đây là dạng chuẩn đơn giản nhất, nó không chú ý đến các phụ thuộc hàm do đó có rất nhiều trùng lắp thông tin do các phụ thuộc hàm trên gây ra. TS. Đặng Thị Thu Hiền 20 https://sites.google.com/site/tlucse484/
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Cơ sở dữ liệu đất đai
49 p | 633 | 79
-
Bài giảng Cơ sở dữ liệu - Nguyễn Quỳnh Chi
189 p | 267 | 51
-
Bài giảng Cơ sở dữ liệu: Chương 1 - Tổng quan về cơ sở dữ liệu
21 p | 181 | 31
-
Bài giảng Cơ sở dữ liệu: Bài 1 - ĐH CNTT
15 p | 607 | 30
-
Bài giảng Cơ sở dữ liệu - Bài 2: Mô hình cơ sở dữ liệu quan hệ
43 p | 221 | 18
-
Bài giảng Cơ sở dữ liệu: Chương 2 - ThS. Hoàng Mạnh Hà
68 p | 151 | 12
-
Bài giảng Cơ sở dữ liệu (Database): Chương 4 - TS. Đặng Thị Thu Hiền
82 p | 39 | 8
-
Bài giảng Cơ sở dữ liệu - Chương 4: Chuẩn hóa cơ sở dữ liệu
30 p | 134 | 8
-
Bài giảng Cơ sở dữ liệu nâng cao - Chương 2: Toàn vẹn và cơ sở dữ liệu active
50 p | 81 | 8
-
Bài giảng Cơ sở dữ liệu (Database): Chương 1 - TS. Đặng Thị Thu Hiền
53 p | 47 | 7
-
Bài giảng Cơ sở dữ liệu: Phần 1 – Nguyễn Hải Châu
54 p | 122 | 6
-
Bài giảng Cơ sở dữ liệu: Mở đầu - ThS. Lương Thị Ngọc Khánh
11 p | 169 | 6
-
Bài giảng Cơ sở dữ liệu nâng cao: Bài 1.1 - PGS.TS. Đỗ Phúc
25 p | 90 | 6
-
Bài giảng Cơ sở dữ liệu: Chương 1 - Th.S Thiều Quang Trung
40 p | 93 | 5
-
Bài giảng Cơ sở dữ liệu - Bài 1: Thiết kế Cơ sở dữ liệu với Management Studio
10 p | 62 | 5
-
Bài giảng Cơ sở dữ liệu nâng cao: Bài 2 - PGS.TS. Đỗ Phúc
55 p | 66 | 4
-
Bài giảng Cơ sở dữ liệu: Chương 1 - GV. Đỗ Thị Kim Thành
21 p | 102 | 4
-
Bài giảng Cơ sở dữ liệu (Database) - Chương 1: Các khái niệm cơ bản về hệ cơ sở dữ liệu
34 p | 68 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn