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

Phụ thuộc logic trong cơ sở dữ liệu (2)

63 236 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 63
Dung lượng 2,29 MB

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

Nội dung

IU Tập các công thức suy dẫn trên tập biến ULU Tập các CTB xây dựng trên tập các biến U PU Tập toàn bộ các công thức dương trên U PTBDTQ Phụ thuộc Boole dương tổng quát RU Quan hệ R với

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM

-NGÔ VIỆT TRƯỜNG

PHỤ THUỘC LOGIC TRONG CƠ SỞ DỮ LIỆU

LUẬN VĂN THẠC SĨ

Chuyên ngành: CÔNG NGHỆ THÔNG TIN

Mã số ngành: 60480201

TP HỒ CHÍ MINH, THÁNG 9 NĂM 2014

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM

-NGÔ VIỆT TRƯỜNG

PHỤ THUỘC LOGIC TRONG CƠ SỞ DỮ LIỆU

Trang 3

TP HỒ CHÍ MINH, THÁNG 9 NĂM 2014

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kếtquả 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

Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này

đã được cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồngốc

Học viên thực hiện Luận văn

(Ký và ghi rõ họ tên)

NGÔ VIỆT TRƯỜNG

Trang 4

LỜI CẢM ƠN

Trong suốt quá trình học tập và hoàn thành luận văn này, tôi đã nhận được sư hướng dẫn, giúp đỡ quý báu của quý thầy cô, gia đình, bạn bè và đồng nghiệp Với lòng kính trọng và biết ơn sâu sắc tôi xin được bày tỏ lời cảm ơn chân thành tới:

Thầy hướng dẫn Phó giáo sư - Tiến sĩ Khoa học Nguyễn Xuân Huy, thầy đã

truyền đạt những kiến thức rất bổ ích cho tôi trong quá trình học tập và hướng dẫn hết sức tận tình trong quá trình hoàn thành luận văn này.

Khoa Công Nghệ Thông Tin, Phòng quản lý khoa học - Đào tạo sau đại học trường Đại Học Công Nghệ Thành Phố Hồ Chí Minh đã tạo mọi điều kiện thuận lợi giúp đỡ tôi trong quá trình học tập và hoàn thành luận văn này.

Toàn thể quý thầy cô đã nhiệt tình giảng dạy và truyền đạt những kiến thức bổ ích cho tôi trong suốt khóa học vừa qua.

Cuối cùng xin cảm ơn đến tất cả những người thân trong gia đình, bạn bè và đồng nghiệp đã giúp đỡ tôi trong suối quá trình học tập và thưc hiện luận văn này.

NGÔ VIỆT TRƯỜNG

Trang 5

MỤC LỤC

Danh mục các kí hiệu, các từ viết tắt

Danh mục các hình minh họa

Mở đầu 1

Chương 1 Tổng quan về lý thuyết cơ sở dữ liệu quan hệ 6

1.1 Một số khái niệm 6

1.2 Phụ thuộc hàm 8

1.2.1 Khái niệm phụ thuộc hàm 8

1.2.2 Hệ tiên đề Armstrong 10

1.2.3 Một số tính chất của phụ thuộc hàm 10

1.2.4 Định lý tương đương 11

1.3 Lược đồ quan hệ 12

1.4 Kết chương 12

Chương 2 Một số khái niệm cơ sở trong phụ thuộc Boole dương 13

2.1 Các công thức Boole 13

2.2 Phụ thuộc Boole dương 16

2.2.1 Công thức Boole dương 16

2.2.2 Bảng chân lý của quan hệ 17

2.2.3 Phụ thuộc Boole dương 17

2.2.4 Một số tính chất của phụ thuộc Boole dương 18

2.2.5 Định lý tương đương 20

2.3 Bài toán suy dẫn cho lớp PTBD 21

2.4 Biểu diễn PTBD dưới dạng hội suy dẫn 24

2.4.1 Công thức suy dẫn 24

Trang 6

2.4.2 Bài toán biểu diễn PTBD dưới dạng hội suy dẫn 25

2.4.3 Tập TR của PTBD 30

2.4.4 Xây dựng tập PTBD từ quan hệ R cho trước 32

2.5 Kết chương 34

Chương 3 Ứng dụng lớp phụ thuộc Boole dương giải một số lớp bài toán 35

3.1 Bài toán thành viên 35

3.2 Bài toán bao đóng 38

3.3 Chuẩn hóa dạng chuẩn hội (CNF) 40

3.4 Phương pháp chứng minh công thức suy dẫn bằng phép hợp giải 40

3.5 Phương pháp chứng minh một công thức là hằng đúng 41

3.6 Một số thí dụ minh họa 42

3.7 Môi trường xây dựng chương trình 44

3.7.1 Phần cài đặt chương trình 44

3.7.2 Dữ liệu áp dụng cho chương trình 44

3.8 Cách thực hiện chương trình 45

3.9 Kết quả đạt được 52

3.10 Kết chương 52

Kết luận và kiến nghị hướng phát triển 53

Phụ lục Tài liệu tham khảo 54

Trang 7

I(U) Tập các công thức suy dẫn trên tập biến U

L(U) Tập các CTB xây dựng trên tập các biến U

