Chương 5 Phụ thuộc hàm

52 746 2
Chương 5 Phụ thuộc hàm

Đ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

1 CHƯƠNG 5 PHỤ THUỘC HÀM Functional dependency 2 NỘI DUNG • PHỤ THUỘC HÀM • BÀI TOÁN TÌM PHỦ TỐI THIỂU • BÀI TOÁN TÌM KHÓA  Pth là một công cụ biểu diễn một cách hình thức một dạng ràng buộc tòan vẹn  Pth được ứng dụng trong việc giải quyết bài tóan tìm khóa, tìm phủ tối thiểu và chuẩn hóa cơ sở dữ liệu 3 PHỤ THUỘC HÀM • Khái niệm phụ thuộc hàm • Bao đóng của một tập phụ thuộc hàm F • Bộ luật dẫn AMSTRONG • Bao đóng của tập thuộc tính X • Thuật toán tìm F+ 4 Xét ví dụ (sgk) : Cho quan hệ Phân công phanCong (PHICONG, MAYBAY, NGAYKH, GIOKH) Cushing 83 9/8 10:15a Cushing 116 10/8 1:25p Clark 281 8/8 5:50a Clark 301 12/8 6:35p Clark 83 11/8 10:15a Chin 83 13/8 10:15a Chin 116 12/8 1:25p Copely 281 9/8 5:50a Copely 281 13/8 5:50a Copely 412 15/8 1:25p 1. KHÁI NIỆM 5 Trong thế giới thực luôn có những qui tắc hoạt động : - Mỗi máy bay có một giờ khởi hành duy nhất - Nếu biết phi công, Ngày và giờ khởi hành thì biết được máy bay do phi công này lái - Nếu biết máy bay, ngày khởi hành thì biết phi công lái chuyến bay đó Những qui tắc hoạt động trên là một loại ràng buộc , được gọi là phụ thuộc hàm , và có thể phát biểu lại như sau : MAYBAY xác định GIOKH Hay GIOKH phụ thuộc hàm vào MAYBAY Được ký hiệu f1: {MAYBAY}→ GIOKH f2: {PHICONG,NGAYKH,GIOKH}→ MAYBAY f3: {MAYBAY,NGAYKH}→ PHICONG 6  Định nghĩa phụ thuộc hàm Cho lược đồ quan hệ Q(A1,A2,…,An) X, Y là hai tập con của Q + = {A1,A2,…,An} r là quan hệ trên Q t1, t2 là hai bộ bất kỳ trên r X → Y ⇔ ( t1.X = t2.X ⇒ t1.Y= t2.Y ) - Nếu ∃ t1,t2 ∈ r , sao cho t1.X = t2.X và t1.Y ≠ t2.Y ta nói : pth X → Y không thỏa trên r - Nếu với mọi quan hệ r đều thỏa mãn pth X → Y , ta nói pth X → Y được định nghĩa trên lược đồ quan hệ Q 7 a1 b1 c1 d1 e1 a1 b2 c2 d1 d1 a2 b1 c3 d3 e1 a2 b1 c4 d3 e1 a3 b2 c5 d1 e1 Phụ thuộc hàm nào sau đây thỏa r (A , B , C , D , E) A →D , AB→D AB→C a1 b1 c1 d1 e1 a2 b2 c2 d2 e2 a3 b1 c1 d1 e1 a4 b2 c2 d2 e2 a5 b1 c1 d3 e1 Phụ thuộc hàm nào sau đây thỏa q BC→E , DE→C , A → BCDE 8 Ví dụ: phanCong(PC, MB, N, G) Ví dụ: phanCong(PC, MB, N, G) , F ={(1),(2),(3)} , F ={(1),(2),(3)} Đònh nghóa Đònh nghóa : : Phụ thuộc hàm X → Y được suy diễn logic từ F nếu một lược đồ quan hệ Q 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 (Gọi (Gọi F |= X → Y là phụ thuộc hàm hệ quả) phụ thuộc hàm hệ quả) NX : Nếu (1) thỏa mãn thì (4) cũng được thỏa mãn NX : Nếu (1) thỏa mãn thì (4) cũng được thỏa mãn ⇒ ⇒ chỉ chỉ cần kiểm tra (1) cần kiểm tra (1) 1. MB 1. MB → → G G 2. MB,N 2. MB,N → → PC PC 3. PC,N,G 3. PC,N,G → → MB MB 4. MB,N 4. MB,N → → G G 5. MB,N,G 5. MB,N,G → → PC PC 6. PC, N, G 6. PC, N, G → → PC PC … ⇒ ⇒ F F F F + + 2. 2. Phụ thuộc hàm được suy diễn logic từ F Bao đóng của một tập phụ thuộc hàm F 9  Bao đóng F Bao đóng F + + của F của F : : là tập tất cả các phụ thuộc hàm được suy là tập tất cả các phụ thuộc hàm được suy diễn logic từ F diễn logic từ F  Luật dẫn để suy ra phụ thuộc hàm hệ quả từ F : Luật dẫn để suy ra phụ thuộc hàm hệ quả từ F : f’ là phụ thuộc hàm suy từ F qua luật dẫn (ký hiệu F f’ là phụ thuộc hàm suy từ F qua luật dẫn (ký hiệu F     f’ ) nếu f’ ) nếu ∃ ∃ f f 1 1 , f , f 2 2 ,…, f ,…, f n n sao cho f sao cho f n n =f’ và (f =f’ và (f i i ∈ ∈ F) F) ∨ ∨ (f (f i i được suy diễn từ f được suy diễn từ f j j với j=1,…,i-1) với j=1,…,i-1) Ký hiệu F ’={f’ | F Ký hiệu F ’={f’ | F     f’} f’} ⇒ ⇒ cần tìm luật dẫn sao cho F ’= F cần tìm luật dẫn sao cho F ’= F + + ; nghóa là ; nghóa là ∀ ∀ f, F f, F = = f f ⇒ ⇒ F F     f f và F và F     f f ⇒ ⇒ F F = = f f 10 Cho quan hệ Q(Q + ) . X,Y,Z,W là các tập thuộc tính của Q + Hệ tiên đề Amstrong gồm các luật sau (F1) Luật phản xạ (reflexive rule): Nếu Y ⊆ X thì X → Y (F2) Luật thêm vào (augmentation rule): Nếu X → Y thì XZ → Y trong đó ký hiệu XZ thay cho X ∪ Z (F3) Luật bắc cầu (transitive rule): Nếu X → Y và Y → Z thì X → Z Các luật dẫn khác suy từ (F1), (F2), (F3) Các luật dẫn khác suy từ (F1), (F2), (F3) (F4) Bắc cầu giả : nếu X → Y và YW → Z thì XW → Z. (F5) Luật hội : nếu X → Y và X → Z thì X → YZ (F6) Luật phân rã : nếu X → Y và Z ⊆ Y thì X → Z 3. Bộ Luật Dẫn AMSTRONG (Hệ tiên đề Amstrong) Cần chứng minh Hệ tiên đề Armstrong là đúng và đầy đủ (xem sgk) Cần chứng minh Hệ tiên đề Armstrong là đúng và đầy đủ (xem sgk) Tính đúng : F Tính đúng : F   f f ⇒ ⇒ F F = = f f Tính đầy đủ : Tính đầy đủ : ∀ ∀ F F = = f f ⇒ ⇒ F F   f f [...]... thỏa 3 điều kiện sau : - G là tập phụ thuộc hàm có vế trái không dư thừa (G chỉ chứa những pth đầy đủ) - G là tập phụ thuộc hàm có vế phải một thuộc tính (G chỉ chứa những pth có vế phải một thuộc tính) - G là tập phụ thuộc hàm không dư thừa 27 3.a Phụ thuộc hàm có vế trái không dư thừa : Cho F , f: X→Y∈F Nói rằng phụ thuộc hàm f: X→ Y có vế trái dư thừa (phụ thuộc hàm không đầy đủ) nếu tồn tại một... dư thừa AB→D 33 Thuật toán tìm phủ tối thiểu của một tập phụ thuộc hàm * Từ tập phụ thuộc hàm F cho trước , câu hỏi là tìm phủ tối thiểu của F ? Bước 1: loại khỏi F các phụ thuộc hàm có vế trái dư thừa Bước 2: Tách các phụ thuộc hàm có vế phải trên một thuộc tính thành các phụ thuộc hàm có vế phải một thuộc tính Bước 3: loại khỏi F các phụ thuộc hàm dư thừa * Bài tóan trọng tâm Nhận xét : Từ một tập... với một tập phụ thuộc hàm G mà vế phải của các pth trong G chỉ gồm một thuộc tính Ví dụ 3: cho F = {A → BC , B → C , A → D} ta suy ra F ≡ {A → B, A → C , B → C , A → D} = G G được gọi là tập phụ thuộc hàm có vế phải một thuộc tính 31 3.c Tập phụ thuộc hàm không dư thừa Nói rằng F là tập phụ thuộc hàm không dư thừa nếu không tồn tại X→ Y ∈ F sao cho F ≡ F – {X→ Y} Ngược lại F là tập phụ thuộc hàm dư thừa... Bước 2: 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 các tập con đã tìm để suy ra các phụ thuộc hàm thuộc F+ 20 PhủPhủ tối thiểu Các khái niệm : • Tập phụ thuộc hàm tương đương với F • Phủ của F • Phủ tối thiểu của F 21 1 Hai tập phụ thuộc hàm tương đương Tập phụ thuộc hàm F và G tương đương nếu F+ = G+ ký hiệu F ≡ G Bổ đề : F ≡ G nếu và chỉ nếu F |= G và G |= F  Nếu F ≡ G... của F Bước 1: loại khỏi F các phụ thuộc hàm có vế trái dư thừa AB→CD là phụ thuộc hàm có vế trái dư thừa? Xét B → CD ∈ F+ ? trả lời: BF+ = BCD ⇒ B → CD ∈ F+ Xét A → CD ∈ F+ ? trả lời: AF+ = A ⇒ A → CD ∉ F+ Vậy AB → CD là phụ thuộc hàm có vế trái dư thừa A ⇒ kết quả của bước 1 là: F ≡ {B → CD ; B → C ; C → D} = F1 Bước 2: tách các pth thành các phụ thuộc hàm có vế phải một thuộc tính F ≡ {B → D; B → C;C... loại khỏi F các phụ thuộc hàm dư thừa trong F1 , B → C là phụ thuộc hàm dư thừa? xét B → C ∈ G+ ? với G = F1 - {B → C} = {B → D;C → D} Trả lời : BG+ = BD ⇒ B → C ∉ G+ ⇒ B → C không dư thừa trong F1 35 trong F1 , B → D là phụ thuộc hàm dư thừa? xét B → D ∈ G+ ? với G = F1 - {B → D} = {B → C;C → D} trả lời : BG+ = BCD ⇒ B → D ∈ G + ⇒ B → D dư thừa trong F1 trong F1 , C → D là phụ thuộc hàm dư thừa? xét... A → CB , B+=? C→ G, GE → H } 19 5 Thuật toán tìm F+ Thuật toán cơ bản Để tính bao đóng F+ của tập các phụ thuộc hàm F ta thực hiện các bước sau: • 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+ Thuật toán cải tiến Dựa... cho tập phụ thuộc hàm F = {A → BC, B → C, AB → D} - Các pth có vế trái 1 thuộc tính _ là pth đầy đủ - xét pth AB → D : A → D ∈ F+ ? tính AF+ = ABCD => A → D ∈ F+ B → D ∈ F+ ? tính BF+ = BC => B → D ∉ F+ Trong F ta thay AB → D bằng A → D Vậy F ≡ F’ = {A → BC, B → C, A → D} Kết luận : F ≡ F’ là tập pth có vế trái không dư thừa 30 3.b Tập phụ thuộc hàm có vế phải một thuộc tính Mỗi tập phụ thuộc hàm F đều... phân rã 15 Thuật toán tìm bao đóng X+: 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 16 Ví dụ 1: Cho lược đồ quan hệ Q(ABCDE) và tập phụ thuộc hàm F F... AC → A (theo luật phản xạ) => Suy ra AC → DA (theo luật hội) 14 4.Bao đóng của tập thuộc tính X (closures of attribute sets) Cho Q là lược đồ quan hệ Q( Q+), F là tập các phụ thuộc hàm định nghĩa trên Q , gọi X, Ai ⊆ Q+ Bao đóng của tập thuộc tính X dựa trên F ký hiệu là X+ (hoặc X+F ) X+F = ∪ Ai với X → Ai là phụ thuộc hàm được suy diễn từ F nhờ hệ tiên đề Armstrong  Nhận xét : X ⊆ X+ , X+ ⊆ Q+ ⇒ Bổ

Ngày đăng: 12/05/2014, 11:52

Từ khóa liên quan

Mục lục

  • CHƯƠNG 5

  • NỘI DUNG

  • PHỤ THUỘC HÀM

  • 1. KHÁI NIỆM

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • Slide 16

  • Slide 17

  • Slide 18

  • Slide 19

  • 5. Thuật toán tìm F+

Tài liệu cùng người dùng

Tài liệu liên quan