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

89 611 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 89
Dung lượng 167,15 KB

Nội dung

Tìm hiểu về mô hình cơ sở dữ liệu dạng khối 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... Chương 2: Giới thiệu tổng quan về mô hình dữ liệu dạng

Trang 1

Bộ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐAI HOC sư PHAM HÀ NÔI 2

• • •

ĐINH THỊ Lực

PHÉP SUY DẪN CỦA CÁC PHỤ THUỘC HÀM TRONG MÔ

HÌNH DỮ LIÊU DANG KHỐI

• •

LUÂN VĂN THAC SỸ MÁY TÍNH

• Chuyên ngành: Khoa học máy tính Mã ngành: 60 48 01 01

Người hướng dẫn khoa học: PGS.TS Trịnh Đình Thắng

Hà Nội, 2014

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 ttong quá trình làm luận văn Đặc biệt tôi xin cảm ơn thày PGS.TS Trịnh

Trang 2

Đình Thắng đã tận tình hướng dẫn, chỉ bảo tôi trong suốt quá tì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

Đỉnh Thi Lưc

• 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

Đỉnh Thị Lực MỤC LỤC

Trang 4

MỞ ĐẦU

1 Lý do chọn đề tài

Đe xây dựng được một hệ thống cở sở dữ liệu tốt, người ta thường sử dụng các

mô hình dữ liệu thích họp đã có một số mô hình được sử dụng ttong các hệ thống cở sở dữ liệu như: mô hình thực thể - liên kết, mô hình mạng, mô hình phân cấp, mô hình hướng đối tượng, mô hình dữ liệu datalog và mô hình quan

hệ Trong số các mô hình này thì có ba mô hình dữ liệu thường được sử dụng

là mô hình phân cấp, mô hình mạng và mô hình quan hệ Đối với ba mô hình này thì mô hình quan hệ được quan tâm hơn cả Mô hình này được E Codd đề xuất năm 1970 Tuy nhiên do các quan hệ có cấu trúcphẳng (tuyến tính) nên mô hình này chưa đủ đáp ứng đối với các ứng dụngphức tạp, các cơ sở dữ liệu có cấu trúc phi tuyến tính,

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

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

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

Trang 5

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ố ừê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

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]

Trang 6

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

- Tập tất cả các giá ừị 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à DAÌ

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 7

Trong đó các thuộc tính là MaSV: mã sinh viên; HOTEN: họ tên; NS: ngày sinh; DC: địa chỉ; KHOA: khoa.

Trang 8

t2(K) và bất kỳ tập con thực sự Ki c= К 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’ 3 К và К là một khoá của quan hệ r.

Ví dụ 1.3: Sinhviên

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 10

Phép trừ của hai quan hệ khả họp r và s, kí hiệu: r - s là tập tất cả các bộ thuộc

r nhưng không thuộc s Ta có:

r- s = { t | t e r A t Ể s }

b) Tích Đề-các

Cho quan hệ r xác định trên tập thuộc tính {Ai, A2, An} và quan hệ sxác định trên tập thuộc tính {Bi, B2, Bm} Tích Đề-các của hai quan hệ г và s kí hiệu là rx 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ộ

Trang 11

thuộc r và m thành phần sau là một bộ thuộc s Ta có: г X s = {t=(ab a 2 ,a n , b b

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

Trang 12

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á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: A (và), 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à 5p (r), là tập tất cảcác bộ của r thoả mãn F Ta có: ÔF (r) = {t I t€r A F(t)}

Trang 13

P(UV)= r*s= {u*v I u6r, v6s, U.M=V.M}

Nếu M= unv=0, 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 14

1.3 Các phụ thuộc hàm

Khi xét đến mối quan hệ giữa dữ liệu ừong CSDL quan hệ một trong nhưng yếu tố quan trọng nhất được xét đến là sự phụ thuộc giữa các thuộc tính này với thuộc tính khác Từ đó có thể xây dựng những ràng buộc cũng như loại

bỏ đi những dư thừa dữ liệu trong một CSDL

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 Ư, 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 ừên R và với hai bộ bất kỳ ti, t2ẼR mà ti(X) =

Trang 15

Tính chất 5) Nếu X -> Y, z -> w thì xz ->YW.

Tính chất 6) Nếu X -► Ythì XZ->Y

