1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phép suy dẫn của các phụ thuộc hàm trong mô hình dữ liệu dạng khối

67 269 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 67
Dung lượng 1,05 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Để hoàn thiện cho lý thuyết về mô hình dữ liệu dạng khối em đã chọn đề tài “Phép suy dẫn của các phụ thuộc hàm trong mô hình dữ liệu dạng khối”.. Mục đích nghiên cứu Nghiên cứu về các p

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2

Hà Nội, 2014

Trang 2

LỜI CẢM ƠN

Để hoàn thành luận văn này tôi đã nhận được sự giúp đỡ tận tình của thầy hướng dẫn khoa học, của các thầy cô trường Đại học Sư phạm Hà Nội 2 Tôi xin chân thành cảm ơn các thầy cô trường Đại học Sư phạm Hà Nội 2 đã tạo điều kiện học tập, nghiên cứu và giúp đỡ tôi rất nhiều trong quá trình làm

luận văn Đặc biệt tôi xin cảm ơn thầy PGS.TS Trịnh Đình Thắng đã tận

tình hướng dẫn, chỉ bảo tôi trong suốt quá trình học tập, nghiên cứu đề tài và giúp đỡ tôi hoàn thành bản luận văn này

Vĩnh Phúc, ngày 01 tháng 02 năm 2015

Học viên

Đinh Thị Lực

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan đây là kết quả nghiên cứu của tôi dưới sự hướng dẫn

khoa học của PGS TS Trịnh Đình Thắng

Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được

ai công bố trong bất kỳ công trình nào khác

Học viên

Đinh Thị Lực

Trang 4

MỤC LỤC

MỞ ĐẦU 1

CHƯƠNG 1: MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ VÀ CÁC PHÉP SUY DẪN 3

1 1 Các khái niệm cơ bản 3

1.1.1 Thuộc tính và miền thuộc tính 3

1.1.2 Quan hệ, lược đồ quan hệ và khoá của quan hệ 3

1.2 Các phép toán đại số quan hệ 5

1.2.1 Phép hợp và phép giao 5

1.2.2 Phép trừ và tích Đề-các 6

1.2.3 Phép chiếu, phép chọn và phép kết nối 7

1.3 Cácphụ thuộc hàm 10

1.3.1.Các tính chất của phụ thuộc hàm [6] 11

1.3.2 Hệ tiên đề Amstrong và các phép suy dẫn[6] 11

1.4 Bao đóng 13

1.4.1 Bao đóng của tập phụ thuộc hàm và của tập thuộc tính 13

1.4.2 Bài toán thành viên và thuật toán tìm bao đóng của tập thuộc tính 16

1.5 Khoá và các dạng chuẩn của lược đồ quan hệ 18

1.6 Các phép suy dẫn trên mô hình quan hệ 19

1.6.1 Phụ thuộc kết nối (Join Dependencies) 20

1.6.2 Phụ thuộc hàm phức hợp(compound functional dependency - CFD) 30 Kết luận chương 1 31

CHƯƠNG 2: MÔ HÌNH CƠ SỞ DỮ LIỆU DẠNG KHỐI 32

2.1 Khối, lược đồ khối và các phép tính trên khối 32

2.1.1 Khối, lược đồ khối 32

2.1.2.Các phép tính trên khối [5] 34

2.2 Khoá của khối 35

Trang 5

2.3 Đại số quan hệ trên khối và một số tính chất 37

2.3.1 Đại số quan hệ trên khối [5] 37

2.4 Các phụ thuộc hàm trên khối 41

2.5 Bao đóng của tập thuộc tính chỉ số 43

2.6 Khoá của lược đồ khối R đối với tập F trên R 44

2.7 Đánh giá độ phức tạp thời gian của thuật toán 46

2.8 Dạng chuẩn của khối 48

Kết luận chương 2 50

CHƯƠNG 3: CÁC PHÉP SUY DẪN TRONG MÔ HÌNH DỮ LIỆU DẠNG KHỐI 51

3.1 Phụ thuộc kết nối 51

3.2 Phụ thuộc hàm phức hợp 54

Kết luận chương 3 60

KẾT LUẬN 61

TÀI LIỆU THAM KHẢO 62

Trang 6

Trong những năm gần đây, việc nghiên cứu nhằm mở rộng mô hình dữ liệu quan hệ đã được nhiều nhà khoa học quan tâm Theo hướng nghiên cứu này một mô hình dữ liệu mới đã được đề xuất đó là mô hình dữ liệu dạng khối