P(U) Tập toàn bộ các công thức dương trên U

PTBDTQ Phụ thuộc Boole dương tổng quát

R(U) Quan hệ R với tập thuộc tính U

REL(U) Tập toàn thể các quan hệ trên tập thuộc tính U

REL_p(U) Tập toàn thể các quan hệ có không quá p bộ trên tập thuộc tính

U, p ≥ 1 SAT(F) Tập toàn thể các quan hệ trên U thỏa tập ràng buộc F

SAT_p(F) Tập toàn thể các quan hệ có không quá p bộ trên U thỏa tập

ràng buộc F, p ≥ 1 SubSet(U) Tập các tập con của U

2 suy dẫn theo quan hệ có không quá 2 bộ

Trang 8

DANH MỤC CÁC HÌNH MINH HOẠ

Hình 1.1 Tập thuộc tính quan hệ R 16

Hình 2.1 Bảng chân lý Tf,Tg 21

Hình 2.2 Bảng trị Vf,Vg 21

Hình 2.3 Bảng chân lý TG,Th 23

Hình 2.4 Quan hệ R(A,B,C) 23

Hình 2.5 Bảng chân lý TR 23

Hình 3.1 Các kí hiệu phép toán 41

Hình 3.2 Gọi thủ tục go1 52

Hình 3.3 Gọi thủ tục go2 52

Hình 3.4 Gọi thủ tục go3 53

Hình 3.5 Gọi thủ tục go 53

Hình 3.6 Gọi tiếp thủ tục go 54

Hình 3.7 Gọi tiếp thủ tục go 54

Hình 3.8 Gọi tiếp thủ tục go 55

Hình 3.9 Gọi tiếp thủ tục go 55

Hình 3.10 Tính trị a + b 55

Hình 3.11 Tính trị a & b 56

Hình 3.12 Tính trị a => b 56

Hình 3.13 Tính trị a ^ b 57

Hình 3.14 Tính trị a <=> b 57

Trang 9

M Ở Đ Ầ U

Cơ sở dữ liệu là hạt nhân không thể thiếu trong các hệ thống, trong đó có các

hệ thống máy tính và truyền thông Cùng với sự phát triển không ngừng củaInternet, việc trao đổi thông tin và truyền dữ liệu trên mạng là một nhu cầu tất yếuđặt ra Với khối lượng thông tin lớn được trao đổi, dữ liệu lưu trữ phân tán, các yêucầu truy xuất có thể xảy ra ở nhiều nơi, việc đảm bảo tính nhất quán, tránh dư thừa

dữ liệu, dị thường khi thêm, xóa bộ cũng như các bài toán liên quan đến tổ chức, xử

lý, nén dữ liệu,… luôn là vấn đề được quan tâm

Để lưu trữ, quản lý và khai thác dữ liệu ta có thể dùng nhiều mô hình tổ chức

dữ liệu khác nhau từ những mô hình truyền thống như mô hình mạng, mô hình phâncấp, mô hình quan hệ đến các mô hình hiện đại, được dùng nhiều hiện nay như môhình cơ sở dữ liệu phân tán, mô hình cơ sở dữ liệu hướng đối tượng … Trong các

mô hình dữ liệu, việc nghiên cứu lý thuyết và ứng dụng của các ràng buộc dữ liệuhay còn gọi là các phụ thuộc dữ liệu là một yêu cầu cấp thiết đặt ra Phụ thuộc dữliệu đầu tiên được Codd [13] tác giả của mô hình dữ liệu quan hệ đặt nền móng từnhững năm 70 với khái niệm phụ thuộc hàm Tiếp sau đó R Fagin và Zaniolo đãđưa ra phụ thuộc đa trị vào năm 1976 Cùng với sự phát triển của lớp phụ thuộchàm, một số phụ thuộc dữ liệu bậc cao cũng như hệ tiên đề cho lớp các phụ thuộc -tức là đặt nền móng cơ sở lý thuyết về phụ thuộc dữ liệu, cũng được giới thiệu sau

đó như phụ thuộc đối ngẫu, phụ thuộc mạnh, phụ thuộc yếu do J Demetrovics và

Gy Gyepesy đề xuất năm 1981, phụ thuộc Boole dương do Berman đề xuất năm

1985, 1987, phụ thuộc Boole dương tổng quát được Nguyễn Xuân Huy, Lê ThịThanh [6] phát triển năm 1992, …

Gần đây, trên cơ sở lớp phụ thuộc hàm là phụ thuộc dữ liệu truyền thống cómột số công trình nghiên cứu của nhiều nhóm về các phụ thuộc dữ liệu mở rộng chonhiều các loại dữ liệu khác nhau Với dữ liệu xác định, năm 2004, Ilya và các đồngnghiệp đã nghiên cứu phụ thuộc hàm nhẹ (Soft Functional Dependencies – Soft FD)

là phụ thuộc hàm mà giá trị của X xác định giá trị của Y với độ không chắc chắn

Trang 10

