1. Trang chủ
  2. » Công Nghệ Thông Tin

CÁC THUẬT TOÁN BIẾN ĐỔI LƯỢC ĐỒ QUAN HỆ VÀ ỨNG DỤNG

31 403 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 31
Dung lượng 165,18 KB

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

Nội dung

Các phần tử của U được gọi làthuộc tính, ứng với mỗi thuộc tính Ai⊆ U, i = 1, 2, ..., n có một tập không rỗng domAiđược gọi là miền trị của thuộc tính Aithập chí được giả thiết là chứa h

Trang 1

CÁC THUẬT TOÁN BIẾN ĐỔI LƯỢC

ĐỒ QUAN HỆ VÀ ỨNG DỤNG

Biên tập bởi:

Trang 2

CÁC THUẬT TOÁN BIẾN ĐỔI LƯỢC

ĐỒ QUAN HỆ VÀ ỨNG DỤNG

Biên tập bởi:

Phiên bản trực tuyến:

http://voer.edu.vn/c/f3d62f19

Trang 3

MỤC LỤC

1 CÁC KHÁI NIỆM VỀ CƠ SỞ DỮ LIỆU

2 PHÉP GIẢN LƯỢC CỦA LƯỢC ĐỒ QUAN HỆ

3 CÀI ĐẶT CHƯƠNG TRÌNH

Tham gia đóng góp

Trang 4

CÁC KHÁI NIỆM VỀ CƠ SỞ DỮ LIỆU

CHƯƠNG I: CÁC KHÁI NIỆM VỀ CƠ SỞ DỮ LIỆU

1.1 Quan hệ và bộ [2]

Cho tập hữu hạn U = {A1, A2, , An} khác trống (n ≥ 1) Các phần tử của U được gọi làthuộc tính, ứng với mỗi thuộc tính Ai⊆ U, i = 1, 2, , n có một tập không rỗng dom(Ai)được gọi là miền trị của thuộc tính Ai(thập chí được giả thiết là chứa hơn 1 giá trị)

Đặt D=Ui=1ndom(Ai) size 12{D= {U} cSub { size 8{i=1} } cSup { size 8{n} } ital

"dom" \( { size 24{A} } rSub { size 8{i} } \) } {}

Một quan hệ R với các thuộc tính U = {A1, A2, , An}, ký hiệu là R(U), là một tập cácánh xạ t: U ↑ D sao cho với mỗi Ai⊆ U ta có t(Ai) ⊆ dom(Ai) Mỗi ánh xạ được gọi làmột bộ của quan hệ R

Mỗi quan hệ R(U) có hình ảnh là một bảng, mỗi cột ứng với một thuộc tính, mỗi dòng

là một bộ

Ta ký hiệu t(X) hoặc t.X là một bộ trên tập thuộc tính X

Một quan hệ rỗng, ký hiệu ⊕, là quan hệ không chứa bộ nào

Chú ý: Mỗi quan hệ là một tập các bộ nên trong quan hệ không có hai bộ trùng lặp.1.2 Phụ thuộc hàm, hệ tiên đề Armstrong, lược đồ quan hệ

Cho quan hệ R(U) và một PTH f: X ↑ Y trên U Ta nói quan hệ R thỏa PTH f (hay PTH

f đúng trong quan hệ R), ký hiệu R(f), nếu hai bộ tùy ý trong R giống nhau trên X thìcũng giống nhau trên Y, tức là:

Trang 5

R(X ↑ Y) ⇔ u,v ⊆ R: u.X = v.X ⇒ u.Y = v.Y

1.3 Bao đóng của tập thuộc tính [2]

- Cho tập PTH F trên tập thuộc tính U và một tập con các thuộc tính X trong U Baođóng của tập thuộc tính X, ký hiệu X+, là tập tất cả các thuộc tính A⊆ U mà PTH X↑A

có thể được suy diễn logic từ F nhờ hệ tiên đề Armstrong:

X+= {A ⊆ U | X ↑ A ⊆ F+}

- Thuật toán tìm bao đóng của tập thuộc tính [2, 3]

Cho tập PTH F trên tập thuộc tính U và một tập con các thuộc tính X trong U Để xácđịnh bao đóng của tập thuộc tính X , ký hiệu X+xuất phát từ tập X và bổ sung dần cho

X các thuộc tính thuộc vế phải của các PTH L↑R size 12{ in } {} F thoả điều kiện L size

Trang 6