Tính chất 7)Nếu X Y, z thì X -► YZ

Tính chất 8)Nếu X YZ thì X -► Y

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 đề Amsừong như sau:

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

Thật vậy, từ giả thiếtti(X) = t2(X) mà Yç X suy ra ti(Y) = t2(Y)

Vậy từ tiCX) = t2(X) =» ti(Y) = t2(Y)

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

Phản chứng: Giả sử ti(YW) #2(YW)

Theo giả thiết có ti(XW) = t2(XW)=> íi(X)= t2(X)

ti(W)= t2(W)Nên để có ti(YW) #2(YW) thì ti(Y) #2(Y)

Nhưng cũng theo giả thiết ta lại có X —> Y nên ti(X) = t2(X)

=> ti(Y) = t2(Y) (mâu thuẫn) => tt(YW)= t2(YW)

Vậy từ ti(XW) = t2(XW) =» ti(YW)= t2(YW)

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

Phản chứng: Giả sử ti(Z) #2(Z)

Theo giả thiết X —> Y nên ti(X) = t2(X) => ti(Y) = t2(Y)

Trang 16

Mặt khác, cũng theo giả thiết có Y —» z nên ti(Y) = t2(Y) =>ti(Z)=

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

Trong đó, các thuộc tính trong ti đều có giá trịl, 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.

Thật vậy, giả sử w —> V G F không thỏa trên r Như vậy, w C x+, vì nếu không

sẽ vi phạm tính bằng nhau của w trên hai bộ ti và t2 Hơn nữa, V không thể là

tập con của x + , bởi vì nếu V C x + thì w — * ■ V sẽ thỏa mãn trên r Vậy phải có

ít nhất một thuộc tính A Q x+ Theo tính chất phản xạ nếu CI x+ thì X — » w,

mà w —> V nên X —» V (theo tính chất bắc cầu) Do A ^X+ nên X —>• A hay

A E 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

vậy X c X+v à Y c x+, vì nếu không sẽ vi phạm sự bằng nhau trên các bộ ti, t2

của X và Y Nhưng nếu Yc x+ ứiì 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

Trang 17

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ộchàm trên R và X —> Y là một phụ thuộc hàm, X,Y CỊJ

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 1= 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 I F I = f}

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

Cho lược đồ quan hệ R xác định ừên tập thuộc tính Ư, 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ó:

Trang 18

2)

3) Mà theo luật phản xạ X£Y =>Y — > X (2)

4) Vậy tò (1) và (2) ta suy ra Y—> A => AG Y+

5) Giả sử x + =AiA2 Ak

6)Do AiG x+ta có X

-> Ai Tưofng tự:

X —>

A.2

7) Theo luật hợp ta có X — > AiA2 Ak^X — > x+

8) Để chứng minh x++=x + ta đi chứng minh x+ç x++và ngược lại

Trang 19

33) Suy ra: X—► Y(luật bắc cầu).

34)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+

Trang 20

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:

44) Nói rằng X —» Y là thành viên của F nếu X —> Y € F4-

45) 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 G F* hay không, bài toán này được gọi là bài toán thành viên

46) Để 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+ 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 F4- 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 6 F+<=> Y C x+ Ta chứng minh điều này

47) Giả sử Y= {Ail, Ai2, .,Aik}<={A1 An} với A i - A n là các thuộc tính và Y C 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

48) 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, AiGY nhờ luật tách, suy ra Ai G x + Từ đó, suy ra Y

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

56) Bước 2: Kiểm tra Y C x+ nếu đúng thì X —> Y 6 F+,

return (Y) nếu sai thì X —»Y F*, return (N)

57) 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:

Trang 21

58) 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

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

60) Phương pháp:

61) Tính liên tiếp các tập thuộc tính Xo, Xi, x2, theo các bước sau:

62) Bước 0: đặt Xo = X

63) Bước i: Tính Xi từ Xị_i như sau:

64) Xi = г Xị.iU {A} nếu tồn tại Y —» z e F mà YÇ Xị 1 , AG z và A Ể Xi_i.

65) [Xu nếu ngược lại

66) Vì rằng x= Xo с: ç X i Ç g U và Ư là hữu hạn cho nên sẽ tồn tại một chỉ SỐ i nào đó mà XI = XI_I, khi đó X+ = XI.

73) Bước 1: Xi = XO u {D} vì 3 A — > D thoả mãn điều kiện

74) Bước 2: X2 = XI и {E} vì 3 AB —» DE thoả mãn điều kiện.75) Bước 3: Хз = X2 и {H} vì 3 E —> H tìioả mãn điều kiện

76) Bước 4 : X Ạ = X3

77) Vậy AB + F = {ABDEH}

1.5 Khoá và các dạng chuẩn của ỉược đồ quan hệ Định nghĩa 1.9[6]

78) Cho lược đồ quan hệ R xác định trên tập thuộc tính и = {Ab A2, An}, F là

79) một tập phụ thuộc hàm xác định trên и, к Ç и, к được gọi là siêu khoá của lược đồ quan hệ R nếu phụ thuộc hàm к —>u G F4-, nghĩa là tập thuộc tính

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

Trang 22

80) Định nghĩa 1.10[6]

81) Cho lược đồ quan hệ R xác định trên tập thuộc tính и = {Al, A2 An}, F là

một tập phụ thuộc hàm xác định trên и, к Ç и, к được gọi là khoá của R nếu к thoả hai điều kiện:

• К là siêu khoá

• VA e К ta có (К -A)+Ф u

82) Thuộc tính A được gọi là thuộc tính khóa (hoặc thuộc tính sơ cấp) nếu AeK với К là một khóa của R, ngược lại thì A được gọi là thuộc tính không khóa (hoặc thuộc tính thứ cấp) và kí hiệu là Fn

83) 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ệ.

84) Thuật toán tìm khóa của lược đồ quan

Trang 23

95) 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 ừê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 I- f nếu mọi quan hệ r thỏa F thì cũng thỏa f.

97) Cho tập phụ thuộc hàm F xác định trên tập thuộc tính Ư và f là một phụ thuộc hàm ừê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 1= f nếu f e 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

100) Cho PRS = (U, D, dom) là một lược đồ

nguyên thủy Cho Xi, Xkc U với uf=1 Xi = u

101) Một phụ thuộc kết nối (Join Dependencies) trên PRS ký hiệu là

X i x k 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ỊX]* *!-!^]

102) 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:

103) BIA -> ->NG_UỐNG và BIA -> ->BAR đã được chỉ ra

104) Ở 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

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

Trang 24

106) NGJJONG BIA BAR

111) Dễ nhận thấy rằng

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

113)

114) Hệ quả:

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

• Nếu X, Y c Ư , thì (X-> ->Y oXY*X (Ư-Y)

• Neu X, YcU vói Xiu x 2 = u thì

Xi*X 2 »XinX 2

116) ^ Xi P1X2 —^ ^ 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 Ổ Ỉ ( 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

6) An 7) Tiger 8) Tiger 9) Ngôi

g Nam

Trang 25

120) Cho lược đồ RS = (U, V,

dom, M, SC) j: Xi* x 2 * x k là jd trên

124) Thuật toán 1.6.1 (Chase):

125) 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 = (Ư, D, dom)

126) Ra: true or false Phương pháp var 1: row;

Trang 26

127) TAB, HELPTAB, OLDTAB: tableau; TAB := r (J) repeat128) OLDTAB :=TAB

129) for each Yi* * Yi in sc do

130) HELPTAB :=TAB;

131) for all li lj in TAB do

132) if v > j =! > , 1: li [y, n Y J ] = L J [y, n Y J ]

Trang 27

