Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 8: Phụ thuộc hàm
lượt xem 3
download
Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 8 trang bị cho người học những hiểu biết về phụ thuộc hàm. Thông qua chương này người học sẽ nắm bắt được: Định nghĩa phụ thuộc hàm, bao đóng của tập thuộc tính X, sử dụng bao đóng của tập thuộc tính,... Mời các bạn cùng tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 8: Phụ thuộc hàm
- CHƯƠNG 10: PHỤ THUỘC HÀM (Functional Dependencies)
- Phụ thuộc hàm (FD) • Định nghĩa: Cho một lược đồ quan hệ gồm n thuộc tính: Q(A1, A2,…, An) – X, Y là hai tập con của Q+={A1, A2,…, An}. – r là một quan hệ trên Q. – t1, t2 là hai bộ bất kỳ của r. Phụ thuộc hàm giữa hai thuộc tính X và Y ký hiệu là X Y được định nghĩa như sau: X Y (t1.X = t2.X t1.Y = t2.Y) (Ta nói X xác định Y hay Y phụ thuộc hàm vào X)
- Phụ thuộc hàm (FD) • Ví dụ: cho lược đồ quan hệ: Q(A, B, C, D, E) A B C D E I. AB C 1 2 3 4 5 II. B D (T) 1 4 3 4 5 III. DE A (T) 1 2 4 4 1
- Phụ thuộc hàm (FD) • Phụ thuộc hàm hiễn nhiên: Nếu X Y thì X Y. – Với r là quan hệ bất kỳ, F là tập phụ thuộc hàm thỏa trên r, ta luôn có F {các phụ thuộc hàm hiển nhiên}
- Phụ thuộc hàm (FD) • Thuật toán Satifies: Cho quan hệ r và X, Y là hai tập con của Q+, Thuật toán SATIFIES sẽ trả về trị true nếu X Y ngược lại là false • SATIFIES(r,X,Y) – Sắp các bộ của quan hệ r theo X để các giá trị giống nhau trên X nhóm lại với nhau – Nếu tập các bộ cùng giá trị trên X cho các giá trị trên Y giống nhau thì trả về true ngược lại là False
- Phụ thuộc hàm (FD) • Ví dụ: SATIFIES(phanCong,MAYBAY,GIOKH)
- Phụ thuộc hàm (FD) • Cách tìm tất cả tập con của Q+: – Số tập con có thể có của Q+ = {A ,A ,...,A } là 2n – Số phụ thuộc hàm có thể có: 2nx2n A B C D A B C D AB AC AD BC BD Ví dụ: Q+=(A, B, C, D) ABC ABD • Số tập con: 24=16 C AC • Số PTH: BC =24x24=256 ABC
- Hệ luật dẫn Armstrong • Phụ thuộc hàm được suy diễn logic từ F – Phụ thuộc hàm X Y được suy diễn logic từ F nếu một quan hệ r bất kỳ thỏa mãn tất cả các phụ thuộc hàm của F thì cũng thỏa phụ thuộc hàm X Y. Ký hiệu F|= X Y. • Bao đóng của F (F+) – Bao đóng của F ký hiệu F+ là tập tất cả các phụ thuộc hàm được suy diễn logic từ F.
- Hệ luật dẫn Armstrong • Các tính chất của tập F+ – Tính phản xạ: F F+ – Tính đơn điệu: Nếu F G thì F+ G+ – Tính lũy đẳng: (F+)+ = F+. – Gọi G là tập tất cả các phụ thuộc hàm có thể có của r, phần phụ của F ký hiệu F‑ = G - F+
- Hệ luật dẫn Armstrong • Hệ luật dẫn Amstrong: – Cho X,Y,Z,W là tập con của Q+ – r là quan hệ bất kỳ của Q. – Ba luật của tiên đề Amstrong: 1. Luật phản xạ (reflexive rule): Nếu Y X thì X Y 2. Luật tăng trưởng(augmentation rule): Nếu Z Q và X Y thì XZ YZ 5. Luật bắc cầu (Transivity Rule) Nếu X Y và Y Z thì X Z
- Hệ luật dẫn Armstrong – Ba hệ quả của tiên đề Amstrong: 1. Luật hợp (Union Rule) Nếu X Y và X Z thì X YZ 2. Luật bắc cầu giả (Pseudotransivity Rule) Nếu X Y và WY Z thì XW Z 3. Luật phân rã (Decomposition Rule) Nếu X YZ thì X Y and X Z
- Bao đóng của tập thuộc tính X (closures of attribute sets) • Định nghĩa: − Q là lược đồ quan hệ. − r là một quan hệ trên Q, − F là tập các phụ thuộc hàm trong Q. − X, Ai là các tập con của Q+ Bao đóng của tập thuộc tính X đối với F ký hiệu là X+ được định nghĩa: X+= Ai với X Ai là phụ thuộc hàm được suy diễn từ F nhờ hệ tiên đề Armstrong
- Bao đóng của tập thuộc tính X (closures of attribute sets) • Thuật toán tìm bao đóng: – Tính liên tiếp tập các tập thuộc tính X0,X1,X2,... theo phương pháp sau: – Bước 1: X0 = X – Bước 2: lần lượt xét các phụ thuộc hàm của F • Nếu Y Z có Y Xi thì Xi+1 = Xi Z • Loại phụ thuộc hàm Y Z khỏi F – Bước 3: Nếu ở bước 2 không tính được Xi+1 thì Xi chính là bao đóng của X – Ngược lại lặp lại bước 2
- Bao đóng của tập thuộc tính X (closures of attribute sets) Ví dụ 1: Cho lược đồ quan hệ Q(A,B,C,D,E,G,H) và tập phụ thuộc hàm F={B A; DA CE; D H; GH C; AC D}. Tìm bao đóng của X = {AC} trên F § X(0) = {A,C} , {A,C} {D} § X(1) = {A,C,D}, {A, D} {C,E} § X(2) = {A,C,D,E}, {D} {H} § X(3) = {A,C,D,E,H} § X+= X(3) Cho X = {B, D} >X+?
- Bao đóng của tập thuộc tính X (closures of attribute sets) • Ví du 2: cho lược đồ quan hệ: Q(A,B,C,D,E,G) F = { f1: A → C; f2: A → EG; f3: B → D; f4: G → E} – Tìm bao đóng của X+ và Y+ của X = {A,B}; Y = {C,G,D} – Kết quả : X+ = {ABCDEG} , Y+ = {CGDE}
- Sử dụng bao đóng của tập thuộc tính • Kiểm tra siêu khóa (Testing for superkey) – Để kiểm tra X có phải là siêu khóa: tính X+, nếu X+ chứa tất cả các thuộc tính của R thì X là siêu khóa. – X là khóa dự tuyển (candidate key) nếu không tập con nào trong số các tập con của nó là khóa. • Kiểm tra một phụ thuộc hàm XY có được suy dẫn từ F.
- Sử dụng bao đóng của tập thuộc tính • Kiểm tra 2 tập phụ thuộc hàm tương đương F+=G+ – Với mỗi phụ thuộc hàm Y Z trong F • Tính Y+ trên tập phụ thuộc hàm G • Nếu Z Y+ thì Y Z trong G+ và ngược lại
- Phụ thuộc hàm dư thừa • Tập các phụ thuộc hàm có thể là dư thừa vì chúng có thể suy diễn từ các FDs khác. – Ví dụ: A C là dư thừa đối với F: (A B, B C, A C) • Một phần của phụ thuộc hàm cũng có thể dư thừa. – Ví dụ: F=(A B, B C, A C,D) có thể được viết lại: F=(A B, B C, A D)
- Bao đóng của tập phụ thuộc hàm • Bao đóng của F ký hiệu F+ là tập tất cả các phụ thuộc hàm được suy diễn logic từ F. • Thuật toán tìm bao đóng F+ – Bước 1: Tìm tất cả tập con của Q+ – Bước 2: Tìm tất cả các phụ thuộc hàm có thể có của Q. – Bước 3: Tìm bao đóng của tất cả tập con của Q. – Bước 4: Dựa vào bao đóng của tất cả các tập con đã tìm để xác định phụ thuộc hàm nào thuộc F+
- Bao đóng của tập phụ thuộc hàm • Ví dụ: Q(A,B,C) F = {AB C,C B} F+ ? – B1: tìm tất cả tập con của các thuộc tính Q+ A B C {A} {B} {C} – B2: Tìm bao đóng của tất cả các tập con thuộc tính {A,B} {A,C} • A+ = A {B,C} • B+ = B • C+ = BC {A,B,C} • AC+ = ABC • AB+ = ABC • BC+ = BC
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Hệ quản trị cơ sở dữ liệu Oracle: Chương 1 - Ngô Thùy Linh
31 p | 183 | 25
-
Bài giảng Hệ quản trị cơ sở dữ liệu Oracle: Chương 5 - Ngô Thùy Linh
34 p | 95 | 18
-
Bài giảng Hệ quản trị cơ sở dữ liệu Access - ĐH Phạm Văn Đồng
159 p | 112 | 17
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Tổng quan hệ quản trị CSDL SQL Server - TS. Lại Hiền Phương
50 p | 112 | 14
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 4 - ĐH Công nghiệp Thực phẩm
92 p | 145 | 11
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - ĐH Công nghiệp Thực phẩm
31 p | 99 | 10
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Giới thiệu - Phạm Thọ Hoàn
14 p | 157 | 9
-
Bài giảng Hệ quản trị cơ sở dữ liệu Oracle - Trường ĐH Đồng Tháp
119 p | 35 | 8
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - Nguyễn Thị Uyên Nhi
33 p | 84 | 6
-
Bài giảng Hệ quản trị cơ sở dữ liệu (Database Management Systems) - Bài 1.1: Tổng quan về Hệ quản trị cơ sở dữ liệu
5 p | 17 | 6
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - Nguyễn Trường Sơn
29 p | 46 | 5
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 2 - Phạm Nguyên Thảo
39 p | 78 | 5
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - Lê Thị Minh Nguyện
14 p | 72 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Các tác vụ quản trị hệ thống - TS. Lại Hiền Phương (Phần 3)
61 p | 53 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Các tác vụ quản trị hệ thống - TS. Lại Hiền Phương (Phần 1)
32 p | 52 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 6 - Nguyễn Thị Mỹ Dung
33 p | 58 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 6 - Phạm Nguyên Thảo
44 p | 51 | 3
-
Bài giảng Hệ quản trị cơ sở dữ liệu MSSQL 2005: Chương 7 - Hồ Thị Anh Đào
24 p | 62 | 2
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