12{ subseteq } {} X Thuật toán sẽ dừng khi không thể bổ sung thêm thuộc tính nào choX.

Trang 7

Nếu F ≠ G ta nói G là một phủ của F.

Ký hiệu: F !╞ G: F không suy dẫn ra được G

F !≠ G có nghĩa là F và G không tương đương

Cho tập PTH F trên tập thuộc tính U và X là tập con của U, ta dùng ký hiệu XF+trongtrường hợp cần chỉ rõ bao đóng của tập thuộc tính X lấy theo tập PTH F

ζ Phủ thu gọn tự nhiên

Cho hai tập PTH F và G trên cùng một thuộc tính U G là phủ thu gọn tự nhiên của Fnếu:

1 G là phủ của F, và

2 G có dạng thu gọn tự nhiên theo nghĩa sau:

a Hai vế trái và phải của mọi PTH trong G rời nhau (không giao nhau)

Trang 8

G := ⊕;

For each FD L↑R in F do

Z := R \ L;

If Z ≃ ⊕ then

If there is an FD L↑Y in G then

Replace L↑Y in G by L↑YZ

Độ phức tạp của thuật toán trên là O(mn), trong đó m là số lượng PTH trong tập F, n là

số lượng thuộc tính trong tập U Để ý rằng mn là chiều dài dữ liệu vào của thuật toán.1.5 Cơ sở của lược đồ quan hệ [2, 3]

Cho LĐQH p = (U, F) Tập thuộc tính B ⊂ U được gọi là cơ sở của LĐQH p nếu:

(i) B+= U

(ii) A⊆B: (B\{A})+≃ U

Hai điều kiện trên tương đương với

(i) B → size 12{ rightarrow } {} U

(ii) A⊆B: (B\{A}) ! → size 12{ rightarrow } {} U

Nếu B thỏa mãn điều kiện (i) thì B được gọi là một siêu cơ sở

Trang 9

Thuộc tính A⊆ U được gọi là thuộc tính cơ sở (nguyên thủy hoặc cơ sở) nếu A có mặttrong một cơ sở nào đấy A được gọi là thuộc tính không cơ sở (phi nguyên thủy hoặcthứ cấp) nếu A không có mặt trong bất kỳ cơ sở nào Ký hiệu UB là tập các thuộc tính

cơ sở của LĐQH p và U0là tập các thuộc tính không cơ sở của p

Chú ý: Trong một số tài liệu, thuật ngữ cơ sở được dùng theo nghĩa siêu cơ sở và thuật

ngữ cơ sở tối tiểu được dùng theo nghĩa cơ sở

• Thuật toán tìm một cơ sở của LĐQH

Tư tưởng: Xuất phát từ một siêu cơ sở B tuỳ ý của LĐQH, duyệt lần lượt các thuộc tính

A của B, nếu bất biến (B\{A})+= U được bảo toàn thì A loại khỏi B Có thể thay kiểmtra (B\{A})+= U bằng kiểm tra A ⊆ (B\{A})+

Trang 10

End Base.

Độ phức tạp tính toán: Thuật toán duyệt n thuộc tính, với mỗi thuộc tính thực hiện phéplấy bao đóng với độ phức tạp n2m Tổng hợp lại, độ phức tạp tính toán của thuật toán làO(n3m)

1.6 Cách tính giao các cơ sở [2]

Những phần tử không xuất hiện ở vế phải thì nó có mặt ở mọi cơ sở, đó chính là giaocác cơ sở

Vậy giao các cơ sở chính là những thuộc tính không xuất hiện ở vế phải

Giả sử M là giao các cơ sở Nếu M+= U thì lược đồ chỉ có đúng 1 cơ sở, nếu M +size12{ <> } {} U thì lược đồ có trên 1 cơ sở

Gọi M là giao các cơ sở khi và chỉ khi: M+= U

Cho LĐQH p = (U,F) với n thuộc tính trong U và m PTH trong F Gọi M là giao các cơ

sở của p Khi đó có thể xác định giao các cơ sở bằng một thuật toán tuyến tính theo mnqua công thức: (RM=UL→R∈F size 12{M=U\ union cSub { size 8{L rightarrow R inF} } { \( R\L \) } } {}

• Thuật toán xác định giao các cơ sở trong LĐQH

Trang 11

Return M;

End BaseIntersec

1.7 Thuật toán tìm 2 cơ sở của LĐQH [2]

Bước 1: Tính giao các cơ sở

Bước 2: Tính M+ Nếu M+= U⇒ size 12{ drarrow } {} Lược đồ có 1 cơ sở M là duynhất

M+size 12{ <> } {} U ⇒ size 12{ drarrow } {} Lược đồ có trên 1 cơ sở

Gọi thuật toán Base 1 – Tìm cơ sở 1

Gọi thuật toán Base 2 – Tìm cơ sở 2

• Thuật toán tìm cơ sở thứ hai của LĐQH

Tư tưởng: Xuất phát từ tập thuộc tính M = U, trước hết duyệt các thuộc tính A của B,nếu bất biến (M\{A})+= U được bảo toàn thì loại A khỏi M Sau đó duyệt tương tự vớicác thuộc tính trong U\B

Algorithm Base 2

Function: Tìm một cơ sở thứ 2 của LĐQH

Input: - Tập thuộc tính U

- Tập PTH F

- Cơ sở B size 12{ subseteq } {} U

Output: Cơ sở thứ hai, nếu có, M ⊂ U thoả

i) M+= U

ii) A⊆M : (M\{A})+≃ U

Nếu không có cơ sở thứ 2: {} ⊕

Method

Trang 13

PHÉP GIẢN LƯỢC CỦA LƯỢC ĐỒ

bỏ mọi xuất hiện của các thuộc tính của M trong lược đồ p thì thu được lược đồ q

Nếu sau khi thực hiện phép thu gọn theo M cho LĐQH p ta thu được LĐQH q thì ta viết

q = p\M

Thao tác loại bỏ M được thực hiện trên lược đồ p = (U,F) để thu được lược đồ q = (V,G)như sau:

1 Tính V = U\M có độ phức tạp O(n) với n là số lượng thuộc tính trong U

2 Mỗi PTH X↑Y trong F ta tạo ra PTH X\M↑Y\M cho G Thủ tục này ký hiệu là G = F\

M Tính F\M đòi hỏi độ phức tạp O(mn) với m là số lượng PTH trong F

2.2 Thuật toán biến đổi LĐQH [2, 3]

Trang 14

2.3 Định lý cơ bản của phép biến đổi LĐQH [2]

Cho LĐQH a=(U, F) và hai tập con rời nhau X và Y trong U Khi đó (XY)+F= XY+F\X

2.4 Dạng biểu diễn thứ nhất của cơ sở [2, 3, 4]

Nếu dịch chuyển LĐQH p = (U,F) theo tập X⊂U để nhận được LĐQH

q = p\X thì:

1 Base (p) = Base (q) khi và chỉ khi X⊂Uo

2 Base (p) = X⊗Base (q) khi và chỉ khi X⊂UI

2.5 Dạng biểu diễn thứ hai của cơ sở [2, 3, 4]

Cho LĐQH p = (U,F) Khi đó mọi cơ sở B của p đều biểu diễn được dưới dạng K = LMtrong đó L là vế trái cực tiểu, không chứa tập con khác rỗng (vô sinh) của F và M là cơ

sở của LĐQH p\L+

Trang 15

cơ sở theo tiếp cận giản lược.

3.2 Các chức năng chính của chương trình:

" Tên chương trình "Thu gọn lược đồ quan hệ" có các chức năng chính sau:

1 Tính bao đóng

2 Tìm cơ sở 2

3 Thu gọn lược đồ

0 Thoát khỏi chương trình

" Chương trình áp dụng một số thuật toán sau:

- Thuật toán tính bao đóng

Trang 16

- Thuật toán tìm cơ sở theo tiếp cận giản lược.

Tư tưởng: Xuất phát từ một siêu cơ sở B tuỳ ý của LĐQH, duyệt lần lượt các thuộc tính

A của B, nếu bất biến (B\{A})+= U được bảo toàn thì A loại khỏi B Có thể thay kiểmtra (B\{A})+= U bằng kiểm tra A ⊆ (B\{A})+

Trang 17

3.3 Giao diện chương trình.

Trang 18

Chương trình cài đặt mô phỏng các ví dụ giản lược lược đồ quan hệ, tìm bao đóng theotiếp cận giản lược, tìm cơ sở theo tiếp cận giản lược trên nền ngôn ngữ lập trình DEV -C++.

Hình 3.1 Giao diện chính của chương trình

Đây là giao diện của chương trình gồm các thành phần chính sau:

- Tên chương trình " THU GON LUOC ĐO QUAN HE"

- Tên tác giả chương trình

- Go: Người dùng nhập tên file và Enter