Mô hình dữ liệu này được xem là một mở rộng của mô hình dữ liệu quan hệ

Để hoàn thiện cho lý thuyết về mô hình dữ liệu dạng khối em đã

chọn đề tài “Phép suy dẫn của các phụ thuộc hàm trong mô hình dữ liệu dạng khối” Nhằm chứng minh tính chất các phép suy dẫn như suy dẫn theo tiên đề, suy dẫn theo khối, suy dẫn theo quan hệ, các định lí tương đương

1 Mục đích nghiên cứu

Nghiên cứu về các phép suy dẫn của các phụ thuộc hàm trong mô hình dữ liệu dạng khối như suy dẫn theo tiên đề, suy dẫn theo quan hệ, định lí các phép suy dẫn tương đương

2 Nhiệm vụ nghiên cứu

Tìm hiểu về mô hình cơ sở dữ liệu quan hệ

Tìm hiểu về mô hình cơ sở dữ liệu dạng khối

Trang 7

Nghiên cứu về các phép suy dẫn của các phụ thuộc hàm trong mô hình dữ liệu dạng khối

4 Đối tượng và phạm vi nghiên cứu

Đối tượng, phạm vi nghiên cứu về các phép suy dẫn trong mô hình dữ liệu dạng khối, các định lí tương đương

5 Phương pháp nghiên cứu

Luận văn được thực hiện bằng phương pháp nghiên cứu lý thuyết: thu thập tài liệu, phân tích các tài liệu và những thông tin liên quan đến đề tài, kết hợp các nghiên cứu đã có trước đây của tác giả trong nước cùng với sự chỉ bảo, góp ý của thầy hướng dẫn để hoàn thành nội dung nghiên cứu

6 Những đóng góp mới của đề tài

- Phát biểu và chứng minh các tính chất của phụ thuộc kết nối trên khối

- Phát biểu và chứng minh tính chất của phụ thuộc phức hợp trên khối

- Đưa ra một số tính chất đặc trưng của phụ thuộc phức hợp trên khối tương đương

7 Cấu trúc của luận văn

Luận văn gồm: Lời mở đầu, ba chương nội dung, phần kết luận và tài liệu tham khảo

Chương 1: Trình bày các khái niệm cơ bản nhất về mô hình quan hệ: Trình

bày các phép toán đại số trên mô hình quan hệ, các vấn đề về phụ thuộc hàm, khóa, bao đóng, các phép suy dẫn trên mô hình quan hệ

Chương 2: Giới thiệu tổng quan về mô hình dữ liệu dạng khối: Định nghĩa

khối, lược đồ khối, khóa, đại số quan hệ trên khối, phụ thuộc hàm và các dạng chuẩn của khối

Chương 3: Phát biểu và chứng minh các tính chất của phụ thuộc kết nối trên

khối, phụ thuộc phức hợp trên khối Đưa ra các tính chất đặc trưng của phụ thuộc phức hợp trên khối

Trang 8

CHƯƠNG 1: MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ VÀ CÁC PHÉP SUY DẪN

1 1 Các khái niệm cơ bản

1.1.1 Thuộc tính và miền thuộc tính

Định nghĩa 1.1[6]

- Thuộc tính là đặc trưng của đối tượng

- Tập tất cả các giá trị có thể có của thuộc tính Ai gọi là miền giá trịcủa thuộc tính đó, ký hiệu: Dom(Ai) hay viết tắt là DAi

hj:U →

i i

A

A U

D

 sao cho hj(Ai)DAi(i=1, 2, ,n)

Ta có thể xem một quan hệ như một bảng, trong đó mỗi hàng (phần tử)

là một bộ và mỗi cột tương ứng với một thành phần gọi là thuộc tính Biểu diễn quan hệ r thành bảng như sau:

Trang 9

Định nghĩa 1.3[6]

Tập tất cả các thuộc tính trong một quan hệ cùng với mối liên hệ giữa

chúng đƣợc gọi là lược đồ quan hệ

Lƣợc đồ quan hệ R với tập thuộc tính U={A1, A2, , An} đƣợc viết là R(U) hoặc R(A1, A2, , An)

Trang 10

t2(K) và bất kỳ tập con thực sự K1 K nào đó đều không có tính chất đó Tập thuộc tính K‟ đƣợc gọi là siêu khoá nếu K‟K và K là một khoá của quan hệ r