nhất định hay phụ thuộc hàm có điều kiện (Conditional functional dependencies CFDs) được Bohannon [8] cùng các đồng nghiệp đề xuất năm 2007 để làm sạch dữliệu Với dữ liệu mờ, phụ thuộc hàm đối sánh (Matching dependencies - MDs), phụthuộc hàm độ đo (Metric Functional Dependencies - MFD) đã lần lượt được Fannghiên cứu, đề xuất năm 2008, 2009 Hay phụ thuộc tuần tự (Sequentialdependencies - SD ) được Golab và đồng nghiệp đưa ra để khái quát dữ liệu theothứ tự và biểu diễn mối quan hệ giữa các thuộc tính có thứ tự Gần đây, đầu năm

-2011 nhóm nghiên cứu Song S và Chen L [12] đã đề xuất phụ thuộc sai khác(Differential Dependencies - DDs) để giải quyết một số vấn đề như đảm bảo tínhtoàn vẹn, tối ưu truy vấn tốt hơn so với phụ thuộc hàm

Lớp các PTH và hầu hết các phụ thuộc bậc cao phát triển sau đó như phụthuộc đối ngẫu, phụ thuộc mạnh, phụ thuộc yếu, phụ thuộc hàm nhẹ, phụ thuộc hàm

có điều kiện … đều dựa trên quan hệ đẳng thức khi so sánh các trị của các thuộctính xuất hiện trong các bộ Trong thực tế, ngoài so sánh theo đẳng thức còn tồn tạinhững loại hình so sánh khác Ta xét một số thí dụ sau:

1 Trong CSDL quản lý giao dịch thẻ tín dụng, số thẻ giao dịch sẽ xác định vịtrí giao dịch Để xác định một giao dịch có gian lận hay không ta có thể kết hợp cácđiều kiện giữa số thẻ với vị trí để xác định thời gian giao dịch, thí dụ nếu cùng mộtthẻ tín dụng giao dịch ở hai vị trí cách nhau hơn 40km (ở hai thành phố khác nhau),thì thời gian truyền sai lệch phải lớn hơn 20 phút Nếu hai giao dịch không thỏađiều kiện trên thì một trong hai phiên giao dịch đó là gian lận Như vậy, ta thấy phụthuộc [sothe (=0) ∧ vitri (≥40)] → [thoigian(≥20)] có ngữ nghĩa rộng hơn PTHsothe → vitri

2 Trong số luận, độ cao của một số tự nhiên n, H(n) là tổng các chữ số của

số đó, thí dụ, H(2006) = H(125) = 8 Nếu ta phân loại các số theo độ cao thì hai số khác nhau có thể thuộc cùng một lớp Như vậy phụ thuộc H(N)→CLASS có ngữ nghĩa rộng hơn PTH N → CLASS

Trang 11

Trong thực tế với một số cơ sở dữ liệu lớn, biến động, phân tán ở nhiều nơi,trên địa bàn rộng, phục vụ nhiều người dùng với nhiều ứng dụng khác nhau thì cácyêu cầu như đồng nhất dữ liệu (theo khóa và theo trọng số thông tin ), xử lý các yêucầu tra cứu thông tin với các điều kiện khác nhau một cách nhanh chóng, đảm bảo

dữ liệu không bị mất mát trên đường truyền, tổ chức, thiết kế, quản lý dữ liệu saocho việc lưu trữ tốn ít bộ nhớ nhất, khai thác hiệu quả và thời gian truyền dữ liệu đượcgiảm tối đa… cũng luôn là yêu cầu cần thiết đặt ra Một trong các giải pháp để thựchiện việc này là mở rộng khái niệm đối sánh các trị của các thuộc tính xuất hiệntrong các bộ, tìm tập các phụ thuộc dữ liệu thu gọn tương đương với tập phụ thuộc

dữ liệu ban đầu

Đây cũng chính là mục đích và ý nghĩa của việc mở rộng khái niệm so sánhtrong lớp các phụ thuộc dữ liệu như phụ thuộc Boole dương tổng quát hay các phụthuộc có bản chất là phụ thuộc Boole dương như phụ thuộc sai khác, phụ thuộc đốisánh được nghiên cứu sau này

Mục tiêu của luận văn là tìm hiểu về lý thuyết phụ thuộc dữ liệu và ứng dụng

lý thuyết này trong một số ứng dụng Đây là vấn đề nghiên cứu đã và đang đượcnhiều nhà khoa học quan tâm

Trang 12

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

- Nghiên cứu và tìm hiểu các lớp phụ thuộc Boole dương trong đó tậptrung chủ yếu việc vào tìm hiểu một số khái niệm, tính chất của lớp phụthuộc Boole dương và một số khía cạnh ứng dụng của lớp phụ thuộc này

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

- Tìm hiểu các tài liệu và kết quả nghiên cứu có liên quan đến đề tài Vậndụng chủ yếu các phương pháp và cấu trúc của toán học rời rạc kết hợpvới việc phát triển lớp các phụ thuộc logic nhằm đảm bảo ngữ nghĩa của

dữ liệu trong cơ sở dữ liệu

Bố cục của luận văn

Về cấu trúc, luận văn được trình bày trong 3 chương, phần mở đầu, phần kếtluận, phần mục lục, tài liệu tham khảo Các nội dung của luận văn trình bày theocấu trúc như sau:

Chương 1 Tổng quan về lý thuyết cơ sở dữ liệu quan hệ