156) until TAB = OLDTAB for each A in U do 1

(A) := aA

157) od;

158) if IGTAB then159) return (true) else

160) return (false)

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

163) 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)

168) Sau hai làn thêm 15 và 16 bảng trở thành:

46)

mr 47) A 48) В 49) С 50) D 51) E 52) F 53)

G54)

Trang 28

171) h[ABDEG]= hịABDEG] và h[ACDFG] = 1 e[ACDFG]

172) Hàng 17 chỉ gồm các biến được phân biệt nên kết luận sc|= J

173) Ý đồ của ứiuậ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

174) Luật F:

175) X —> Y là fd thuộc sc Nếu u và Y 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:

176) Giả sử u(A) =di và y(A) =d2 Nếu di hoặc d2 là biến được phân biệt, chẳng hạn di là biến được phân biệt thế thì mọi xuất hiện của d2 được thay thế bỏi di Nếu cả di 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.T:

177) sc là jd thuộc sc, sc =Xi * X2* *Xp Nếu có Wi, 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

178) Định lí 1.3[1]

86) mr A 87) В 88) С 89) D 90) E 91) F 92)

G93) 1 a A 94) a B 95)

Trang 29

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

180) Việc xét tính đúng của mệnh đề s c | = sc với sc là một phụ thuộc hàm(fd), khái

181) 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

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

183) 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 ç и ta có :

184) (XY) + f = XOO+FVX Trong đó x + = {a e u/ F\=

195) sc, = s c \ x = { o - > B , B - > D , D E

->BG,G->E,BD->D(loại), [BDE,DG], [BDE, DG,0]( loại), [BDE, EG]}

196) = { Ф ->B, B ^ D , DE^ BG, G-Æ, [BDE, DG], [BDE, EG]}

197) Vì Ф -» В nên В e X +

SC1-198) sc2 = SCi \ В ={ Ф ->D, DE^G, G ^ E , [BDE, D G ] , [DE, EG]}

Trang 30

số cố định (tối đa) các thành phần kết nối, thuật toán săn đuổi làm việc với thời gian

đa thức trên các lớp jd như vậy

204) Định nghĩa 1.16[1]

205) Cho PRS = (U, D, dom) là một lược đồ nguyên thủy và j là một phụ thuộc kết nối của PRS Cho m là một số nguyên dương j được gọi là m - cyclic nếu j tương đương với một tập các jd sao cho mỗi jd trong tập này tối đa chỉ có m thành phần kết nối

Định lý 1.6[1]

206) 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

207) Có thể dễ dàng thấy rằng 1 - 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

208) Định nghĩa 1.17[1]

209) Một siêu đồ thị là 1 cặp có thứ tự (N, £ ) trong đó:

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

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

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

212) N là tập các thuộc tính

213) Mỗi cung là một thành phàn kết nối của jd

214) Định nghĩa 1.18[1]

Trang 31

215) Mỗi jd là acyclic nếu nó tương đương với một tập các

mvd Một jd không acyclic gọi là cyclic Đ Ị N H N G H Ĩ A

1 1 9 [ 1 ]

216) Cho PRS = ( U, D, dom) là một lược đồ nguyên thuỷ và j là một phụ

thuộc kết nối của PRS Cho m là một số nguyên dương, j được gọi là M -

C Y C L I C nếu j tương đương với một tập các jd sao cho mỗi jd trong tập này tối

222) Một jd có thể được biểu diễn bằng 1 siêu đồ thị ( N , £) ừong

đó là tập các thuộc tính Mỗi cung là một thành phần kết nối của jd

225) Phụ thuộc hàm phức hợp có dạng:Xi, x2, ,Xk-»Y, trong đó Xi, x2, ,xk và Y

là các tập con khác nhau của lược đồ R

Trang 32

226) Quan hệ r(R) thoả phụ thuộc hàm phức hợp (Xi, x2, ,xk) Y nếu nó thoả các

phụ thuộc hàm Xi-»Xj, Xị^Y với \ < I , J < K Trong phụ thuộc hàm phức

