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

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

Đ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

i 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 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 NĂM 2014 ii 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 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 CÁN BỘ HƯỚNG DẪN KHOA HỌC: PGS TSKH NGUYỄN XUÂN HUY iii TP HỒ CHÍ MINH, THÁNG NĂM 2014 LỜI CAM ĐOAN Tôi xin cam đoan công trình nghiên cứu riêng Các số liệu, kết nêu Luận văn trung thực chưa công bố công trình khác Tôi xin cam đoan giúp đỡ cho việc thực Luận văn cảm ơn thông tin trích dẫn Luận văn rõ nguồn gốc Học viên thực Luận văn (Ký ghi rõ họ tên) NGÔ VIỆT TRƯỜNG iv LỜI CẢM ƠN Trong suốt quá trình học tập hoàn thành luận văn này, đã nhận được sư hướng dẫn, giúp đỡ quý báu của quý thầy cô, gia đình, bạn bè đồng nghiệp Với lòng kính trọng biết ơn sâu sắc 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 kiến thức bổ ích cho quá trình học tập hướng dẫn hết sức tận tình quá trình hoàn thành luận văn 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 điều kiện thuận lợi giúp đỡ quá trình học tập hoàn thành luận văn Toàn thể quý thầy đã nhiệt tình giảng dạy truyền đạt kiến thức bổ ích cho suốt khóa học vừa qua Cuối xin cảm ơn đến tất cả người thân gia đình, bạn bè đồng nghiệp đã giúp đỡ suối quá trình học tập thưc luận văn NGÔ VIỆT TRƯỜNG v MỤC LỤC Danh mục kí hiệu, từ viết tắt Danh mục hình minh họa Mở đầu Chương Tổng quan lý thuyết sở liệu quan hệ 1.1 Một số khái niệm 1.2 Phụ thuộc hàm .8 1.2.1 Khái niệm phụ thuộc hàm 1.2.2 Hệ tiên đề Armstrong .10 1.2.3 Một số tính chất 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 Một số khái niệm sở 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ý quan hệ 17 2.2.3 Phụ thuộc Boole dương 17 2.2.4 Một số tính chất 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ạng hội suy dẫn 24 2.4.1 Công thức suy dẫn 24 vi 2.4.2 Bài toán biểu diễn PTBD dạng hội suy dẫn .25 2.4.3 Tập TR 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 Ứng dụng lớp phụ thuộc Boole dương giải số lớp 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 phép hợp giải .40 3.5 Phương pháp chứng minh công thức .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 chương trình .45 3.9 Kết đạt 52 3.10 Kết chương 52 Kết luận kiến nghị hướng phát triển .53 Phụ lục Tài liệu tham khảo .54 vii DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT CSDL sở liệu CTB Công thức Boole CTBD Công thức Boole dương CTSD Công thức suy dẫn HSD Hội suy dẫn I(U) Tập công thức suy dẫn tập biến U L(U) Tập CTB xây dựng tập biến U P(U) Tập toàn công thức dương U PTBD Phụ thuộc Boole dương PTBDTQ Phụ thuộc Boole dương tổng quát PTH Phụ thuộc hàm R(U) Quan hệ R với tập thuộc tính U REL(U) Tập toàn thể quan hệ tập thuộc tính U REL_p(U) Tập toàn thể quan hệ không p tập thuộc tính U, p ≥ SAT(F) Tập toàn thể quan hệ U thỏa tập ràng buộc F SAT_p(F) Tập toàn thể quan hệ không p U thỏa tập ràng buộc F, p ≥ SubSet(U) Tập tập U ⇔ Khi ⇒ suy ra, kéo theo ├ suy dẫn theo quan hệ ╞ suy dẫn logic ├2 suy dẫn theo quan hệ không viii 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 ix MỞ ĐẦU sở liệu hạt nhân thiếu hệ thống, hệ thống máy tính truyền thông Cùng với phát triển không ngừng Internet, việc trao đổi thông tin truyền liệu mạng nhu cầu tất yếu đặt Với khối lượng thông tin lớn trao đổi, liệu lưu trữ phân tán, yêu cầu truy xuất xảy nhiều nơi, việc đảm bảo tính quán, tránh thừa liệu, dị thường thêm, xóa toán liên quan đến tổ chức, xử lý, nén liệu,… vấn đề quan tâm Để lưu trữ, quản lý khai thác liệu ta dùng nhiều mô hình tổ chức liệu khác từ mô hình truyền thống mô hình mạng, mô hình phân cấp, mô hình quan hệ đến mô hình đại, dùng nhiều mô hình sở liệu phân tán, mô hình sở liệu hướng đối tượng … Trong mô hình liệu, việc nghiên cứu lý thuyết ứng dụng ràng buộc liệu hay gọi phụ thuộc liệu yêu cầu cấp thiết đặt Phụ thuộc liệu Codd [13] tác giả mô hình liệu quan hệ đặt móng từ năm 70 với khái niệm phụ thuộc hàm Tiếp sau R Fagin Zaniolo đưa phụ thuộc đa trị vào năm 1976 Cùng với phát triển lớp phụ thuộc hàm, số phụ thuộc liệu bậc cao hệ tiên đề cho lớp phụ thuộc tức đặt móng sở lý thuyết phụ thuộc liệu, giới thiệu sau phụ thuộc đối ngẫu, phụ thuộc mạnh, phụ thuộc yếu J Demetrovics Gy Gyepesy đề xuất năm 1981, phụ thuộc Boole dương Berman đề xuất năm 1985, 1987, phụ thuộc Boole dương tổng quát Nguyễn Xuân Huy, Lê Thị Thanh [6] phát triển năm 1992, … Gần đây, sở lớp phụ thuộc hàm phụ thuộc liệu truyền thống số công trình nghiên cứu nhiều nhóm phụ thuộc liệu mở rộng cho nhiều loại liệu khác Với liệu xác định, năm 2004, Ilya đồng nghiệp nghiên cứu phụ thuộc hàm nhẹ (Soft Functional Dependencies – Soft FD) phụ thuộc hàm mà giá trị X xác định giá trị Y với độ không chắn x định hay phụ thuộc hàm điều kiện (Conditional functional dependencies CFDs) Bohannon [8] đồng nghiệp đề xuất năm 2007 để làm liệu Với liệu mờ, phụ thuộc hàm đối sánh (Matching dependencies - MDs), phụ thuộc hàm độ đo (Metric Functional Dependencies - MFD) Fan nghiên cứu, đề xuất năm 2008, 2009 Hay phụ thuộc (Sequential dependencies - SD ) Golab đồng nghiệp đưa để khái quát liệu theo thứ tự biểu diễn mối quan hệ thuộc tính thứ tự Gần đây, đầu năm 2011 nhóm nghiên cứu Song S Chen L [12] đề xuất phụ thuộc sai khác (Differential Dependencies - DDs) để giải số vấn đề đảm bảo tính toàn vẹn, tối ưu truy vấn tốt so với phụ thuộc hàm Lớp PTH hầu hết phụ thuộc bậc cao phát triển sau 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 điều kiện … dựa quan hệ đẳng thức so sánh trị thuộc tính xuất Trong thực tế, so sánh theo đẳng thức tồn loại hình so sánh khác Ta xét số thí dụ sau: Trong CSDL quản lý giao dịch thẻ tín dụng, số thẻ giao dịch xác định vị trí giao dịch Để xác định giao dịch gian lận hay không ta kết hợp điều kiện số thẻ với vị trí để xác định thời gian giao dịch, thí dụ thẻ tín dụng giao dịch hai vị trí cách 40km (ở hai thành phố khác nhau), thời gian truyền sai lệch phải lớn 20 phút Nếu hai giao dịch không thỏa điều kiện hai phiên giao dịch gian lận Như vậy, ta thấy phụ thuộc [sothe (=0) ∧ vitri (≥40)] → [thoigian(≥20)] ngữ nghĩa rộng PTH sothe → vitri Trong số luận, độ cao số tự nhiên n, H(n) tổng chữ số số đó, thí dụ, H(2006) = H(125) = Nếu ta phân loại số theo độ cao hai số khác thuộc lớp Như phụ thuộc H(N)→CLASS ngữ nghĩa rộng PTH N → CLASS xlix Xét h: (f => g)’ - Bước 1: Đưa h dạng CNF = tích tổng: h = h1.h2…hk - Bước 2: Thay nhân tử dạng (a+b) (a’+c) (b+c) - Bước 3: Lặp đến xảy tình sau: + Gặp 0: Kết luận f => g + Không gặp 0: Kết luận f không suy g 3.5 Phương pháp chứng minh công thức - Bước 1: Đưa h dạng CNF = tích tổng: h = A.B D - Bước 2: Thay nhân tử dạng (a+b) (a’+c) (b+c) - Bước 3: Lặp đến xảy tình sau: + Gặp 1: Kết luận h + Không gặp 1: Kết luận h Các biến thể qui tắc: (a+b)(a’+c) => (b+c) (a’+b)a => b (a+b)a’ => b aa’ => Mệnh đề 3.1 (a+b)(a’+c) => b+c Chứng minh Cho X = (a+b)(a’+c) Y = b+c ta chứng minh X => Y Nói cách khác, ta chứng minh X = Y = Thật vậy, X = (a+b) = (a’+c) = Nếu a = a’ = Từ suy c = Nếu a = b = Do đó, b+c = Mệnh đề 3.2 Nếu a => b b =>0 a = Chứng minh Do a => b, a = b = Điều mâu thuẫn với b => Do đó, a = Chú ý l Để chứng minh theo hợp giải trước hết phải loại bỏ thừa số giống tích, tức thay AA A Một số công thức (Tautologies) (1) X = ( (x+a) & (y+(~a)) ) =>(x+y)), (2) X = ((a => b) & (b => c))=>(a => c)), (3) X = (~a+1), (4) X = ((a & b) => a), (5) X = (a & (a => b) => a), (6) X = (~b & (a => b) => ~a), (7) X = (~a & (a + b) => b), (8) X = (a (b => (a&b))), (9) X = (a => (a+b)), (10) X = (((a&b) => c) => (a => (b => c))), (11) X = ((a => (b => c)) => ((a & b) => c)), (12) X = ((a => (b &(~b)) => (~a)), (13) X = (((a => b) & (~b)) => (~a)), (14) X = ((a => b) => ((a+c) => (b+c)) ), (15) X = ((a => b) => ((a & c) => (b & c)), (16) X = ((a => b) => ((b => c) => (a => c))), (17) X = (((a b) & (b c)) => (a c)), (18) X = (a a), (19) X = ((~(~a)) a), (20) X = ((a b) (b a)), (21) X = (((a => b) & (c => b)) => (a & c => b)), (22) X = (((a => b) & (a => c)) => (a => b & c)), (23) X = ((a => b) (~b => ~a)), (24) X = ((a+b)+c a+(b+c)), 3.6 Một số thí dụ minh họa Thí dụ 3.2 li Hãy chứng minh: Nếu a=>b, b=>c a=>c (Tc bắc cầu) Gọi f, g công thức sau: f = (a=>b)(b=>c) = {a=>b, b=>c}; g = a=>c = {a=>c} Hỏi f => g? Giải X = ((a=>b)&(b=>c))=>(a=>c)? Xét phủ định X: H = [((a=>b)&(b=>c))=>(a=>c)]’ (A) Đưa h CNF H = [((a=>b)&(b=>c))=>(a=>c)]’ = = (a’+b)(b’+c)(a’+c)’ // Vận dụng công thức (x=>y)’ = xy’ (x=>y) = x’+y = (a’+b)(b’+c)ac’ = (a’+b)(b’+c)ac’ // Đây CNF (B) Hợp giải H = (a’+b)(b’+c)ac’ => (a’+c)ac’ // Thay (a’+b)(b’+c) (a’+c) => cc’ // Thay (a’+c)a = (a’+c)(a+0) (c+0) = c => Kết luận: Nếu a=>b, b=>c a=>c (Tc bắc cầu) Thí dụ 3.3 Hãy kiểm tra công thức sau: (a=>b) => (ac=>bc) ? Giải H = (a=>b)(ac=>bc)’ = (a’+b)(ac(bc)’) = (a+b)(b’+c’)ac CNF H => (a+c’)ac => aa = a Sai Kết luận: (a=>b) =/> (ac=>bc) Thí dụ 3.4 Hãy kiểm tra công thức (a=>b) => ((a+c)=>(b+c)) ? Giải H = (a=>b)[(a+c)=>(b+c)]’ = (a’+b)(a+c)(b+c)’ = (a’+b)(a+c)b’c’ CNF H = (a’+b)(a+c)b’c’ =>(b+c)b’c’ => cc’ = Kết luận: Công thức suy dẫn lii Thí dụ 3.5 Hãy chứng minh công thức sau (((x+a) (y+a’)) =>(x+y)) đúng, Giải Với thí dụ này, ta sử dụng phương pháp phản chứng Giả sử X sai, ta có: H = X’ = (x+a)(y+a’)(x+y)’ = (x+a)(y+a’)x’y’ CNF H => (x+y)x’y’ => yy’ = Kết luận: Công thức suy dẫn Thí dụ 3.6 Hãy chứng minh X = a’+1 Giải Vẫn dùng phương pháp phản chứng Giả sử X sai, ta H = X’ = (a’+1)’ = a0 = Kết luận: Công thức suy dẫn Thí dụ 3.7 Hãy chứng minh công thức X = (ab => c) => (a => (b => c)) Giải Sử dụng phương pháp phản chứng sau: Giả sử X sai, ta H = X’ = [(ab => c) => (a => (b => c))]’ = (ab=>c)[a=>(b=>c)]’ = = (ab=>c)a(b=>c)’ = ((ab)’+c)abc’ = (a’+b’+c)abc’ CNF H => (b’+c)bc’ => cc’ = Kết luận: Công thức X = (ab => c) => (a => (b => c)) 3.7 Môi trường xây dựng chương trình 3.7.1 Phần cài đặt chương trình Chương trình xây dựng ngôn ngữ Prolog, ngôn ngữ lập trình logic sử dụng phổ biến lĩnh vực trí tuệ nhân tạo Nguyên lý lập trình logic dựa mệnh đề Horn (Horn logic) Nội dung chương trình nhằm giải toán thành viên với liệu công thức Logic f, g 3.7.2 Dữ liệu áp dụng cho chương trình liii Dữ liệu sử dụng để chạy chương trình tập thuộc tính phụ thuộc Logic f tập thuộc tính phụ thuộc Logic g sẵn, nhập trực tiếp bàn phím phần code chương trình Thí dụ 3.8 Giải toán thành viên: F= (a&b => c) & (~a+b), G = a => c Hỏi F=>G? 3.8 Kết đạt Khi thực lệnh gọi thủ tục chương trình giải cách nhanh chóng toán thành viên với phụ thuộc boole dương f g cho kết rỗng ta kết luận theo thuật toán hợp giải ta kết luận f=>g, ngược lại f=/>g Chương trình thực tìm khóa lược đồ quan hệ tập hợp thuộc tính với phụ thuộc logic f, g cho trước Kết thuật toán cho giá trị tập hợp khóa tìm quan hệ Ta tìm trị cách nhanh chóng cách đưa vào thuộc tính hay hàm, chương trình xuất kết tương ứng thuộc tính hay hàm 3.9 Kết chương Chương trình bày số số toán thành viên toán bao đóng, thuật toán phương pháp hợp giải để giải toán thành viên cho phụ thuộc Logic, sử dụng thuật toán tìm khóa để giải toán tìm khóa cho lược đồ quan hệ gồm phụ thuộc Logic f,g Đồng thời trình bày cách thực hiện, việc đưa liệu kết chương trình ứng dụng viết ngôn ngữ Prolog liv KẾT LUẬN VÀ KIẾN NGHỊ HƯỚNG PHÁT TRIỂN Kết luận Lý thuyết phụ thuộc liệu vấn đề nhiều người quan tâm nghiên cứu, phát triển mặt lý thuyết ứng dụng Các nhà nghiên cứu đề xuất nhiều loại phụ thuộc liệu khác để đáp ứng yêu cầu thực tế phong phú đa dạng Lớp phụ thuộc liệu phụ thuộc hàm E F Codd [13] tác giả mô hình sở liệu quan hệ giới thiệu năm 1970 Cùng với phát triển lớp phụ thuộc hàm, nhiều lớp phụ thuộc khác nghiên cứu, phát triển phụ thuộc đối ngẫu, phụ thuộc mạnh, phụ thuộc yếu, phụ thuộc đối sánh, phụ thuộc tuần tự, phụ thuộc sai khác…và số lớp phụ thuộc Boole dương Với mong muốn đóng góp vào phát triển ứng dụng đó, luận văn cố gắng tìm hiểu trình bày số khái niệm lớp phụ thuộc Boole dương số vấn đề lớp phụ thuộc bao đóng, toán suy dẫn, toán thành viên Kiến nghị hướng phát triển - Nghiên cứu ứng dụng loại phủ cho lớp phụ thuộc Boole dương - phủ tự nhiên, phủ tối tiểu Tiếp tục tìm hiểu số lớp phụ thuộc liệu chất phụ thuộc Boole dương nghiên cứu gần phụ thuộc hàm mềm, phụ thuộc hàm - điều kiện, phụ thuộc sai khác… Xây dựng ứng dụng, giải toán thực tế dựa vào lớp phụ thuộc Boole dương lv PHỤ LỤC (Một số kết chương trình ứng dụng) - Gọi thực lệnh “go1.” để giải toán thành viên - Kích đúp chuột lên file chương trình thanhvien.pl - Màn hình hiển thị sau: Welcome to SWI-Prolog (Multi-threaded, 32 bits, Version 6.4.1) Copyright (c) 1990-2013 University of Amsterdam, VU Amsterdam SWI-Prolog comes with ABSOLUTELY NO WARRANTY This is free software, and you are welcome to redistribute it under certain conditions Please visit http://www.swi-prolog.org for details For help, use?- help(Topic) or?- apropos(Word) 1?- Tại dấu nhắc ta đánh vào lệnh “go1.” 1?- go1 (a&b=>c)& (~a+b) => a=>c? Given: (a&b=>c) & (~a+b)=> (a=>c) Y = ~ ((a&b=>c) & (~a+b)=> (a=>c)) CNF: (~a+ ~b+c) & (~a+b)& (a& ~c) ToList: [~a+ ~b+c,~a+b,a,~c] List: [[~a,~b,c],[~a,b],[a],[~c]] [] true ! true ?Hình 3.2 Gọi thủ tục go1 lvi - Gọi thực lệnh “go2.” để giải toán thành viên ?- go2 (a=>b)& (b=>c) => a=>c? Given: (a=>b)& (b=>c)=> (a=>c) Y = ~ ((a=>b)& (b=>c)=> (a=>c)) CNF: (~a+b)& (~b+c)& (a& ~c) ToList: [~a+b,~b+c,a,~c] List: [[~a,b],[~b,c],[a],[~c]] [] true ! true Hình 3.3 Gọi thủ tục go2 - Gọi thực lệnh “go3.” để giải toán thành viên ?- go3 (a=>b+c)& (a&d=>e)& (c+e=>b) => b&e=>a+d? Given: (a=>b+c)& (a&d=>e)& (c+e=>b)=> (b&e=>a+d) Y = ~ ((a=>b+c)& (a&d=>e)& (c+e=>b)=> (b&e=>a+d)) CNF: (~a+ (b+c))& (~a+ ~d+e)& ((~c+b)& (~e+b))& (b&e& (~a& ~d)) ToList: [~a+ (b+c),~a+ ~d+e,~c+b,~e+b,b,e,~a,~d] List: [[~a,b,c],[~a,~d,e],[~c,b],[~e,b],[b],[e],[~a],[~d]] [[b],[e],[~a],[~d],[~a,b],[~a,~d,b]] By val [0,1,0,0,1] false ! true Hình 3.4 Gọi thủ tục go3 lvii - Gọi thực lệnh “go.” để giải toán thành viên ?- go (a=>b)& (b=>c) => a=>c? Given: (a=>b)& (b=>c)=> (a=>c) Y = ~ ((a=>b)& (b=>c)=> (a=>c)) CNF: (~a+b)& (~b+c)& (a& ~c) ToList: [~a+b,~b+c,a,~c] List: [[~a,b],[~b,c],[a],[~c]] [] true ! Continue [Y|N] ? y Hình 3.5 Gọi thủ tục go - Để tiếp tục thực giải ta nhấn “y.”, kết tiếp tục giải sau: (~a+b)& (~b+c) => a=>c? Given: (~a+b)& (~b+c)=> (a=>c) Y = ~ ((~a+b)& (~b+c)=> (a=>c)) CNF: (~a+b)& (~b+c)& (a& ~c) ToList: [~a+b,~b+c,a,~c] List: [[~a,b],[~b,c],[a],[~c]] [] true ! Continue [Y|N] ? y Hình 3.6 Gọi tiếp thủ tục go lviii (x+a)& (y+ ~a) => x+y? Given: (x+a)& (y+ ~a)=>x+y Y = ~ ((x+a)& (y+ ~a)=>x+y) CNF: (x+a)& (y+ ~a)& (~x& ~y) ToList: [x+a,y+ ~a,~x,~y] List: [[x,a],[y,~a],[~x],[~y]] [] true ! Continue [Y|N] ? y Hình 3.7 Gọi tiếp thủ tục go a+b => a? Given: a+b=>a Y = ~ (a+b=>a) CNF: (a+b)& ~a ToList: [a+b,~a] List: [[a,b],[~a]] [[b]] By val [0,1] false ! Continue [Y|N] ? y Hình 3.8 Gọi tiếp thủ tục go lix a&b => a? Given: a&b=>a Y = ~ (a&b=>a) CNF: a&b& ~a ToList: [a,b,~a] List: [[a],[b],[~a]] [] true ! Continue [Y|N] ? n Bye ! true Hình 3.9 Gọi tiếp thủ tục go - Khi nhấn “n.” chương trình thoát khỏi thủ tục “go” - Gọi thực lệnh “tt( thuộc tính).” để tính trị cho thuộc tính Thí dụ 3.9 Để tính trị biểu thức a+b ta gọi sau: ?- tt(a+b) [a,b] a+b [0,0] [0,1] [1,0] [1,1] True Hình 3.10 Tính trị a+b lx Thí dụ 3.10 Để tính trị biểu thức a&b ta gọi sau: ?- tt(a&b) [a,b] a&b [0,0] [0,1] [1,0] [1,1] True Hình 3.11 Tính trị a&b Thí dụ 3.11 Để tính trị biểu thức a=>b ta gọi sau: ?- tt(a=>b) [a,b] a=>b [0,0] [0,1] [1,0] [1,1] True Hình 3.12 Tính trị a=>b lxi Thí dụ 3.12 Để tính trị biểu thức a^b ta gọi sau: ?- tt(a ^ b) [a,b] a^b [0,0] [0,1] [1,0] [1,1] True Hình 3.13 Tính trị a^b Thí dụ 3.13 Để tính trị biểu thức ab ta gọi sau: ?- tt(a b) [a,b] ab [0,0] [0,1] [1,0] [1,1] true Hình 3.14 Tính trị ab lxii TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt [1] Bùi Đức Minh, Lương Nguyễn Hoàng Hoa (2011), “Hệ sinh cân toán biểu diễn sở hệ sinh ánh xạ đóng”, Chuyên san các công trình nghiên cứu, phát triển ứng dụng CNTT-TT, Tập V-1, Số (25), tr.15-21 [2] Nguyễn Xuân Huy (2006), Các phụ thuộc logic sở liệu, Viện KH&CN Việt nam, NXB Thống kê, Hà Nội [3] Nguyễn Xuân Huy, Lê Đức Minh, Vũ Ngọc Loãn (2000), “Các ánh xạ đóng ứng dụng sở liệu”, Tạp chí Tin học Điều khiển học, 16(4), tr.1-6 [4] Nguyễn Xuân Huy, Lê Thị Mỹ Hạnh (2005), “Giàn giao ánh xạ đóng”, Chuyên san các công trình nghiên cứu - triển khai viễn thông công nghệ thông tin, số 14, tr 35-42 [5] Nguyễn Xuân Huy, Lê Thị Mỹ Hạnh (2005), “Thu gọn hệ sinh ánh xạ đóng”, Chuyên san các công trình nghiên cứu - triển khai viễn thông công nghệ thông tin, số 15, tr 53-58 [6] Nguyễn Xuân Huy, Lê Thị Mỹ Hạnh, Lương Nguyễn Hoàng Hoa, Bùi Đức Minh, Nguyễn Đức Vũ (2007), “Thiết kế sở liệu theo tiếp cận dịch chuyển lược đồ quan hệ”, Kỷ yếu Hội thảo Khoa học Quốc gia “Một số vấn đề chọn lọc của Công nghệ thông tin Truyền thông”, Đại Lải, 1415/09/2007, NXB KHTN, tr.499-506 Tài liệu tiếng Anh [7] Armstrong W.W., Delobel C (1980), “Decomposition and Functional Dependencies in Relations” , ACM TODS, 5(4), pp 404-430 [8] Bohannon, P., Fan, W., Geerts, F., Jia, X., and K.ementsietsidis, A (2007), “Conditional functional dependencies for data cleaning”, In ICDE, pp.746755 lxiii [9] Cong, G., Fan, W., Geerts, F., Jia, X., and Ma, S (2007), “Improving data quality: Consistency and accuracy”, In VLDB, pp.315-326 [10] Fan, W., Geerts, F., Lakshmanan, L V S., and Xiong, M (2009), “Discovering conditional functional dependencies”, In ICDE, pp 12311234 [11] Luong Nguyen Hoang Hoa (2011), “Some results concerning Generalized Positive Boolean Dependencies in relational database”, Internatinal Journal of Computer Electrical Engineering (IJCEE), vol 3, no 6, pp 779-783 [12] Song, S., and Chen, L (2011), “Differential Dependencies: Reasoning and Discovery”, ACM Trans Datab Syst., vol.9, no 4, Article 39 [13] Codd E F (1970), “A Relational Model of Data for Large Shared Data Banks, CACM 13(6), pp 377-387 ... VỀ LÝ THUYẾT CƠ SỞ DỮ LIỆU QUAN HỆ Lý thuyết phụ thuộc liệu đóng vai trò quan trọng việc mô tả giới thực, phản ánh ngữ nghĩa liệu sở liệu Trong quản lý sở liệu (CSDL), phụ thuộc liệu hiểu mệnh... lớp phụ thuộc liệu phụ thuộc Boole dương tổng quát hay phụ thuộc có chất phụ thuộc Boole dương phụ thuộc sai khác, phụ thuộc đối sánh nghiên cứu sau Mục tiêu luận văn tìm hiểu lý thuyết phụ thuộc. .. họa phụ thuộc hàm xxi Chương MỘT SỐ KHÁI NIỆM CƠ SỞ TRONG PHỤ THUỘC BOOLE DƯƠNG Trong chương nêu tổng quan lớp phụ thuộc logic lớp phụ thuộc hàm, phát biểu định lý tương đương cho lớp phụ thuộc

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

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan