Đăng ký Đăng nhập
Trang chủ Luận án tiến sĩ Phát triển một số phụ thuộc logic trong cơ sở dữ liệu...

Tài liệu Luận án tiến sĩ Phát triển một số phụ thuộc logic trong cơ sở dữ liệu

.DOC
103
96
96

Mô tả:

1 DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT AXĐ Close(U) CSDL CTB CTBD CTSD HSCB HSD I(U) L(U) ML(F) P(U) PTBD PTBDĐT PTBDTQ PTH R(U) REL(U) REL_p(U) Ánh xạ đóng Tập tất cả các ánh xạ đóng trên tập U cho trước Cơ sở dữ liệu Công thức Boole Công thức Boole dương Công thức suy dẫn Hệ sinh cân bằng Hội suy dẫn Tập các công thức suy dẫn trên tập biến U Tập các CTB xây dựng trên tập các biến U Tập các vế trái cực tiểu của F Tập toàn bộ các công thức dương trên U Phụ thuộc Boole dương Phụ thuộc Boole dương đa trị Phụ thuộc Boole dương tổng quát Phụ thuộc hàm Quan hệ R với tập thuộc tính U Tập toàn thể các quan hệ trên tập thuộc tính 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 SubSet(U)   ├ ╞ tập ràng buộc F, p ≥ 1 Tập các tập con của U Khi và chỉ khi suy ra, kéo theo suy dẫn theo quan hệ suy dẫn logic 2 ├2 suy dẫn theo quan hệ có không quá 2 bộ 3 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ủa Internet, 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êu cầ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ân cấ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ệu hay 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 [29] 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. Năm 1979 C. Beeri và J.D. Ullman [54] đề xuất phụ thuộc kết nối. Cùng với sự phát triển của lớp phụ thuộc hà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, Blok [22], [23] và Sagiv, Delobel et al [52] đề 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 [50] phát triển năm 1992, … 4 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 cho nhiều các loại dữ liệu khác nhau. Với dữ liệu xác định, năm 2004, Ilyas [43] và các đồng nghiệ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 nhất định hay phụ thuộc hàm có điều kiện (Conditional functional dependencies - CFDs) được Bohannon [24] 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 Fan [36], [37], Koudas [44] nghiên cứu, đề xuất năm 2008, 2009. Hay phụ thuộc tuần tự (Sequential dependencies - SD ) được Golab [41] và đồng nghiệp đưa ra để khái quát dữ liệu theo thứ 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. [53] đã đề 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ính toà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ộc tí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ại nhữ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ột thẻ tín dụng giao dịch ở hai vị trí cách nhau hơn 40km (ở hai 5 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 PTH sothe → 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. 3. Nhà hóa học Nga Mendelev từ lâu đã chỉ ra và phân loại các nguyên tố hóa học theo số lớp điện tử cũng như số điện tử tự do trong cấu tạo nguyên tử của chúng. Hai nguyên tố có thể khác nhau nhưng nếu chúng có cùng số lớp điện tử hoặc/và cùng số điện tử tự do thì chúng sẽ có cung một số tính chất nào đó và do đó thuộc cùng một nhóm hay chu kỳ. Ví dụ: trong nhóm các kim loại kiềm IA (gồm 6 nguyên tố hóa học Li, Na, K, Rb, Cs, Fr) đều có tính khử mạnh, chỉ số oxi hóa +1, các cặp oxi hóa – khử M +/M đều có điện cực chuẩn có giá trị rất âm, và chung một số tính chất như tác dụng được với axít, phi kim, nước… 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ác yê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êu cầ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 sao cho 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 được giảm tối đa… cũng luôn là yêu cầu cần thiết đặt ra. Xét ví dụ về hệ thống thông tin quản lý xuất nhập cảnh. Hệ thống này bao gồm nhiều phân hệ như : hệ thống cấp phát hộ chiếu, thị thực cho 6 người Việt Nam xuất nhập cảnh, hệ thống cấp phát thị thực cho người nước ngoài và Việt Kiều nhập xuất cảnh, kiểm soát xuất nhập cảnh tại các cửa khẩu quốc tế, quản lý tạm trú, tạm vắng tại địa phương. Đây là hệ thống thông tin lớn: danh sách về người xin xuất nhập cảnh hàng năm lên đến hàng chục triệu người, luôn biến động và luân chuyển từ Trung tâm trung ương tới các trạm kiểm soát xuất nhập cảnh cửa khẩu, tới các cơ quan đại diện ngoại giao Việt Nam ở nước ngoài và ngược lại. Hệ thống cũng giải quyết nhiều tác nghiệp như duyệt nhân sự, kiểm soát xuất nhập cảnh, quản lý tạm trú đi lại, theo dõi tiến trình xuất nhập cảnh, xin xuất nhập cảnh... Để quản lý, lưu trữ và trao đổi dữ liệu giữa các phân hệ được tốt cần đưa tập các ràng buộc dữ liệu ban đầu về dạng thu gọn, đơn giản hơn, đồng thời tổ chức, thiết kế cơ sở dữ liệu sao cho giảm tải được dữ liệu lưu trữ, tra cứu với nhiều điều kiện tìm kiếm…. Một trong các giải pháp để thực hiệ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ện trong 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ánh trong 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 đối sánh… được nghiên cứu sau này. Với mong muốn phát triển, mở rộng lý thuyết về phụ thuộc dữ liệu và một số ứng dụng. Mục tiêu của luận án là tiếp tục nghiên cứu, phát triển một số vấn đề liên quan đến lớp phụ thuộc Boole dương và ánh xạ đóng là công cụ để mô tả, phản ánh lớp phụ thuộc này. Đây là vấn đề nghiên cứu đã và đang được nhiều nhà khoa học quan tâm. Mục đích nghiên cứu - Nghiên cứu các lớp phụ thuộc Boole dương trong đó tập trung chủ yếu việc vào việc đề xuất, phát triển một số khái niệm, tính chất của 7 lớp phụ thuộc Boole dương tổng quát và một số khía cạnh ứng dụng của lớp phụ thuộc này. - Nghiên cứu về ánh xạ đóng và tổng quát hóa một số kết quả về lớp các phụ thuộc Boole dương theo ngôn ngữ ánh xạ đóng. Đề xuất công cụ toán học để biểu diễn ánh xạ đóng, nâng cao hiệu quả tính toán khi sử dụng công 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ận dụ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ợp với việc phát triển lớp các phụ thuộc logic nhằm nâng cao khả năng biểu đạt và đảm bảo ngữ nghĩa của dữ liệu trong cơ sở dữ liệu - Kết hợp chặt chẽ giữa lý thuyết và các phương pháp toán học để chứng minh một số kết quả nghiên cứu. Những đóng góp của luận án Luận án đã giải quyết được các vấn đề sau: (1) Đề xuất, xây dựng khái niệm và một số tính chất của cơ sở hệ sinh ánh xạ đóng. Phát biểu và chứng minh các định lý, bổ đề về biểu diễn cơ sở của hệ sinh ánh xạ đóng thông qua phép thu gọn hệ sinh. Đề xuất một dạng biểu diễn cơ sở hệ sinh ánh xạ đóng với kỹ thuật thu gọn hệ sinh theo vế trái tối tiểu của tập luật sinh. (2) Đề xuất một lớp hệ sinh đặc biệt gọi là hệ sinh cân bằng để biểu diễn ánh xạ đóng và thu được một số kết quả ban đầu nâng cao hiệu quả tính toán khi sử dụng công cụ này. (3) Đề xuất khái niệm phủ, phủ không dư và thuật toán tìm phủ không dư cho lớp phụ thuộc Boole dương tổng quát. Đề xuất khái niệm bao đóng và thuật toán giải bài toán thành viên trong trường hợp tổng quát của lớp phụ thuộc Boole dương tổng quát. 8 (4) Xác định điều kiện cần và đủ để biểu diễn phụ thuộc Boole dương tổng quát dưới dạng hội các công thức suy dẫn. (5) Xây dựng thuật toán tìm tập PTBDTQ thỏa mãn quan hệ R cho trước. Bố cục của luận án Về cấu trúc, luận án được trình bày trong 3 chương, có phần mở đầu, phần kết luận, phần mục lục, phần các công trình đã công bố liên quan đến luận án và tài liệu tham khảo. Các nội dung cơ bản của luận án được trình bày theo cấu trúc như sau: Chương 1: Tổng quan về các phụ thuộc logic trong cơ sở dữ liệu Trình bày khái niệm chung về mô hình quan hệ và lớp phụ thuộc đầu tiên của phụ thuộc logic là phụ thuộc hàm. Tổng quan về quá trình phát triển của lớp các phụ thuộc Boole và đặt vấn đề xác định giới hạn của phụ thuộc Boole trong điều kiện bảo toàn hiệu lực của định lý tương đương. Chương 2: Ánh xạ đóng và hệ sinh cân bằng Giới thiệu về ánh xạ đóng, giàn giao và điểm bất động của ánh xạ đóng. Trong chương cũng trình bày một số kết quả mới của luận án liên quan đến hệ sinh ánh xạ đóng như biểu diễn cơ sở hệ sinh ánh xạ đóng qua hợp vế trái tối tiểu của hệ sinh cho trước và cơ sở của hệ sinh sau khi thu gọn. Đề xuất lớp hệ sinh mới là hệ sinh cân bằng với mục đích nâng cao hiệu quả trong quá trình tính toán và một dạng biểu diễn cơ sở của hệ sinh ban đầu thông qua cơ sở hệ sinh cân bằng. Chương 3. Phát triển lớp các phụ thuộc Boole dương và ánh xạ đóng trong cơ sở dữ liệu Trình bày một số khái niệm và kết quả của luận án liên quan đến việc tìm bao đóng, phủ, phủ không dư, bài toán thành viên và thể hiện của lớp phụ thuộc Boole dương tổng quát (PTBDTQ). Biểu diễn phụ thuộc Boole dương tổng 9 quát 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ây dựng tập PTBDTQ thỏa mãn quan hệ R cho trước cũng được trình bày trong chương này. Một số ứng dụng của ánh xạ đóng và hệ suy dẫn trong cơ sở dữ liệu cũng được giới thiệu trong chương này. Các kết quả chủ yếu của luận án được trình bày trong Chương 2 và Chương 3. Các kết quả này cũng đã được công bố trên 4 bài báo đăng trong các tạp chí chuyên ngành, được trình bày và đăng trong kỷ yếu của 2 hội nghị Quốc gia về Công nghệ thông tin. Những kết quả nghiên cứu trong luận án là bước đầu để phát triển và hoàn thiện lý thuyết lớp các phụ thuộc logic trong cơ sở dữ liệu. Kết hợp với một số thuật toán, kỹ thuật khai thác dữ liệu và tri thức, có thể xây dựng các ứng dụng phục vụ cho công tác của ngành Công an. Do điều kiện về thời gian và trình độ còn hạn chế, những vấn đề trình bày trong luận án không tránh khỏi những thiếu xót. Tác giả rất mong được sự thông cảm và góp ý của các nhà khoa học, đồng nghiệp và bạn bè để hoàn thiện luận án tốt hơn. 10 CHƯƠNG 1 TỔNG QUAN VỀ CÁC PHỤ THUỘC LOGIC TRONG CƠ SỞ DỮ LIỆU 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ới khá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ạng phụ 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 đã được chọn như một ngôn ngữ hữu hiệu để đặc tả phụ thuộc dữ liệu, do đó, trong số các loạ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 các lớp phụ thuộc Boole dương và đặt vấn đề xác định giới hạn của phụ thuộc Boole trong điều kiện bảo toàn hiệu lực của định lý tương đương. 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ệ và phát biểu định lý tương đương cho lớp phụ thuộc hàm. Các phần tiếp theo của chương lần lượt giới thiệu các lớp phụ thuộc Boole được mở rộng theo trình tự thời gian là phụ thuộc Boole dương, phụ thuộc Boole dương tổng quát 11 và phụ thuộc Boole dương đa trị. Phần cuối nêu sự cần thiết và ý nghĩa của việc mở rộng các phụ thuộc dữ liệu và một số vấn đề cần phát triển tiếp. 1.1 MỘT SỐ KHÁI NIỆM CƠ BẢN 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 [29]. Các khái niệm liên quan đến các cơ sở dữ liệu và tri thức đã được trình bày đầy đủ trong [39], [54]. 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.1 Cho tập hữu hạn U = {A1, A2 , ... , An} khác rỗ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 chứa ít nhất hai phần tử dom(Ai) được gọi là miền trị của thuộc tính Ai. Gọi D là hợp của các dom(Ai), i = 1,2,...,n. Một quan hệ R với các thuộc tính U, 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(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 định sau đâ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,... 12 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, X2, ..., Xm được ký hiệu là M = X1 | X2 |... | Xm với ý nghĩa M = X1  X2  ...  Xm và Xi  Xj = , 1  i, j  m, i  j. Các bộ được biểu diễn bằng các chữ Latin thường có thể kèm chỉ số t, u, v, t1 ... Với mỗi bộ t trong quan hệ R(U) và mỗi tập con các thuộc tính X  U ta ký hiệu t[X] hoặc t.X là hạn chế của bộ (ánh xạ) t trên tập thuộc tính X. Quy ướ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). 13 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ớp phụ thuộc kinh điển được Codd [29] đề xuất sớm nhất và đóng vai trò quan trọng trong 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 theo quan hệ, suy dẫn theo quan hệ có không quá p bộ và phát biểu định lý tương đương giữ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.1 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: XY ; X,Y  U Nếu f: XY 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. Cho quan hệ R(U) và một PTH f: XY 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(XY)  (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) 14 Nếu quan hệ R thỏa PTH f ta cũng nói PTH f đúng trong quan hệ R. Thí dụ 1.2.1 Cho quan hệ R(A, B, C, D) như sau R(A a a b b B 1 1 2 2 C x y x y D) 2 2 1 1 và các PTH f1: AA, f2: AB, f3: ACC, f4: AD, f5: DA, f6: AC. Khi đó các PTH f1 - f5 đúng trong R, mặt khác, R không thỏa PTH f6. Định nghĩa 1.2.2 Cho trước tập PTH F trên tập thuộc tính U, ký hiệu SAT(F) là tập toàn thể các quan hệ trên U thoả tập PTH F, SAT_p(F), p  1 là tập toàn thể các quan hệ có không quá p bộ trên U và thoả tập PTH F , cụ thể là SAT(F) = { R | RREL(U), R(F) } SAT_p(F) = { R | RREL_p(U), R(F) } Định nghĩa 1.2.3 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 r ms t r o n g Định nghĩa 1.2.4 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 Ao sau đây: X, Y, Z  U: 15 F1. Tính phản xạ: Nếu X  Y thì XY  F + F2. Tính gia tăng: Nếu XY  F + thì XZYZ  F + F3. Tính bắc cầu: Nếu XY  F + và YZ  F + thì XZ  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) 3. FD(RS)  FD(R)  FD(S) 4. R  S  FD(R)  FD(S) 5. F  FD(SAT(F)) 6.   SAT(FD()) 7. SAT(FD(SAT(F))) = SAT(F) 8. FD(SAT(FD())) = FD() 1.2.4. Định lý tương đương Định nghĩa 1.2.4 Phụ thuộc hàm f được suy dẫn theo tiên đề (hoặc suy dẫn logic) từ tập PTH F và ký hiệu là F╞ f, nếu f  F +. F╞ f  f  F + 16 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 Ao sau hữu hạn lần ta sẽ thu được PTH f. Định nghĩa 1.2.5 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 F * = { f: XY | X,Y  U, F├ f } Tính đủ và xác đáng của hệ tiên đề Armstrong được chứng minh trong định lý 1.2.1 dưới đây. Định lý 1.2.1 F+=F* Nói cách khác, suy dẫn theo quan hệ và suy dẫn theo logic là một, tức là F╞ f  F├ f Định nghĩa 1.2.6 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 [52]. F├p f  SAT_p(F)  SAT_p(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ệ có không quá hai bộ từ tập PTH F 17 F' = { f: XY | 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.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. Định nghĩa 1.2.7 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 ràng buộc trên các miền trị (dữ liệu) của các thuộc tính trong U. 1.3 CÁC CÔNG THỨC BOOLE Định nghĩa 1.3.1 Cho U = {x1,...,xn} 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 1.3.2 Mỗi vector các phần tử 0/1, v = v1,...,vn) 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,...,xn} trong U. 18 Khi đó với mỗi CTB fLU) ta có fv) = fv1,...,vn) 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: 1. Thay toàn bộ xuất hiện của mỗi biến xi trong f bằng trị vi 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,...,Bm}  U ta ký hiệu X = B1B2...Bm và gọi là dạng hội. X = B1B2...Bm 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,...,fm} trong LU), F được xem là một công thức dạng F = f1f2...fm. 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) ... fmv) Định nghĩa 1.3.3 Với mỗi công thức f trên U, bảng trị của f, ký hiệu là Vf 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ị 19 chứa 2n 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à Tf, là tập các phép gán trị v sao cho fv) nhận giá trị 1, Tf = {v  B n | fv) =1} Khi đó bảng chân lý TF 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, TF  T f f F Ta có, v  TF khi và chỉ khi f F: fv) = 1. Nhận xét 1.3.1 Với mỗi CTB f, bảng trị Vf của f chứa trị của mọi phép gán trị cho f, trong khi bảng chân lý Tf chỉ là một phần của bảng trị ứng với các giá trị 1 của f. 1.4 PHỤ THUỘC BOOLE 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 [22], [23] và Sagiv, Delobel et al. [52] đã 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ức Boole 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ộc tí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. 1.4.1. Công thức Boole dương Định nghĩa 1.4.1 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). 20 Ký hiệu PU) là tập toàn bộ các công thức dương trên U. Theo Post [50] 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. Thí dụ 1.4.1 1. AB, AB)CB), AB)CB)B)C1 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. 1.4.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.A1= v.A1, u.A2= v.A2,..., u.An= v.An) Nói cách khác, nếu u = (u1, u2, u3,… un,) và v = (v1, v2, v3,… vn) thì ta đặt t = (u,v) = (t1,t2,...,tn) trong đó ti = 1 nếu ui = vi và ti = 0 nếu ui  vi, 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 : TR = {u,v) u,v  R} Thí dụ 1.4.2 R TR BộABCt11a2t22b ABCt1&t1 2t31a3 111t1&t2001t1&t3110t2&t30 00 Nhận xét:
- Xem thêm -

Tài liệu liên quan

Tài liệu xem nhiều nhất