Trình bày một số khái niệm chung về mô hình quan hệ và lớp phụ thuộc đầutiên của phụ thuộc logic là phụ thuộc hàm

Chương 2 Một số khái niệm cơ sở trong phụ thuộc Bool dương

Trình bày một số khái niệm về phụ thuộc Bool dương và các vấn đề liênquan đến việc tìm bao đóng, bài toán thành viên của lớp phụ thuộc Boole dương.Biểu diễn phụ thuộc Boole dương dưới dạng hội các công thức suy dẫn và thuậttoán xây dựng xây dựng tập PTBD thỏa mãn quan hệ R cho trước cũng được trìnhbày trong chương này

Chương 3 Ứng dụng phụ thuộc Bool dương giải một số lớp bài toán

Trong chương trình bày quy trình chuẩn hóa một công thức về dạng chuẩnhội (CNF), phương pháp chứng minh một công thức bằng phép hợp giải, phươngpháp chứng minh một công thức là hằng đúng cũng như thuật toán tìm phủ không

Trang 13

về thời gian và trình độ còn hạn chế, những vấn đề trình bày trong luận văn khôngtránh khỏi những thiếu sót Tác giả rất mong được sự thông cảm và góp ý của cácnhà khoa học, đồng nghiệp và bạn bè để luận văn được hoàn thiện tốt hơn.

Trang 14

Chương 1

TỔNG QUAN VỀ LÝ THUYẾT

CƠ SỞ DỮ LIỆU QUAN HỆ

Lý thuyết về các phụ thuộc dữ liệu đóng vai trò quan trọng trong việc mô tảthế giới thực, phản ánh ngữ nghĩa dữ liệu của cơ sở dữ liệu Trong quản lý các cơ sở

dữ liệu (CSDL), phụ thuộc dữ liệu được hiểu là những mệnh đề mô tả các ràng buộc

mà dữ liệu phải đáp ứng trong thực tế Nhờ có những mô tả phụ thuộc này mà hệquản trị cơ sở dữ liệu có thể quản lý tốt được chất lượng dữ liệu Phụ thuộc dữ liệuđược Codd, tác giả của mô hình dữ liệu quan hệ đặt nền móng từ những năm 70 vớikhái niệm phụ thuộc hàm Sau đó một loạt tác giả khác tiếp tục phát triển các dạngphụ thuộc bậc cao, phụ thuộc mờ cũng như xây dựng các hệ tiên đề cho các lớp phụthuộc - tức là đặt cơ sở lý thuyết về phụ thuộc dữ liệu Một điều khá tự nhiên làngay từ những ngày đầu phát triển lý thuyết thiết kế cơ sở dữ liệu, logic đã đượcchọn như một ngôn ngữ hữu hiệu để đặc tả phụ thuộc dữ liệu, do đó, trong số cácloại hình phụ thuộc dữ liệu rất đa dạng được đề xuất và phát triển sau này, các phụthuộc logic luôn luôn là trọng tâm chú ý của các nhóm nghiên cứu

Chương này sẽ trình bày một cách tổng quan quá trình phát triển của lớp phụthuộc logic đầu tiên là phụ thuộc hàm Phần đầu tiên của chương trình bày một sốkhái niệm cơ bản của lý thuyết cơ sở dữ liệu quan hệ, khái niệm về phụ thuộc hàm

và lược đồ quan hệ

1 1 M ộ t s ố k há i n i ệm

Các khái niệm cơ bản về cơ sở dữ liệu quan hệ được trình bày lần đầu tiên

trong công trình của Codd [13] Các khái niệm liên quan đến các cơ sở dữ liệu và trithức đã được trình bày đầy đủ trong [6]

Các khái niệm về quan hệ, thuộc tính, bộ được định nghĩa như sau:

Định nghĩa 1.1

Trang 15

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(U) là một bộ trên tập thuộc tính U

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

Vì 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.

Theo truyền thống của lý thuyết cơ sở dữ liệu chúng ta chấp nhận các quy địnhsau đây:

Các thuộc tính được ký hiệu bằng các chữ LATIN HOA đầu bảng chữ A, B,

C,

Tập thuộc tính được ký hiệu bằng các chữ LATIN HOA cuối bảng chữ X, Y,

Z,

Các phần tử trong một tập thuộc tính thường được liệt kê như một xâu ký tự,

chẳng hạn ta viết X = ABC thay vì viết X = {A, B, C} XY biểu diễn hợp của hai tập

X và Y, X Y Phép trừ hai tập X và Y được ký hiệu là X\Y, hoặc X-Y.

Một phân hoạch của tập M thành các tập con rời nhau X1, X 2 , ,X m được kýhiệu là:

Trang 16

Qui ước:

Mọi cặp bộ t và v trong mọi quan hệ giống nhau trên miền rỗng các thuộc tính,

t. = v.

Hàm Attr(R) cho tập thuộc tính của quan hệ R.

Hàm Card(R) cho lực lượng (số bộ) của quan hệ R.

Trong trường hợp tập thuộc tính U đã cho trước ta có thể viết đơn giản R thay cho

R(U).

Ký hiệu REL(U) là tập toàn thể các quan hệ trên tập thuộc tính U, REL_p(U)

là tập toàn thể các quan hệ có không qúa p bộ trên tập thuộc tính U, p ≥ 1

Hai quan hệ R và S được gọi là tương thích nếu chúng có cùng một tập thuộc tính, tức là nếu Attr(R) = Attr(S).

1.2 Phụ thuộc hà m

Phụ thuộc hàm là lớp phụ thuộc đầu tiên của phụ thuộc logic, đây cũng là lớpphụ thuộc kinh điển được Codd [13] đề xuất sớm nhất và đóng vai trò quan trọngtrong việc thiết kế CSDL Phần này sẽ trình bày khái niệm về phụ thuộc hàm, một

số tính chất của phụ thuộc hàm, các loại suy dẫn, suy dẫn theo tiên đề, suy dẫn theoquan hệ, suy dẫn theo quan hệ có không quá p bộ và phát biểu định lý tương đươnggiữa các loại suy dẫn này Khái niệm về lược đồ quan hệ cũng được đề cập ở đây

1.2.1 Khái niệm phụ thuộc hàm

Định nghĩa 1.2

Cho tập thuộc tính U Một phụ thuộc hàm (PTH) trên U là biểu thức dạng

f: XY ; X,Y U Nếu f: XY là một phụ thuộc hàm trên U thì ta nói tập thuộc tính Y phụ thuộc

vào tập thuộc tính X, hoặc tập thuộc tính X xác định hàm tập thuộc tính Y X là vế

trái và Y là vế phải của PTH f Ta cũng dùng hai toán tử LS(f) và RS(f) để lấy vế trái

và vế phải của PTF f, cụ thể là nếu f: X Y thì LS(f) = X, RS(f) = Y

Trang 17

Cho quan hệ R(U) và một PTH f: XY trên U Ta nói quan hệ R thoả PTH f

và viết R(f), nếu hai bộ tuỳ ý trong R giống nhau trên X thì chúng cũng giống nhau trên Y.

R(XY) ⇔ (∀u,v R): (u.X = v.X) (u.Y = v.Y)

Ta dùng ký hiệu X ↛ Y với ý nghĩa tập thuộc tính Y không phụ thuộc hàm vào tập thuộc tính X.

Cho tập PTH F trên tập thuộc tính U Ta nói quan hệ R(U) thoả tập PTH F, và viết R(F), nếu R thoả mọi PTH trong F,

R(F) ⇔ (∀ f F): R(f) Nếu quan hệ R thỏa PTH f ta cũng nói PTH f đúng trong quan hệ R

Trang 18

Định nghĩa 1.4

Cho tập ℜ các quan hệ trên U, ký hiệu FD() là tập các PTH trên U đúng

trong mọi quan hệ của ℜ

1 2 2 H ệ t i ên đ ề A rm s t ro n g

Định nghĩa 1.5

Cho tập PTH F trên tập thuộc tính U Bao đóng của F, ký hiệu F + là tập nhỏ

nhất các PTH trên U chứa F và thoả các tính chất F1-F3 của hệ tiên đề Armstrong

A o sau đây:

X, Y, Z U:

F1 Tính phản xạ: Nếu X Y thì XY F +

F2 Tính gia tăng: Nếu XY F + thì XZYZ F +

F3 Tính bắc cầu: Nếu XY F + và YZ F + thì XZ F +

Nhận xét:

Các PTH có vế trái chứa vế phải như mô tả trong F1 được gọi là tầm thường.

Các PTH tầm thường đúng trong mọi quan hệ Ngoài ra, các quan hệ trên tập thuộc

tính U có không quá một bộ thỏa mọi PTH trên U.

1.2.3 Một số tính chất của phụ thuộc hàm

Cho tập thuộc tính U và các tập phụ thuộc hàm F, G trên U, tập các quan hệ

trên U, các quan hệ R và S trên U Khi đó:

1 Nếu F G thì SAT(F) SAT(G)

2 SAT(FG) = SAT(F) SAT(G)

Trang 19

Nói cách khác PTH f được suy dẫn theo tiên đề từ tập PTH F nếu xuất phát

từ F, áp dụng các luật F1, F2 và F3 của hệ tiên đề Armstrong A o sau hữu hạn lần ta

sẽ thu được PTH f

Định nghĩa 1.7

Cho tập PTH F trên tập thuộc tính U và f là một PTH trên U Ta nói PTH f

được suy dẫn theo quan hệ từ tập PTH F và viết F├ f, nếu mọi quan hệ R(U) thoả

F thì R cũng thoả f

F├ f SAT(F) SAT(f) Cho tập thuộc tính U và tập PTH F trên U, ta định nghĩa F* là tập các PTH f trên U được suy dẫn theo quan hệ từ tập PTH F

Cho tập PTH F trên tập thuộc tính U và f là một PTH trên U Ta nói PTH f

được suy dẫn theo quan hệ có không quá p bộ từ tập PTH F và viết F ├ p f, nếu mọi quan hệ R trong REL_p(U) thoả F thì R cũng thoả f

F├ p f SAT_p(F) SAT_p(f)

Trang 20

Cho tập thuộc tính U và tập PTH F trên U, ta định nghĩa F' là tập các PTH f trên U được suy dẫn theo quan hệ có không quá hai bộ từ tập PTH F

F' = { f: XY | X,Y U, F├2 f }

Định lý sau phát biểu về sự tương đương giữa các loại suy dẫn theo tiên đề,

suy dẫn theo quan hệ và suy dẫn theo quan hệ có không quá P bộ.

Định lý 1.2

F + = F * = F'

Nói cách khác, đối với phụ thuộc hàm, ba loại suy dẫn sau là tương đương

(i) Suy dẫn logic: F╞ f , (ii) Suy dẫn theo quan hệ: F├ f , và (iii) Suy dẫn theo quan hệ có không quá hai bộ: F├ 2 f.

1 3 Lư ợ c đ ồ q u a n h ệ

Lược đồ quan hệ (LĐQH) là một cặp a = (U, F), trong đó U là tập hữu hạn

các thuộc tính, F là tập các phụ thuộc hàm trên các miền trị (dữ liệu) của các thuộc

Trang 21

Chương 2

MỘT SỐ KHÁI NIỆM CƠ SỞ TRONG

PHỤ THUỘC BOOLE DƯƠNG

Trong chương 1 cũng đã nêu tổng quan về lớp phụ thuộc logic đầu tiên là lớpphụ thuộc hàm, phát biểu định lý tương đương cho lớp phụ thuộc này Trongchương 2 sẽ tiếp tục trình bày một số khái niệm cơ bản về các lớp phụ thuộc logicnhư các lớp phụ thuộc Boole được mở rộng theo trình tự thời gian là phụ thuộcBoole dương

Trong chương này cũng sẽ trình bày một số khái niệm liên quan đến việctìm bao đóng, bài toán thành viên của lớp phụ thuộc Boole dương Biểu diễn phụthuộc Boole dương dưới dạng hội các công thức suy dẫn và thuật toán xây dựng xâydựng tập PTBD thỏa mãn quan hệ R cho trước cũng được trình bày trong chươngnày

2.1 Cá c công thức B oole

Định nghĩa 2.1

Cho U = {x1, ,x n } là tập hữu hạn các biến Boole, B là tập trị Boole,

B = {0,1} Khi đó các công thức Boole (CTB) là các công thức được xây dựng trên

các biến của U, các hằng 0/1 và các phép toán ∨, ∧, ∼ ,→

Ký hiệu L(U) là tập các CTB xây dưng trên tập các biến U.

Định nghĩa 2.2

Mỗi vector các phần tử 0/1, v = (v1, ,v n) trong không gian Bn = B×B× ×B

được gọi là một phép gán trị cho các biến {x1, ,x n } trong U

Khi đó với mỗi CTB fL(U) ta có f(v) = f(v 1 , ,v n ) là trị của công thức f đối với phép gán trị v, và f(v) được tính như sau:

Trang 22

1 Thay toàn bộ xuất hiện của mỗi biến x i trong f bằng trị v i tương ứng,

i=1,2,…,n để thu được một mệnh đề logic b.

2 Trị của f(v) chính là trị của b

Với mỗi tập con X U, ta quy ước viết hội logic (∧) của các biến trong X là dãy ký hiệu của X Như vậy, trong trường hợp không gây ra nhầm lẫn, ký hiệu X

đồng thời biểu diễn cho các đối tượng sau đây:

một tập thuộc tính trong U,

một tập biến logic trong U,

một công thức Boole được lập bởi hội logic các biến trong X

Ngoài ra, nếu X = {B1, ,B m} ⊆ U ta ký hiệu

X = B1∧B2∧ B m và gọi là dạng hội

X = B1∨B2∨ B m và gọi là dạng tuyển

Hai phép gán trị đặc biệt được quan tâm là phép gán trị đơn vị e = (1,1, ,1)

và phép gán trị không z = (0,0, ,0).

Với mỗi tập hữu hạn các CTB, F = {f1, f2, ,f m} trong L(U), F được xem là

một công thức dạng F = f1∧f2∧ ∧f m Khi đó với mỗi phép gán trị v, giá trị chân lý của

công thức F sẽ được tính như sau:

F(v) = f1(v) f2(v) f m(v)

Định nghĩa 2.3

Với mỗi công thức f trên U, bảng trị của f, ký hiệu là V f chứa n+1 cột, trong

đó n cột đầu tiên chứa các trị của các biến trong U, cột cuối cùng, cột thứ n+1, chứa trị của f ứng với mỗi phép gán trị của dòng tương ứng Như vậy bảng trị chứa 2 n

dòng, trong đó n là lực lượng của tập U Bảng chân lý của f, ký hiệu là T f, là tập các

phép gán trị v sao cho f(v) nhận giá trị 1,

T f = {v B n | f(v) =1}

Khi đó bảng chân lý T F của tập hữu hạn các công thức F trên U, chính là giao của các bảng chân lý của mỗi công thức thành viên trong F,

Trang 23

T

F f

Cho CTB F = { f: AB, g: CA} trên U = ABC Ta có bảng trị V f , V g và các

bảng chân lý T f , T g và T F như sau:

Nhận xét

Với mỗi CTB f, bảng trị V f của f chứa trị của mọi phép gán trị cho f, trong khi bảng chân lý T f chỉ là một phần của bảng trị ứng với các giá trị 1 của f.