Ví dụ 1.3:

a có thuộc

Ta có thuộc tính MaSV là khóa của quan hệ

1.2 Các phép toán đại số quan hệ

Trang 12

xác định trên tập thuộc tính {B1, B2, , Bm} Tích Đề-các của hai quan hệ r và

s kí hiệu là r× s, là tập tất cả các (m+n) - bộ có n thành phần đầu tiên là một

bộ thuộc r và m thành phần sau là một bộ thuộc s Ta có:

Cho r là một quan hệ n ngôi xác định trên tập thuộc tính U={A1, A2, , An}, X

là tập con của U Phép chiếu của quan hệ r trên tập thuộc tính X, kí hiệu là x

 (r), là tập các bộ của r xác định trên tập thuộc tính X Ta có:

Trang 13

Phép chiếu thực chất là phép toán giữ lại một số thuộc tính cần thiết của quan

hệ và loại bỏ những thuộc tính không cần thiết

Biểu thức chọn F đƣợc định nghĩa là một tổ hợp logic của các toán hạng, mỗi toán hạng là một phép so sánh đơn giản giữa hai biến là hai thuộc tính hoặc giữa một biến là một thuộc tính và một giá trị hằng Biểu thức chọn F cho giá

Trang 14

trị đúng hoặc sai đối với mỗi bộ đã cho của quan hệ khi kiểm tra riêng bộ đó

- Các phép toán so sánh trong biểu thức F: >, <, =, ≥, ≠, ≤

- Các phép toán logic trong biểu thức F: ∧ (và), ∨ (hoặc),  (phủ định) Cho r là một quan hệ và F là một biểu thức logic trên các thuộc tính của

r Phép chọn trên quan hệ r với biểu thức chọn F, kí hiệu là F(r), là tập tất cả các bộ của r thoả mãn F Ta có: F(r) = {t│ t∈r  F(t)}

P(UV)= r*s= {u*v│u∈r, v∈s, u.M=v.M}

Nếu M= U∩V=Ф, r*s sẽ cho ta tích Đề- các, trong đó mỗi bộ của quan

hệ r sẽ đƣợc ghép với mọi bộ của quan hệ s

Trang 15

Phụ thuộc hàm là những mối quan hệ giữa các thuộc tính trong CSDL quan hệ Khái niệm về phụ thuộc hàm có một vai trò rất quan trọng trong việc thiết kế mô hình dữ liệu Một trạng thái phụ thuộc hàm chỉ ra rằng giá trị của một thuộc tính đƣợc quyết định một cách duy nhất bởi giá trị của thuộc tính khác.Sử dụng các phụ thuộc hàm để chuẩn hóa lƣợc đồ quan hệ về dạng chuẩn 3 hoặc chuẩn Boye-Codd

Định nghĩa 1.6 [6]

Cho lƣợc đồ quan hệ R xác định trên tập thuộc tính U, và X, Y ⊆U Nói rằng, X xác định hàm Y hay Y phụ thuộc hàm vào X và kí hiệu X → Y nếu với mọi quan hệ r xác định trên R và với hai bộ bất kỳ t1, t2∈R mà

t1(X) = t2(X) thì t1(Y) = t2(Y)

Trang 16

1.3.1.Các tính chất của phụ thuộc hàm [6]

Cho lƣợc đồ quan hệ R xác định trên tập thuộc tính U = {A1, A2, .,

An}, cho X, Y, Z, W⊆ U thì ta có một số tính chất cơ bản của các phụ thuộc hàm nhƣ sau:

Tính chất 9) Nếu X → YZ, Z → WV thì X → YZW

1.3.2 Hệ tiên đề Amstrong và các phép suy dẫn[6]

Gọi R là quan hệ trên tập thuộc tính U Khi đó với các tập thuộc tính X,

Y, Z⊆ U ta có hệ tiên đề Amstrong nhƣ sau:

1)Với mọi t1, t2 r(R) và t1(X) = t2(X), cần chứng minh t1(Y) = t2(Y)

Thật vậy, từ giả thiếtt1(X) = t2(X) mà Y X suy ra t1(Y) = t2(Y)

Vậy từ t1(X) = t2(X) ⇒ t1(Y) = t2(Y)

2)Với mọi t1, t2 r(R) và t1(XW) = t2(XW), cần chứng minh t1(YW)= t2(YW)

Trang 17

Phản chứng: Giả sử t1(YW) ≠t2(YW)

Theo giả thiết có t1(XW) = t2(XW)⇒ t1(X)= t2(X)

t1(W)= t2(W)

Nên để có t1(YW) ≠t2(YW) thì t1(Y) ≠t2(Y)

Nhƣng cũng theo giả thiết ta lại có X → Y nên t1(X) = t2(X)

⇒ t1(Y) = t2(Y) (mâu thuẫn)⇒ t1(YW)= t2(YW)

Vậy từ t1(XW) = t2(XW) ⇒ t1(YW)= t2(YW)

3)Với mọi t1, t2 r(R) và t1(X) = t2(X), cần chứng minh t1(Z) = t2(Z)

Phản chứng: Giả sử t1(Z) ≠t2(Z)

Theo giả thiết X → Y nên t1(X) = t2(X) ⇒ t1(Y) = t2(Y)

Mặt khác, cũng theo giả thiết có Y → Z nên t1(Y) = t2(Y) ⇒t1(Z)= t2(Z) (mâu thuẫn)

Xét quan hệ r gồm hai bộ t1, t2 nhƣ sau:

Trong đó, các thuộc tính trong t1 đều có giá trị1, các thuộc tính trong t2 chỉ

có các thuộc tính thuộc X+ là có giá trị 1 còn lại là giá trị 0

Ta chứng tỏ rằng, với mọi phụ thuộc hàm của F đều thỏa mãn trên r

Trang 18

Thật vậy, giả sử W → V  F không thỏa trên r Nhƣ vậy, W X+, vì nếu không sẽ vi phạm tính bằng nhau của W trên hai bộ t1 và t2 Hơn nữa, V không thể là tập con của X+, bởi vì nếu V X+

nên X → A hay A  X+ Điều đó là vô lý, bởi vì A  X+

Kết luận với mọi phụ thuộc hàm F đều thỏa trên r

Tiếp theo ta chứng tỏ rằng X → Y không thỏa mãn trên r

Thật vậy, giả sử X → Y thỏa trên r(R) Nhƣ vậy X X+ và Y X+, vì nếu không sẽ vi phạm sự bằng nhau trên các bộ t1, t2 của X và Y Nhƣng nếu

Y X+ thì X → Y sẽ suy diễn đƣợc từ F (theo tính chất phản xạ) Điều này mâu thuẫn với giả thiết X → Y không suy diễn đƣợc từ F Nhƣ vậy X → Y không thể thỏa mãn trên r

Kết luận X → Y không thỏa mãn trên r

* Phụ thuộc hàm đƣợc suy diễn logic từ tập phụ thuộc hàm F

Cho lƣợc đồ quan hệ R xác định trên tập thuộc tính U, F là tập các phụ thuộc hàm trên R và X → Y là một phụ thuộc hàm, X,Y ⊆U

Chúng ta nói rằng X → Y đƣợc suy diễn logic từ F nếu mỗi quan hệ r xác định trên R thoả mãn các phụ thuộc hàm trong F thì cũng thoả mãn X → Y

Kí hiệu F |= X → Y

1.4 Bao đóng

1.4.1 Bao đóng của tập phụ thuộc hàm và của tập thuộc tính

Định nghĩa 1.7[5][6]

Cho tập phụ thuộc hàm F, bao đóng của tập phụ thuộc hàm F kí hiệu F+

là tập lớn nhất chứa các phụ thuộc hàm đƣợc suy diễn từ các phụ thuộc hàm thuộc F Vậy F+

= {f │F │= f}

Trang 19

Định nghĩa 1.8[5][6]

Cho lƣợc đồ quan hệ R xác định trên tập thuộc tính U, cho X ⊆ U, tập các phụ thuộc hàm F Bao đóng của tập thuộc tính X đối với F kí hiệu X+

là tập tất cả các thuộc tính A mà X → A đƣợc suy diễn từ F Ta có:

Ta có A ∈ X+⇒X → A(1)

Mà theo luật phản xạ X⊆Y ⇒Y → X (2)

Vậy từ (1) và (2) ta suy ra Y→ A ⇒ A∈ Y+

3) Giả sử X+

Trang 20

Theo luật hợp ta có X → A1A2 Ak⇒X → X+

Trang 21

Từ (1), (2) suy ra X→ Y⇒A ∈ X+

b) Giả sử cóA ⊆ X+

ta cần chứng minh X→Y

Do Y ⊆ X+⇒X+

→ Y(luật phản xạ)

Mặt khác: X→ X+(theo tính chất 3)

Suy ra: X→ Y(luật bắc cầu)

8) Chứng minh X→ Yvà Y→ X X+= Y+ta có:

a) Giả sử có X→ Y và Y→ X ta cần chứng minh X+

= Y+ ta cần chứng minh X→Y và Y→ X

mà Y+⊆ X+⇒Y ⊆ X+⇒ X→Y (theo tính chất 7)

1.4.2 Bài toán thành viên và thuật toán tìm bao đóng của tập thuộc tính

• Bài toán thành viên:

Nói rằng X → Y là thành viên của F nếu X → Y ∈ F+

Một vấn đề quan trọng khi nghiên cứu lý thuyết cơ sở dữ liệu là khi cho trước tập các phụ thuộc hàm F và một phụ thuộc hàm X → Y, làm thế nào để biết

X → Y ∈ F+

hay không, bài toán này được gọi là bài toán thành viên

Để trả lời câu hỏi này ta có thể tính F+ rồi xác định xem X → Y có thuộc F+

Trang 22

hay không Việc tính F+ là một công việc đòi hỏi thời gian và công sức Tuy nhiên, thay vì tính F+ chúng ta có thể dùng tính chất của bao đóng của tập thuộc tính X để xác định X → Y có là thành viên của F+

hay không Đó là: X

→ Y ∈ F+⇔ Y ⊆ X+ Ta chứng minh điều này

Giả sử Y= {Ai1, Ai2, .,Aik}{A1…An} với A1…An là các thuộc tính

và Y ⊆ X+

Từ định nghĩa X+ ta có X → Ai, áp dụng hệ tiên đề Amstrong cho mỗi i suy ra X → Y nhờ luật hợp

Ngược lại, giả sử ta có X → Y, áp dụng hệ tiên đề Amstrong cho mỗi i

ta có X → Ai, Ai∈Y nhờ luật tách, suy ra Ai ∈ X+

Từ đó, suy ra Y ⊆ X+

Vậy X → Y ∈ F+

Bước 1: Tìm bao đóng của tập thuộc tính X: XF+

Bước 2: Kiểm tra Y ⊆ X+ nếu đúng thì X → Y ∈ F+

, return (Y) nếu sai thì X → Y ∉ F+

, return (N) Bước 3: Kết thúc thuật toán

• Thuật toán tìm bao đóng của tập thuộc tính:

Thuật toán 1.2: Tìm bao đóng của tập thuộc tính

Dữ liệu đầu vào:F, X ⊆ U

Ra: X+ là bao đóng của X đối với F

Phương pháp:

Tính liên tiếp các tập thuộc tính X0, X1, X2, theo các bước sau:

Bước 0: đặt X0 = X

Bước i: Tính Xi từ Xi-1 như sau:

Trang 23

Xi = Xi-1∪{A} nếu tồn tại Y → Z ∈ F mà Y Xi-1, A∈ Z và AXi-1

Xi-1 nếu ngược lại

Vì rằng X= X0… Xi…U và U là hữu hạn cho nên sẽ tồn tại một chỉ số i nào đó mà Xi = Xi-1, khi đó X+ = Xi

Bước 1: X1 = X0 ∪ {D} vì ∃ A → D thoả mãn điều kiện

Bước 2: X2 = X1 ∪ {E} vì ∃ AB → DE thoả mãn điều kiện

Bước 3: X3 = X2 ∪ {H} vì ∃ E → H thoả mãn điều kiện

là siêu khoá nếu K+

= U

Định nghĩa 1.10[6]

Cho lược đồ quan hệ R xác định trên tập thuộc tính U = {A1, A2, , An}, F là một tập phụ thuộc hàm xác định trên U, K ⊆ U, K được gọi là khoá của R nếu

Trang 24

K thoả hai điều kiện:

Một lược đồ quan hệ có thể có nhiều khóa và tập thuộc tính không khóa cũng có thể bằng rỗng

• Khoá là một khái niệm rất quan trọng trong việc thiết kế một cơ sở dữ liệu quan hệ Khoá thường được áp dụng trong việc tìm kiếm hay cập nhật dữ liệu trong các cơ sở dữ liệu quan hệ