227) hợp này, (Xi, x2 , x k) được gọi là vế trái, Xi, x2, ,xklà các tập trái, Y

228) gọi là vế phải

229) Phụ thuộc hàm phức họp là cách viết rút gọn hơn tập các phụ thuộc hàm có vế trái tương đương Trường hợp nếu Y=<D, có dạng đặc biệt của phụ thuộc hàm phức hợp là (Xi, x2, ,Xk)

230) Định nghĩa 1.23[4]

231) Giả sử G là tập các phụ thuộc hàm phức họp ừên R và F là tập các phụ thuộc hàm hay các phụ thuộc hàm phức họp trên R Tập G tương đương với tập F, kí hiệu là G=

F, nếu mối quan hệ r(R) thoả G thì thoả F và ngược lại

232) Định nghĩa 1.24[4]

233) Cho G là tập phụ thuộc hàm phức hợp chứa phụ thuộc (Xi, x2, X]j) ->Y Cho

Xi là một trong các tập trái và A là một thuộc tính trong Xi Thuộc tính A được gọi là

từ Xi sang Y mà vẫn bảo toàn sự tương đương Tập trái Xi C Ó T H Ể D Ị C H

C H U Y Ể N , nếu mọi thuộc tính của Xi là có thể dịch chuyển đồng thời.

Trang 33

241) Chương này đã trình bày một số các khái niệm cơ bản nhất trong mô hình dữ liệu quan hệ Trình bày các phép toán cơ bản, các khái niệm về phụ thuộc hàm, khoá, bao đóng cùng với các tính chất của chúng Ngoài ra các thuật toán tìm khoá, bao đóng cũng được trình bày.

242) Mô hình dữ liệu quan hệ có tính độc lập dữ liệu cao, dễ dàng sử dụng và còn cho phép dễ dàng mô phỏng các hệ thống thông tin đa dạng trong thực tiễn Trong

mô hình này, cơ sở dữ liệu được xem như là một tập hợp các quan hệ, mỗi quan hệ có thể được hình dung một cách trực quan như là một bảng chữ nhật gồm có các hàng và các cột Ở bảng này mỗi cột ứng với một thuộc tính, mỗi hàng được gọi là một bộ

Do các quan hệ có cấu trúc phẳng (tuyến tính) nên mô hình này sẽ rất khó khăn khi biểu diễn các dữ liệu có tính chất động (phi tuyến)

243) CHƯƠNG 2: MÔ HÌNH cơ SỞ DỮ LIỆU DẠNG KHỐI

244) Để mở rộng và khắc phục phần nào những nhược điểm của mô hình quan hệ nói trên, chương này đưa ra một mô hình cơ sở dữ liệu khác gọi là mô hình

cơ sở dữ liệu dạng khối được xây dựng và mô tả trong nó Mô hình này giúp biểu diễn thế giới thực trong quá trình vận động một cách tự nhiên hơn

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

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

245) Khái niệm toán học làm nền tảng cho mô hình cơ sở dữ liệu dạng khối (gọi tắt là mô hình khối) là các khối hiểu theo nghĩa của lý thuyết tập hợp Khối được định nghĩa như sau:

246) Định nghĩa 2.1[5][6]

247) Gọi R = (id; Al, A 2, , An) là một bộ hữu hạn các phàn tử, trong đó id

là tập chỉ số hữu hạn khác rỗng, Ai(i=l,n) là các thuộc tính Mỗi thuộc tính Ai(i=l,n)

có miền giá trị tương ứng là dom(Ai) Một khối г trên tập R, kí hiệu r(R) gồm một số hữu hạn phàn tử mà mỗi phần tử là một họ các ánh xạ tò tập chỉ số id đến các miền trị của các thuộc tính Ai, (i=l,n) Nói một cách khác : t e r(R) ^ t = {t* : id — »

dom(Ai) }(i=l,n}7 Ta kí hiệu khối đó là r(R) hoặc r(id; Ai, A2, , An), hoặc kí hiệu đơn giản là г