Định nghĩa 2.4

Cho f và g là hai CTB Ta nói công thức f dẫn ra được công thức g và ký hiệu

f ╞ g, nếu T fT g ; Ta nói f và g là hai công thức tương đương, ký hiệu f g, nếu

T f = T g Với hai tập công thức F, G trong L(U), ta nói F dẫn ra được G, ký hiệu F╞

G, nếu T F T G ; F và G là tương đương, ký hiệu F G, nếu T F = T G

T f

ABC0000010100

11110111

T g ABC101111

T F ABC111

V f , V g ABCfg0001000110010

100111010000101011 101011111

Hình 2.1 Bảng chân lý T f , T g

Hình 2.2 Bảng trị V f , V g

Trang 24

Thí dụ 2.2

Cho hai CTB G và h trên U = ABC,

trong đó G là một hội của các CTB f và g:

G = { f: A C, g: BC} , h: AB C

Ta thấy T G T h nên G ╞ h.

2.2 Phụ thuộc B oole dư ơng

Tiếp theo một số phụ thuộc logic như phụ thuộc hàm, phụ thuộc đối ngẫu,phụ thuộc mạnh, phụ thuộc yếu…đã được đề xuất và nghiên cứu bởi một số tác giả,các nhóm nghiên cứu độc lập với nhau của J Berman và W.J.Blok và Sagiv, Delobel

et al đã mở rộng khái niệm PTH sang phụ thuộc Boole dương Đây là lớp phụthuộc logic bao gồm các ràng buộc dữ liệu được mô tả thông qua các công thứcBoole dương là những công thức nhận giá trị 1 (true) khi tất cả các biến đều có trị 1.Trong mô tả các phụ thuộc hàm và phụ thuộc Boole dương phép sánh trị của thuộctính vẫn là phép sánh đẳng thức (=) Đối với các phụ thuộc Boole dương định lýtương đương vẫn bảo toàn hiệu lực

2.2.1 Công thức Boole dương

Định nghĩa 2.5

Công thức f L(U) được gọi là công thức Boole dương (CTBD) nếu f(e) =1,

trong đó e là phép gán trị đơn vị, e = (1,1, ,1).

Ký hiệu P(U) là tập toàn bộ các công thức dương trên U Theo Post ta có thể

xem P(U) bao gồm các công thức được xây dựng từ các phép toán ∧, ∨, → và hằng

1

T h

ABC0010111011 10111

T G

ABC011111

Hình 2.3 Bảng chân lý T G , T h

Trang 25

Thí dụ 2.3

1 AB, (AB)∨(CB), (AB)∨((CB)B)C1 là các CTBD

2 Các công thức suy dẫn, suy dẫn mạnh, yếu và đối ngẫu đều là các CTBD

3 Công thức A ∧ (¬B) không phải là CTBD, vì khi A = B = 1 ta có 1 ∧ 0 = 0

2.2.2 Bảng chân lý của quan hệ

Với hai bộ u và v tùy ý trong quan hệ R ta định nghĩa α(u,v) là phép gán trị:

α(u,v) = (u.A 1 = v.A 1 , u.A 2 = v.A 2 , , u.A n = v.A n)

Nói cách khác, nếu u = (u 1 , u 2 , u 3 ,… u n ,) và v = (v 1 , v 2 , v 3 ,… v n ) thì ta đặt:

t = α(u,v) = (t 1 ,t 2 , ,t n)

trong đó t i = 1 nếu u i = v i và t i = 0 nếu u i ≠ v i, 1 ≤ i n

Với mỗi quan hệ R REL(U) ta gọi bảng chân lý của quan hệ R là tập :

00

Hình 2.5 Bảng chân lý T R Hình 2.4 Quan hệ R(A,B,C)

Trang 26

Ta nói quan hệ R thỏa tập PTBD F và ký hiệu R(F) nếu T R T F

Cho tập PTBD F và một PTBD f Ta nói F dẫn ra được f theo quan hệ, và ký hiệu F├ f nếu R REL(U): R(F) R(f).

Cho tập PTBD F và một PTBD f Ta nói F dẫn ra được f theo quan hệ có không quá hai bộ, ký hiệu F ├2 f nếu RREL_2(U): R(F) R(f).

2.2.4 Một số tính chất của công thức Boole dương

Trang 27

Mệnh đề 2.3

Mọi tập CTBD đều có thể được chuẩn hóa CNF

Thí dụ 2.6

Cho g = (a+b)(c’+a) là một CTB CNF Hãy đưa g’ về dạng CNF?

Ta có g’ = [(a+b)(c’+a)]’ = (a+b)’ + (c’+a)’ = a’b’ + ca’ = (a’+c)(a’+a’)(b’+c)(b’+a’) = (a’+c)(b’+c)(b’+a’)a’

Quy trình tìm phủ không dư

1 CNF: Chuyển các công thức f trong F sang dạng CNF Nếu f là công thứchằng đúng thì loại

Trang 28

Tìm phủ không dư của F = {a=>b, b=>c, a=>c, ad=>d, a’+b, abd=>d}.

Chuẩn hóa CNF: F = {a’+b, b’+c, a’+c}