Test tệp luocdo1:Cho LĐQH p = (U,F) trong đó: U = ABCDE

Trang 19

d p có còn cơ sở nào khác ngoài cơ sở 1 không ? Vì sao ?

Giải

a Thu gọn p để được q=(V,G) theo thuộc tính X=BD

V = U\X = ABCDE\BD = ACE

G = F\X = {C → size 12{ rightarrow } {}⊕ (loại), C → size 12{ rightarrow } {} A, ⊕

→ size 12{ rightarrow } {} E, A → size 12{ rightarrow } {} ⊕ (loại)}

X1= ACB (vì A → size 12{ rightarrow } {} B)

X2= ACBD (vì CB → size 12{ rightarrow } {} D)

X3= ACBDE (vì D → size 12{ rightarrow } {} E)

Vậy (AC)+= ABCDE

Trang 20

Vậy cơ sở 1 của p là: CD

d P còn cơ sở khác ngoài cơ sở 1?

UI= U\vế phải của F = ABCDE – ABDE = C

M+= C+= C size 12{ <> } {} U nên lược đồ có hơn một cơ sở

Vậy ngoài cơ sở B1, lược đồ còn có cơ sở B2= BC vì thoả 2 điều kiện sau:

(i) B+= (BC)+= ABCDE = U

(ii) BC tối tiểu ( theo nghĩa (B \ {BC})+size 12{ <> } {} U )

ζ Dữ liệu đưa vào chương trình được mã hóa như sau:

Trang 21

- In ra số thuộc tính của file, gồm 5 thuộc tính

- In ra mã số (1 5) tương ứng với các thuộc tính

- In ra số phụ thuộc hàm, gồm 5 phụ thuộc hàm và mã (F1 F5) phụ thuộc hàm tươngứng

- Tìm được cơ sở thứ nhất của lược đồ quan hệ là CD

Hình 3.2 In số thuộc tính, phụ thuộc hàm trong tệp ld1 và tìm cơ sở 1

Trang 22

Sau đó ấn phím bất kì chương trình trở về menu chính

ζ Chức năng của các mục trong menu

- Chọn 1 Tính bao đóng

Hình 3.3 Tính bao đóng của mã số 1 3 (A, C)

Chọn 1 tính bao đóng chương trình yêu cầu người sử dụng nhập vào để tính

Ví dụ ta nhập mã số 1 3 (A C) như hình 3.3 chương trình cho kết quả là:

Trang 23

Hình 3.4 Tìm cơ sở 2

- Chọn 3 Thu gọn lược đồ

Chương trình yêu cầu người sử dụng nhập vào mã số các thuộc tính thu gọn Ví dụ tanhập vào mã số 2 4 ( B D) như hình 3.5 Chương trình in ra kết quả:

+ Số thuộc tính 3 (1 3 5 tương đương A C E)

+ Số phụ thuộc hàm 2 {C↑A, ⊕↑E}

+ Tìm được cơ sở 1 là C

Trang 24

Hình 3.5 Thu gon lược đồ

- Chọn 0 Thoát khỏi chương trình

Hình 3.6 Thoát khỏi chương trình

Test tệp luocdo2:Cho LĐQH p = (U,F)

Trang 25

Lược đồ quan hệ q = (V,G) trong đó:

Vậy cơ sở 1 của p là AE

d p có còn cơ sở nào khác ngoài cơ sở 1 không ? Vì sao ?

UI= U\vế phải của F = ABCDEH –BCDEH = A

A+= ADH size 12{ <> } {} U nên lược đồ có hơn một cơ sở

Trang 26

Vậy ngoài cơ sở 1, lược đồ còn có cơ sở 2 là ABC vì thoả 2 điều kiện sau:

(i) B+= (ABC)+= ABCDE = U

(ii) BC tối tiểu ( theo nghĩa (B \ {BC})+size 12{ <> } {} U )

ζ Dữ liệu được mã hóa khi nạp vào chương trình như sau:

Sau khi nhập file luocdo2 ấn Enter chương trình đưa ra kết quả như hình 3.7 gồm:

- Số thuộc tính của LĐQH là 6 và mã số tương ứng với các thuộc tính

- Số phụ thuộc hàm là 4 và mã số tương ứng với các PTH

Trang 27

- Tìm được cơ sở 1 là AE

Hình 3.7 In số thuộc tính, phụ thuộc hàm trong tệp luocdo2 và tìm cơ sở 1