Thuật toán tìm khóa của lược đồ quan hệ R

Bước i : Ki = (Ki-1 - {Ai}) Nếu (Ki-1 - {Ai})+ = U với Ai∈ Ki-1

Ki-1 nếu ngược lại

Trang 25

Cho tập phụ thuộc hàm F xác định trên tập thuộc tính U và f là một phụ thuộc hàm trên U Ta nói phụ thuộc hàm f được suy dẫn theo quan hệ từ tập phụ thuộc hàm F kí hiệu F ⊢ f nếu mọi quan hệ r thỏa F thì cũng thỏa f

Định nghĩa 1.12 [5][6]

Cho tập phụ thuộc hàm F xác định trên tập thuộc tính U và f là một phụ thuộc hàm trên U Ta nói phụ thuộc hàm f được suy dẫn theo tiên đề (hoặc suy dẫn logic) từ tập phụ thuộc hàm F kí hiệu F ⊨ f nếu f ∈ F+

Nói cách khác

f được suy dẫn theo các tiên đề từ tập phụ thuộc hàm F nếu như áp dụng hệ tiên đề Amstrong đối với các phụ thuộc hàm trong F thì sau hữu hạn lần ta sẽ thu được f

Để xem xét các phép suy dẫn trên mô hình quan hệ ta hãy xét các phụ thuộc hàm sau đây:

1.6.1 Phụ thuộc kết nối (Join Dependencies)

là một ràng buôc sao cho một quan hệ r trên PRS thỏa ràng buộc này nếu và chỉ nếur = r X1 * *r X k

Các kết quả sau đây dễ thấy một cách trực tiếp từ định nghĩa 1.13

Ví dụ 1.6.1:

BIA  NG_UỐNG và BIA  BAR đã được chỉ ra

Ở ví dụ này xét lược đồ RS‟ có được từ RS bằng cách thay đổi chút ít về ràng buộc duy nhất trong SC Giả sử rằng nếu một người từng uống một

loại bia và thường xuyên lui tới một BAR (mà BAR này có phục vụ loại

bia ấy) thì anh ta uống loại bia ấy trong BAR đã nói đến

Sau đây là một quan hệ thể hiện của RS‟

Trang 26

NG_UONG BIA BAR

Dễ nhận thấy rằng

r=r [NG_UONG,BIA] * r [BIA,BAR] *[NG_UONG,BAR]

Hệ quả:

Cho PRS = (U, D, dom) là một lược đồ nguyên thủy

 Nếu X, YU, thì (XY XY*X (U-Y)

 Nếu X, YU với X1  X2 = U thì

X1 *X2 X1 X2  X1

 X1 X2  X2

Có thể coi mvd là một trường hợp mở rộng của fd và là một trường hợp đặc

biệt của jd Đáng tiếc là chưa tìm thấy một hệ tiên đề xác đáng đầy đủ cho lớp

jd như đối với mvd và fd Tuy nhiên một thuật toán quyết định cho bài toán suy

diễn trong lớp ràng buộc gồm các fd và jd, gọi là săn đuổi(chase) được đưa ra

bởi Maier, Mendelzon và Sagiv năm 1975 Thuật toán liên quan đến một số

khái niệm sau đây

Trang 27

 Một tablea T(U) là một quan hệ trên U, trong đó mỗi thuộc tính Ai U, dom (Ai) =  a i Vn

Thuật toán 1.6.1 (Chase):

Vào: phụ thuộc kết nối j và tập SC các fd và các jd trên lƣợc đồ nguyên thủy PRS = (U, D, dom)

Trang 28

Ra: true or false

Trang 29

then

begin

if (l1(A) = aA) or (l2(A)= c then

Trang 30

Ví dụ 1.6.2: Áp dụng săn đuổi

Cho RS = (U, D, dom, M, SC) là một lƣợc đồ quan hệ

 U = A,B,C,D,E,F,G

 SC = ABCD*DEFG,ABDEG*ACDFG

J là phụ thuộc kết nối ABD * ACD *DEG * DFG

Dùng thuật toán săn đuổi để chỉ ra SC = J

Bảng khởi tạo của J là r(J)

Trang 31

Do l5 ABDEGACDFG l6 ABDEGACDFG nên thêm l7 vào bảng với

l7ABDEG= l5ABDEG và l7ACDFG = l6ACDFG

Hàng l7 chỉ gồm các biến đƣợc phân biệt nên kết luận SC J

Ý đồ của thuật toán Chase là biến đổi bảng khởi tạo của phụ thuộc kết nốij (j là jd cần đƣợc quyết định trong bài toán suy diến bởi một tập SC) bằng cách áp dụng các fd và jd có mặt trong SC thông qua các luật F và J sau đây cho đến khi không có thêm 1 trạng thái nào nữa cho bảng

Luật F:

Y

X  là fd thuộc SC Nếu u và v là hai bộ trong T sao cho u[X] =v[X] thì đồng nhất u(A) và v(A) cho mỗi thuộc tính A thuộc Y bằng cách đặt lại tên một trong hai biến đó nhƣ sau:

Giả sử u(A) =d1 và v(A) =d2 Nếu d1 hoặc d2 là biến đƣợc phân biệt, chẳng hạn d1 là biến đƣợc phân biệt thế thì mọi xuất hiện của d2 đƣợc thay thế bởi

d1 Nếu cả d1 lẫn d2 đều là biến không phân biệt thì mọi xuất hiện của

biến kèm chỉ số lớn hơn đƣợc thay thế bởi biến kia(biến có chỉ số nhỏhơn)

Luật J:

sc là jd thuộc SC, sc =X1 * X2*….*Xp Nếu có w1, w2,…,wp là các hàng của T mà khi kết nối theo sc đƣợc w thì thêm w vào T

Định lí 1.3[1]

Bài toán suy diễn trong lớp các ràng buộc gồm fd và jd quyết định đƣợc trong thời gian NP-hard

Trang 32

Việc xét tính đúng của mệnh đề SCsc với sc là một phụ thuộc hàm(fd), khái niệm dịch chuyển lƣợc đồ quan hệ đã tham gia hữu hiệu vào biểu diễn bao đóng của tập thuộc tính và thuật toán tìm bao đóng

Định lí 1.4(Demetrovics, Nguyễn Xuân Huy)

Cho U tập các thuộc tính, F tập các phụ thuộc hàm và kết nối Với hai tập thuộc tính không giao nhau tuỳ ý X, Y  U ta có :

= {  B, BD, DE BG, GE, [BDE, DG], [BDE, EG]}

Vì   B nên B ∈ X+

SC1

SC2 = SC1 \ B ={ D, DEG, GE, [BDE, DG] , [DE, EG]}

Trang 33

Cho m là một hằng nguyên dương, bài toán suy dẫn đối với phụ thuộc hàm

với m – cyclic kết nối là quyết định được trong thời gian đa thức

Có thể dễ dàng thấy rằng l – cyclic jd là những phụ thuộc kết nối tầm thường Lớp phụ thuộc kết nối 2 – cyclic là lớp ít phức tạp nhất trong kiểm tra tính toán dữ liệu Có thể biểu diễn cấu trúc các phụ thuộc kết nối (jd) bởi siêu đồ (bypergraph).Trong mối liên quan với cách biểu diễn này có khái niệm acyclic phân loại phụ thuộc kết nối

Định nghĩa 1.17[1]

Một siêu đồ thị là l cặp có thứ tự (,) trong đó:

 N là một tập hữu hạn các nút

  là tập các cung

Mỗi cung thuộc  là một tập con của N

Một jd có thể được biểu diễn bằng l siêu đồ thị (, ) trong đó:

Ngày đăng: 11/09/2015, 08:41

HÌNH ẢNH LIÊN QUAN

Bảng 1.1: Biểu diễn quan hệ r. - Phép suy dẫn của các phụ thuộc hàm trong mô hình dữ liệu dạng khối
Bảng 1.1 Biểu diễn quan hệ r (Trang 9)
Bảng khởi tạo của J là r(J) - Phép suy dẫn của các phụ thuộc hàm trong mô hình dữ liệu dạng khối
Bảng kh ởi tạo của J là r(J) (Trang 30)
Sau hai lần thêm l 5  và l 6  bảng trở thành: - Phép suy dẫn của các phụ thuộc hàm trong mô hình dữ liệu dạng khối
au hai lần thêm l 5 và l 6 bảng trở thành: (Trang 30)
Hình 2.1: Biểu diễn khối nhân viên NV(R). - Phép suy dẫn của các phụ thuộc hàm trong mô hình dữ liệu dạng khối
Hình 2.1 Biểu diễn khối nhân viên NV(R) (Trang 38)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w