Loại ad => d và abd => d vì là các hằng đúng (tautology)

Đưa các phủ định của F về CNF: F* = {ab’, bc’, ac’}

Cho tập PTBD F và một PTBD f Ba mệnh đề sau là tương đương:

(i) F ╞ f (suy dẫn logic)

(ii) F ├ f (suy dẫn theo quan hệ)

(iii) F ├ 2 f (suy dẫn theo quan hệ có không quá 2 bộ)

Đối với PTH ta đã định nghĩa quan hệ R thỏa PTH f: X Y, và ký hiệu là R(f)

nếu:

u,v R: u.X = v.X u.Y = v.Y

Khi coi PTH như là một trường hợp riêng của CTBD ta chấp nhận định nghĩa

quan hệ R thỏa PTH f: X Y nếu T R T f

Định lý 2.1 sau đây xác định tính tương đương của hai định nghĩa trên

Trang 29

2.3 Bài toán suy dẫn cho lớp phụ thuộc Boole dương

Với hầu hết các loại phụ thuộc dữ liệu, bài toán suy dẫn hay còn gọi là bàitoán thành viên đều được đề cập đến với nhiều khía cạnh khác nhau Bài toán thành

viên là bài toán quyết định xem với một tập F hữu hạn các phụ thuộc và f là một phụ thuộc nào đó, hãy cho biết tập F có suy dẫn hay dẫn ra được f theo quan hệ hay

không

Vận dụng bài toán thành viên ta có thể xác định được một tập phụ thuộc dữliệu đã cho có dư thừa không hay có thể kiểm tra xem hai tập phụ thuộc dữ liệu cótương đương với nhau hay không Thuật toán giải quyết bài toán thành viên có ýnghĩa quan trọng trong việc thiết kế cơ sở dữ liệu Nhiều nhà nghiên cứu xem đâynhư là một trong những mục đích cơ bản của việc nghiên cứu các phụ thuộc dữ liệu.Bài toán suy dẫn cho phụ thuộc Boole dương được phát biểu như sau:

Cho LĐQH a = (U ,F ), F là tập các PTBD và một PTBD f Xác định

f F + (hay F╞ f) hay không, trong đó F + là bao đóng của tập PTBD F?

Bao đóng của tập PTBD F được định nghĩa như sau:

Định nghĩa 2.7

Cho tập PTBD F trên U Xét LĐQH a = (U, F) Bao đóng của tập PTBD F, ký hiệu F+ là tập PTBD được suy dẫn từ F, cụ thể là:

Trang 30

F+ = { g P(U) | F ╞ g } = { g P(U) | T F T g }

trong đó P(U) là tập các công thức Boole dương trên U

Trong phần này sẽ đề cập một số cách giải quyết bài toán suy dẫn trong trường

hợp F là tập PTBD và f là một trong các PTBD ứng với các công thức suy dẫn, suy

dẫn mạnh, suy dẫn yếu, suy dẫn đối ngẫu,… Thuật toán giải bài toán suy dẫn trongtrường hợp tổng quát cũng được đề xuất và chứng minh Các kết quả này đã đượctrình bày trong [11], [6]

Trong logic ta đã biết F ╞ (gh) khi và chỉ khi với mọi t T F ta có hoặc là

Trang 31

Định nghĩa 2.8

Cho U = {A1,A2, ,A n} và tập trị logic B = {0,1} Với mỗi phép gán trị vB n ta

ký hiệu Set(v)= {A U | v.A=1} và với mỗi bảng T B n ta ký hiệu

Set(T) = {Set(v) | v T}.

Ngoài ra ta định nghĩa ánh xạ Vec: SubSet(U) B n như sau:

X U: Vec(X) = (v1,v2, ,v n ), v i = 1 nếu A iX và v i = 0 nếu A iX.

Ta cũng phát triển toán tử Vec cho họ các tập con bất kỳ của U, cụ thể là,

P SubSet(U): Vec(P) = {Vec(X) | X P}

Dễ thấy Vec và Set là hai ánh xạ thuận nghịch với nhau

Ngày đăng: 11/09/2017, 20:40

HÌNH ẢNH LIÊN QUAN

Hình 3.1 Các kí hiệu phép toán - Phụ thuộc logic trong cơ sở dữ liệu (2)
Hình 3.1 Các kí hiệu phép toán (Trang 43)
Hình 3.4 Gọi thủ tục go3 - Phụ thuộc logic trong cơ sở dữ liệu (2)
Hình 3.4 Gọi thủ tục go3 (Trang 56)
Hình 3.11 Tính trị a&amp;b - Phụ thuộc logic trong cơ sở dữ liệu (2)
Hình 3.11 Tính trị a&amp;b (Trang 60)
Hình 3.12 Tính trị a=&gt;b - Phụ thuộc logic trong cơ sở dữ liệu (2)
Hình 3.12 Tính trị a=&gt;b (Trang 60)
Hình 3.14 Tính trị a&lt;=&gt;b - Phụ thuộc logic trong cơ sở dữ liệu (2)
Hình 3.14 Tính trị a&lt;=&gt;b (Trang 61)

TỪ KHÓA LIÊN QUAN

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

w