- Chọn 1 tính bao đóng: chương trình yêu cầu người sử dụng nhập mã số các thuộc tính

để tính Ví dụ nhập 3 5 (C E) chương trình đưa ra kết quả như hình 3.8

Hình 3.8 Tính bao đóng mã số thuộc tính 3 và 5

- Chọn 2 tìm cơ sở 2 chương trình tìm trên LĐQH p đưa ra kết quả như hình 3.9

Trang 28

Hình 3.9 Tìm cơ sở 2

Hình 3.10 Thu gọn lược đồ với mã số thuộc tính 1 4 6 (ADH)

Chọn 3 thu gọn lược đồ, chương trình yêu cầu nhập mã số thuộc tính để thu gọn Ví dụ:nhập 1 4 6 (A D H) chương trình đưa ra kết quả như hình 3.10

V = BCE

G = {BC Γ E, E Γ BC}

Trang 29

Tìm được cơ sở của lược đồ thu gọn là E.

KẾT LUẬN VÀ ĐỀ NGHỊ

1 Kết luận

Những nội dung chính đã được giải quyết trong luận văn:

- Lý thuyết:

+ Trình bày tổng quát hóa về lý thuyết cơ sở dữ liệu

+ Tìm hiểu và trình bày các định nghĩa cơ sở; các tính chất

+ Thuật toán thu gọn lược đồ quan hệ

+ Thuật toán tìm cơ sở

+ Thuật toán tính bao đóng

Trang 31

Chương trình Thư viện Học liệu Mở Việt Nam

Chương trình Thư viện Học liệu Mở Việt Nam (Vietnam Open Educational Resources– VOER) được hỗ trợ bởi Quỹ Việt Nam Mục tiêu của chương trình là xây dựng khoTài nguyên giáo dục Mở miễn phí của người Việt và cho người Việt, có nội dung phongphú Các nội dung đểu tuân thủ Giấy phép Creative Commons Attribution (CC-by) 4.0

do đó các nội dung đều có thể được sử dụng, tái sử dụng và truy nhập miễn phí trướchết trong trong môi trường giảng dạy, học tập và nghiên cứu sau đó cho toàn xã hội

Với sự hỗ trợ của Quỹ Việt Nam, Thư viện Học liệu Mở Việt Nam (VOER) đã trở thànhmột cổng thông tin chính cho các sinh viên và giảng viên trong và ngoài Việt Nam Mỗingày có hàng chục nghìn lượt truy cập VOER (www.voer.edu.vn) để nghiên cứu, họctập và tải tài liệu giảng dạy về Với hàng chục nghìn module kiến thức từ hàng nghìntác giả khác nhau đóng góp, Thư Viện Học liệu Mở Việt Nam là một kho tàng tài liệukhổng lồ, nội dung phong phú phục vụ cho tất cả các nhu cầu học tập, nghiên cứu củađộc giả

Nguồn tài liệu mở phong phú có trên VOER có được là do sự chia sẻ tự nguyện của cáctác giả trong và ngoài nước Quá trình chia sẻ tài liệu trên VOER trở lên dễ dàng nhưđếm 1, 2, 3 nhờ vào sức mạnh của nền tảng Hanoi Spring

Hanoi Spring là một nền tảng công nghệ tiên tiến được thiết kế cho phép công chúng dễdàng chia sẻ tài liệu giảng dạy, học tập cũng như chủ động phát triển chương trình giảngdạy dựa trên khái niệm về học liệu mở (OCW) và tài nguyên giáo dục mở (OER) Kháiniệm chia sẻ tri thức có tính cách mạng đã được khởi xướng và phát triển tiên phongbởi Đại học MIT và Đại học Rice Hoa Kỳ trong vòng một thập kỷ qua Kể từ đó, phongtrào Tài nguyên Giáo dục Mở đã phát triển nhanh chóng, được UNESCO hỗ trợ và đượcchấp nhận như một chương trình chính thức ở nhiều nước trên thế giới

Ngày đăng: 27/11/2014, 14:57

HÌNH ẢNH LIÊN QUAN

Hình 3.2 In số thuộc tính, phụ thuộc hàm trong tệp ld1 và tìm cơ sở 1 - CÁC THUẬT TOÁN BIẾN ĐỔI LƯỢC ĐỒ QUAN HỆ VÀ ỨNG DỤNG
Hình 3.2 In số thuộc tính, phụ thuộc hàm trong tệp ld1 và tìm cơ sở 1 (Trang 21)

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