Trang 34

248) Khi đó khối r(R) được gọi là có lược đồ khối R Như vậy trên cùng một lược đồ khối R ta có thể xây dựng được nhiều khối khác nhau.

249) Ví dụ 2.1: Ta xây dựng khối nhân viên (ký hiệu NV(R)) (hình 2.1) để quản lý nhân viên ừong một cơ quan như sau:

250) Cho lược đồ khối R = (id; Al, A 2 A 3 , A 4 ), trong đó:id = {1/2009,

2/2009, 3/2009, 12/2009, và các thuộc tính là Al = ma (mã), A 2 = ten (tên),

251) A3 = luong (lương), A4 = trinhdo (trình độ)

252) Với khối NV(R) ở hình 2.1, ta thấy nó gồm 3 phần tử:ti t2 13

Trang 35

253) ten luong trinh_doma 254) 1 I I I

263) Khi đó ta có :

• Lương của nhân viên ti ở thời điểm

tháng 1/2009 là :

264) ti(l/2009,luong) = 200

• Tên của cán bộ t2 vào tháng 2/2009

là : t2(2/2009,ten) = 'B'

• Trình độ của cán bộ t3 vào tháng

2/2009 là :

265) t3(2/2009,trinh_do) = ‘CD\

• Mã số của cán bộ t3 vào tháng 3/2009

là : t3(3/2009,ma) = 'С0Г

266) Ví dụ 2.2: Từ ví dụ 2.1 ở trên, ta xây dựng một khối mới với tên CBl(R’) Ở đây R’ được xác định như sau:

267) R’=(id’;Ai, A2, A3, A4) với id’= {1/1999}, và

• 3

2/2009

Trang 37

271)

Trang 38

272) Như vậy trong ví dụ này ta thấy khối CB1 có dạng một quan

hệ trong mô hình dữ liệu quan hệ

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

273) Các phép tính cơ bản thường được áp dụng cho một cơ

276) Khi chèn thêm một phàn tử to vào khối

r ta có:

277) r= r u {to}, ở

đó to= (t'oA /o).

278) INSERT(r, t^tV-.fo)

b Phép loại bỏ

Trang 39

279) Cho R = (id ;

Ai, A2, ,An), r(R ) là một khối trên R

280) Phép loại

bỏ là phép xoá một phần tử ra khỏi một khối cho trước

Chẳng hạn loại bỏ một phần tử to ra khỏi khối r(R) có dạng: r =r—

{to} ,t0=(t1 0, t^o,• •

■ ,tn o)

t1=t1 0,t 2=t2 0, .-,tn =t n 0).282) Ở đây để xác định phần tử cần loại bỏ ta phải dùng

bộ ánh xạ (t , t1 2 ,

283) Nghĩa là ta phải thực hiện các phép so sánh :

284) t 1=t1ot2=t2o, ~,tn =t n o) 285) để xác định phần tử to

ở trên

c Phép sửa đỗi

286) Cũng giống như

phép chèn và phép loại bỏ,

Trang 40

phép sửa đổi phàn tử to thành phần tử t’o có dạng :

287) r=r- { to} и {t’o},

288) CH( r; t*= t\b t2 =

t2 0, t n = t n 0 ; t*=

t’V t2 = t’ 2 0, f = t’n 0),

289) Ở đó to = ( ^ 0, t2 0,

t’o=( t’fc t’ 2o, ,t’n o) 290) Đối với các phép chèn, loại bỏ và sửa đổi nêu trên thì khi khối г suy biến thành một quan hệ, nghĩa là khi tập chỉ số idchỉ gồm một phần tử (id ={x}) thì chứng lại trở thành các phép chèn, loại bỏ và sửa đổi trên một quan hệ ừong mô hình dữ liệu quan hệ

2.2 Khoá của khối

291) Cho R = (id ; Al, A 2, An), r là một khối trên R Với mỗi X € id, t G r(R), t = (t1 , t 2 , t n ), ta kí hiệu t(x;Aj), (i =l n), là giá

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

w