Chương 1: Logic và cơ sở dữ liệu Trình bày các khái niệm cơ sở của logic bậc một – ngôn ngữ nền tảng để biểu diễn một cơ sở dữ liệu logic, các tính toán bộ và tính toán miền là các hình
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Doãn Thị Thúy Hiền
NGHIÊN CỨU
LÝ THUYẾT XÂY DỰNG CƠ SỞ DỮ LIỆU SUY
DIỄN VÀ NGÔN NGỮ DATALOG
Ngành: Công nghệ thông tin
Mã số: 1.01.10
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS Nguyễn Tuệ
Trang 3MỤC LỤC
MỞ ĐẦU 1
DANH MỤC CÁC THUẬT NGỮ 7
CÁC HÌNH VẼ 8
CHƯƠNG I: LOGIC VÀ CƠ SỞ DỮ LIỆU 9
1.1 Mở đầu 9
1.2 Logic bậc một 10
1.2.1 Cú pháp của logic bậc một 10
1.2.2 Ngữ nghĩa của logic vị từ bậc một 12
1.2.3 Các dạng mệnh đề của các công thức đóng 14
1.3 Cơ sở dữ liệu logic 18
1.3.1 Biểu diễn các sự kiện 18
1.3.2 Các truy vấn và các ràng buộc toàn vẹn 21
1.4 Tính toán miền 21
1.4.1 Các nguyên tắc cơ bản 21
1.4.2 Một số ví dụ về tính miền 22
1.5 Tính toán các bộ 23
1.5.1 Nguyên tắc tính bộ 24
1.5.2 Một số ví dụ về tính bộ 24
1.6 Các kỹ thuật suy diễn 26
1.6.1 Nguyên lý của một thuật toán suy diễn 26
1.6.2 Thuật toán hợp 29
1.6.3 Phương pháp giải 29
1.7 Kết luận 32
CHƯƠNG II: CƠ SỞ DỮ LIỆU SUY DIỄN 33
2.1 Mở đầu 33
2.2 Các vấn đề của hệ quản trị cơ sở dữ liệu suy diễn 33
2.2.1 Ngôn ngữ quy tắc (luật) 34
Trang 42.2.2 Mắc nối hoặc tích hợp 35
2.2.3 Vị từ mở rộng và vị từ mục tiêu 37
2.2.4 Kiến trúc kiểu của một Hệ quản trị CSDL tích hợp 38
2.3 Ngôn ngữ DATALOG 40
2.3.1 Cú pháp của DATALOG 40
2.3.2 Ngữ nghĩa của DATALOG 47
2.3.2.1 Lý thuyết chứng minh 47
2.3.2.2 Lý thuyết mô hình 49
2.3.2.3 Lý thuyết điểm cố định 50
2.3.2.4 Sự trùng hợp của các ngữ nghĩa 53
2.4 Sự mở rộng của DATALOG 54
2.4.1 Giả thuyết thế giới đóng 55
2.4.2 Phủ định trong thân của các quy tắc 56
2.4.3 Phủ định trong đầu quy tắc và cập nhật 59
2.5 Tính giá trị của các truy vấn DATALOG 60
2.5.1 Thực hiện dưới lên 60
2.5.2 Thực hiện trên xuống 62
2.6 Đồ thị phụ thuộc vị từ (Predicate dependency graph): 64
2.7 Tính giá trị các quy tắc đệ quy 66
2.7.1 Chiến lược ngây thơ (Naive strategy): 66
2.7.2 Chiến lược bán ngây thơ ( Seminaive strategy): 70
2.8 Kết luận chương 74
KẾT LUẬN 75
TÀI LIỆU THAM KHẢO 76
Trang 5MỞ ĐẦU
Cơ sở dữ liệu quan hệ cho phép tiếp nhận, lưu trữ và xử lý một lượng
dữ liệu lớn Việc nghiên cứu cơ sở dữ liệu quan hệ đã đạt được nhiều thành công, có nhiều đóng góp lớn trong việc quản lý Tuy nhiên, ngoài việc tiếp nhận, lưu trữ và xử lý dữ liệu, người ta cần một loại cơ sở dữ liệu có khả năng suy luận ra các thông tin từ các dữ liệu được lưu giữ Cơ sở dữ liệu suy diễn đáp ứng được yêu cầu ấy Ngoài việc lưu trữ các thông tin một cách rõ ràng theo kiểu cơ sở dữ liệu quan hệ, cơ sở dữ liệu suy diễn còn lưu giữ các luật có khả năng suy diễn dựa trên các dữ liệu đã lưu
Cơ sở dữ liệu suy diễn là sản phẩm tự nhiên của lập trình logic, trong
đó logic toán được sử dụng cho các khái niệm tính toán mô hình trực tiếp
Kỹ thuật cơ sở dữ liệu suy diễn được ứng dụng nhiều trong các hệ hỗ trợ quyết định, và các hệ chuyên gia Cùng với các kỹ thuật phát triển cơ sở dữ liệu quan hệ, điều cơ bản này trong logic có nghĩa là cơ sở dữ liệu suy diễn
có khả năng lưu một lượng lớn thông tin cũng như việc thực hiện suy diễn trên các thông tin đó
Có rất nhiều lĩnh vực ứng dụng kỹ thuật cơ sở dữ liệu suy diễn, như hệ
hỗ trợ quyết định, các hệ chuyên gia Nó cho phép phân tích một lượng lớn các dữ liệu, đưa ra các suy luận cho tương lai
Việc nghiên cứu cơ sở dữ liệu suy diễn được thực hiện trên thế giới từ những năm 80 của thế kỷ trước, nhưng ở nước ta cho đến hiện nay vẫn còn rất ít những nghiên cứu về nó Việc tìm hiểu cơ sở về cơ sở dữ liệu suy diễn
và các ứng dụng của nó là một vấn đề có ý nghĩa lý thuyết và thực tiễn Với
lý do đó em chọn đề tài nghiên cứu luận văn là:
“ Nghiên cứu lý thuyết xây dựng cơ sở dữ liệu suy diễn và ngôn ngữ Datalog ”
Luận văn gồm hai chương:
Trang 6Chương 1: Logic và cơ sở dữ liệu
Trình bày các khái niệm cơ sở của logic bậc một – ngôn ngữ nền tảng
để biểu diễn một cơ sở dữ liệu logic, các tính toán bộ và tính toán miền là các hình thức hoá logic của các ngôn ngữ truy vấn các cơ sở dữ liệu quan hệ
Chương 2: Cơ sở dữ liệu suy diễn
Trình bày về ngôn ngữ các quy tắc trong cơ sở dữ liệu suy diễn, vấn đề phân chia hay tích hợp một động cơ suy diễn với một hệ quản trị cơ sở dữ liệu Chương này cũng trình bày về ngôn ngữ Datalog, cú pháp, ngữ nghĩa,
sự mở rộng của Datalog, vấn đề tính giá trị của các truy vấn Datalog cũng như vấn đề tính giá trị của các quy tắc đệ quy
Do việc nghiên cứu ở nước ta còn ít, việc tìm kiếm và tham khảo tài liệu có khó khăn và trình độ của em còn nhiều hạn chế nên chắc chắn luận văn còn nhiều thiếu sót Em rất mong được các thầy giáo và các bạn thông cảm và giúp đỡ để em có thể phát triển luận văn của mình hoàn thiện hơn, có nhiều ứng dụng thực tiễn hơn
Trang 7DANH MỤC CÁC THUẬT NGỮ
Thuật ngữ tiếng Anh Thuật ngữ tiếng Việt Viết tắt Database Cơ sở dữ liệu CSDL First-order logic Logic bậc một
Predicate dependency graph Đồ thị phụ thuộc vị từ
Domain of discourse Miền thảo luận
Domain relational calculus Tính toán quan hệ miền
Tuple relational calculus Tính toán quan hệ bộ
literal trực trị
Extensional DataBase Cơ sở dữ liệu mở rộng EDB Intensional Database Cơ sở dữ liệu mục đích IDB Closed world assumption Giả thuyết thế giới đóng
DataBase Management
System Hệ quản trị cơ sở dữ liệu DBMS
Trang 8CÁC HÌNH VẼ
Hình 1.1 27
Hình 2.1 32
Hình 2.2 33
Hình 2.3 35
Hình 2.4 36
Hình 2.5 44
Hình 2.6 61
Hình 2.7 65
Hình 2.8 69
Trang 9CHƯƠNG I: LOGIC VÀ CƠ SỞ DỮ LIỆU
1.1 Mở đầu
Về lịch sử, các nhà nghiên cứu đã cố gắng mô hình hoá các ngôn ngữ truy vấn cơ sở dữ liệu thông qua logic Các tính toán quan hệ được sinh ra như vậy là các ngôn ngữ truy vấn dựa trên logic bậc một Từ cuối những năm 70 người ta đã tìm cách hiểu một cách toàn cục về các cơ sở dữ liệu thông qua logic Điều đó cho phép chỉ ra rằng một hệ quản trị cơ sở dữ liệu
là một chứng minh của các lý thuyết rất cụ thể, lý luận trên các sự kiện (fact) và cho các chứng minh của lý thuyết biểu diễn câu hỏi
Các công trình ban đầu trong các hệ quản trị cơ sở dữ liệu suy luận bao gồm không chỉ là các sự kiện mà còn bao gồm cả các quy tắc (rule) suy diễn được diễn đạt theo logic bậc một xuất hiện ở CERT (Toulouse) vào cuối thập kỷ 70-80 Các công trình này tập trung vào việc hiểu các cơ sở dữ liệu suy diễn thông qua logic Để cho phép quản trị các cơ sở kiến thức lớn ( hàng nghìn luật kết hợp với hàng triệu hàng tỷ sự kiện), các vấn đề nghiên cứu đầy đủ đã được giải quyết Các vấn đề này nằm ở giao điểm của các cơ
sở dữ liệu và trí tuệ nhân tạo và biểu thị các khía cạnh vừa lý thuyết, vừa thực tiễn Từ quan điểm lý thuyết, các tiếp cận thông qua logic cho phép hiểu tốt hơn các ngôn ngữ của hệ quản trị cơ sở dữ liệu, các cơ cấ u lý luận ở dưới và các kỹ thuật tối ưu Từ quan điểm thực tiễn, sự phát triển của hệ quản trị cơ sở dữ liệu dựa trên logic hỗ trợ sự suy diễn dẫn đến các nguyên mẫu thao tác
Chương này trước tiên trình bày nhập môn về các khái niệm cơ bản của logic cần thiết để hiểu tốt cơ sở dữ liệu Một cơ sở dữ liệu logic được xem như là một thể hiện của một ngôn ngữ logic Đó là một tập hợp các sự kiện được liệt kê trong các bảng Chương này cũng trình bày các ngôn ngữ logic truy vấn các cơ sở dữ liệu, đó là các tính toán miền và bộ Chung là một sự hình thức hoá các ngôn ngữ của các cơ sở dữ liệu quan hệ
Trang 101.2 Logic bậc một
1.2.1 Cú pháp của logic bậc một
Logic bậc một ( first-order logic), còn đƣợc gọi là phép tính vị từ, nó đóng vai trò quan trọng trong việc biểu diễn tri thức, là một ngôn ngữ hình thức đƣợc sử dụng để biểu diễn các thuộc tính của các đối tƣợng, quan hệ giữa các đối tƣợng và để suy diễn các quan hệ mới từ các quan hệ đã biết
Nó cũng có thể đƣợc xem nhƣ một hình thức đƣợc sử dụng để dịch các câu
và suy diễn ra các câu mới từ các câu đã biết
Logic bậc một dựa trên một bảng ký tự sử dụng các ký hiệu sau:
g Các dấu mở ngoặc „(„ và đóng ngoặc „)‟
Các quy tắc cú pháp đơn giản cho phép xây dựng các công thức Một hạng (term) đƣợc định nghĩa một cách đệ quy nhƣ là một biến, một hằng hoặc là kết quả của việc áp dụng một hàm vào một hạng
Ví dụ1.1: Cho x là một biến, a là một hằng, f là một hàm thì x, a, f(x) và f(f(x)) là các hạng
Một công thức tốt (WFF-Well Formed Formular) của một phép tính vị từ
là bất kỳ công thức nào bao gồm các lƣợng từ đƣợc kết hợp bởi các toán tử kết nối logic và các định lƣợng logic đƣợc kết hợp với tên biến, theo qui tắc:
Trang 11a Nếu P là một vị từ có n đối, và t1, t2,…., tn là các hạng thìP(t1,t2,….,tn) là một công thức nguyên tử
b Nếu F1, F2 là các công thức, khi đó F1 F2, F1F2, F1F2, F1F2 và F2là các công thức
c Nếu F là một công thức và xlà một biến không bị ràng buộc bởi các định lượng (được gọi là biến tự do) trong F, khi đó x F và x F
là các công thức
Để chỉ ra mức ưu tiên giữa các phép kết nối logic, có thể sử dụng các dấu ngoặc: Nếu F là một công thức đúng thì (F) cũng đúng Để tránh các dấu ngoặc trong một số trường hợp đơn giản, ta sử dụng mức ưu tiên của các phép toán logic theo thứ tự giảm dần như sau: , , ,
Ví dụ 1.2: Dưới đây là một số ví dụ về công thức hình thức:
Ví dụ 1.3: Dưới đây là các ví dụ về công thức gần với ngôn ngữ tự nhiên:
PHONG(Tinhoc, Nam) NGUOILAM(Tinhoc, Mai)
x(LANHDAO(Nam,x) NGUOILAM(Tinhoc,x)
NGUOILAM(Taichinh,x))
Trang 12xy(( LANHDAO(x,y) LANHDAO(y,x) CUNGPHONG(x,y)
1.2.2 Ngữ nghĩa của logic vị từ bậc một
Nói đến ngữ nghĩa của logic vị từ bậc một là chúng ta nói đến ý nghĩa của các công thức trong một thế giới thực nào đó mà ta gọi là một minh họa Một công thức có thể được giải thích như là một câu trên một tập hợp các đối tượng: có khả năng cho nó một ý nghĩa đối với tập hợp đối tượng này Để thực hiện được điều đó cần phải gán một đối tượng cụ thể với mỗi hằng hay mỗi ký hiệu hằng sẽ được gắn với một đối tượng cụ thể trong tập hợp các đối tượng Ví dụ, ta gán một đối tượng là phòng tin học của một công ty với hằng Tinhọc, nhân viên Mai gán với hằng Mai,v v
Tập hợp các đối tượng được xem xét được gọi là miền thảo luận; nó
được ký hiệu là D Mỗi hàm với n đối được giải thích như là một hàm từ Dn
vào D Một vị từ biểu diễn một quan hệ cụ thể giữa các đối tượng của D, nó
có thể nhận giá trị đúng hoặc sai Định nghĩa quan hệ này trở thành định nghĩa các bộ đối tượng thoả mãn vị từ Tập hợp các bộ thoả mãn vị từ tạo
thành mở rộng của nó
Khái niệm 1.1: Miền thảo luận ( Domain of Discourse)
Miền thảo luận là tập hợp các đối tượng mà trên đó một công thức logic nhận giá trị thông qua việc minh hoạ các hằng như là các đối tượng
cụ thể, các biến như là các đối tượng nào đó, các vị từ như là các quan hệ giữa các đối tượng và các hàm như là các hàm cụ thể giữa các đối tượng
Ví dụ 1.4 : Công thức :
xy((LANHDAO(x,y) LANHDAO(y,x) CUNGPHONG(x,y))
có thể được minh họa trên tập hợp người { Nam, Trung, Mai}, tạo ra một miền thảo luận LANHDAO có thể được giải thích như là một quan hệ hai ngôi “Là sếp của”; CUNGPHONGcó thể được giải thích như là một quan hệ
Trang 13hai ngôi “ làm việc cùng phòng” Công thức là đúng nếu Nam, Trung và Mai làm việc cùng một phòng
Ví dụ 1.5 : Công thức x(x SUCC(x)) cho một miền thảo luận là vô hạn đối với minh hoạ của nó Thật vậy, công thức này có thể được minh hoạ trên tập hợp các số nguyên dương {1, 2, 3, ….}, là vô hạn Khi đó
„<‟ là quan hệ “là nhỏ hơn” và SUCC là hàm liên kết với mọi số nguyên tiếp theo sau của nó Do đó, công thức này đúng trên các số nguyên
Như vậy, cho trước một minh hoạ của một công thức trên một miền thảo luận, có thể liên kết một giá trị chân lý với một công thức Để tránh sự mập mờ (các công thức có thể có nhiều giá trị chân lý), chúng ta chỉ xem xét các công thức trong đó mọi biến đều bị ràng buộc bởi các định lượng, gọi là các công thức đóng Mọi công thức đóng F có một có một giá trị chân lý duy nhất đối với một dữ liệu minh hoạ trên một miền thảo luận D
Giá trị đó được ký hiệu là V(F)và tính toán như sau:
Một mô hình của một công thức logic là một minh hoạ trên một miền thảo luận mà miền đó làm cho công thức đúng Với ví dụ 1.5, các số nguyên là một mô hình đối với công thức x(x<SUCC(x)) với minh họa được chỉ ra như trên Thật vậy, bằng việc các quy tắc ở trên, ta tính:
V(x(x<SUCC(x)))= V(1<2) V(2<3) V(3<4) = TRUE
Trang 141.2.3 Các dạng mệnh đề của các công thức đóng
Mọi công thức đóng, nghĩa là với các biến định lượng, có thể làm đơn giản và được viết dưới dạng chính tắc không có các lượng hoá được gọi là dạng mệnh đề Dạng mệnh đề cần được viết công thức như là một tập hợp các mệnh đề
Khái niệm 1.2 Mệnh đề (Clause)
Các công thức có dạng P1 P2 ….Pn Q1 Q2 … Qn, trong
đó Pi và Qj là các trực trị dương ( nghĩa là các vị từ nguyên tử không có dấu phủ định ở trước) được gọi là mệnh đề
Khái niệm 1.3 Mệnh đề Horn ( Horn clause)
Một mệnh đề chỉ có một trực trị nằm sau dấu kéo theo (ta nói là đầu của mệnh đề) nghĩa là chỉ một Qi được gọi là mệnh đề Horn:
LANHDAO(x,y) CUNGPHONG(x,y) YEU(x,y)
Hai công thức A và B được coi là tương đương ( ký hiệu A B ) nếu chúng có cùng một giá trị chân lý trong mọi minh họa, ta có cá c công thức tương đương sau đây:
Trang 15o A B A v B
o A B (A B) (B A)
o (A) A Luật De Morgan:
o (A v B) A B
o (A B) A v B Luật giao hoán :
o A v B B v A
o A B B A Luật kết hợp:
o (A v B) v C Av( B v C)
o (A B) C A ( B C) Luật phân phối:
o A (B v C) (A B ) v (A C)
o A v (B C) (A v B ) (A v C)
Sử dụng các phép biến đổi tương đương ta có thể chuyển đổi một công thức đóng sang dạng một mệnh đề Việc thực hiện được tiến hành bằng cách chuyển đổi liên tiếp như sẽ được mô tả sau đây , luận văn minh hoạ các chuyển đổi với công thức:
xy((LANHDAO(x,y) LANHDAO(y,x) CUNGPHONG(x,y))
a Loại bỏ phép kéo theo: Điều đó được thực hiện một cách đơn giản bằng việc thay tất cả các biểu thức có dạng AB bằng AB Thật vậy, các biểu thức này là tương đương theo quan điểm logic Công thức được chọn trở thành:
xy((LANHDAO(x,y) LANHDAO(y,x)) CUNGPHONG(x,y))
b Làm giảm tầm các phủ định. Mục đích là làm cho các phủ định được áp dụng trực tiếp với các vị từ nguyên tử Để làm điều đó, người ta sử dụng theo cách lặp các chuyển đổi:
Trang 16xy((LANHDAO(x,y) LANHDAO(y,x)) CUNGPHONG(x,y))
c Đặt các dấu lượng từ cùng với biến định lượng lên đầu công thức.
Bước này có thể đặt lại tên các biến để tránh nhầm sự lượng hoá Ta có các công thức tương đương sau đây:
Ví dụ trên không thay đổi
d Loại bỏ các dấu lượng hoá Để đơn giản hơn nữa, các biến định lượng đang tồn tại được thay thế bằng một tham số hằng gọi là hằng Skolem Thật vậy, nếu tồn tại x thoả mãn một công thức, có thể chọn một hằng s ký hiệu giá trị này của x Nếu một biến được định lượng “với mọi” xuất hiện trước biến được định lượng “tồn tại”, hằng được chọn phụ thuộc vào biến thứ nhất
Ví dụ, trong trường hợp xy(với mọi x, tồn tại y, nhưng y phụ thuộc vào x) ta thay thế y bằng s(x), nghĩa là một hàm Skolem cụ thể hoá hằng y phụ thuộc vào x Như vậy có khả năng loại bỏ các biến định
Trang 17lượng bởi “tồn tại” Sau biến đổi này, mọi biến còn lại được định lượng bởi “với mọi” Ta có thể không cần viết các dấu lượng hoá (nghĩa là ngần định các biến đều buộc với lượng tử )
Ví dụ trên trở thành:
(LANHDAO(x,s(x)) LANHDAO(s(x),x)) CUNGPHONG(x,s(x))
e Viết dưới dạng chuẩn hội Công thức còn lại là một tổ hợp với các kết nối “hoặc” và “và” của các trực trị âm hoặc dương (các vị từ nguyên tử
có dấu phủ định đi trước hay không) Nó có thể được viết như là một phép hội () của các phép tuyển () bằng cách phân phối các “và” đối với các
âm trước tiên bằng cách loại bỏ dấu phủ định và bằng cách nối chúng bằng
, sau đó viết các vị từ dương được nối bằng Như vậy ta nhận được một dãy các mệnh đề, được định nghĩa như trên
Với công thức đã cho, ta nhận được hai mệnh đề (thậm chí là mệnh đề Horn):
LANHDAO(x,s(x)) CUNGPHONG(x,s(x))
LANHDAO(s(x),x)) CUNGPHONG(x,s(x))
Trang 181.3 Cơ sở dữ liệu logic
Khái niệm cơ sở dữ liệu logic được đưa ra ở Toulouse vào cuối thập kỷ
70 Ta định nghĩa ở đây cơ sở dữ liệu logic không suy diễn Đó là tiếp cận đơn giản đầu tiên các cơ sở dữ liệu thông qua logic Trong chương sau cách tiếp cận này có thể được mở rộng với sự suy diễn
1.3.1 Biểu diễn các sự kiện
Một cơ sở dữ liệu có thể được định nghĩa như là một sự giải thích (một minh hoạ) của một ngôn ngữ logic bậc một Trong thực tế, việc định nghĩa sự giải thích bao gồm việc định nghĩa các vị từ đúng Một ràng buộc toàn vẹn có thể được xem như một truy vấn luôn luôn đúng, và được biểu thị cùng với ngôn ngữ Ngôn ngữ cho phép biểu thị các truy vấn như vậy sẽ được trình bày dưới đây
Khái niệm 1.4: Cơ sở dữ liệu logic (Logic Database)
Cơ sở dữ liệu logic là tập hợp các sự kiện bao gồm sự giải thích của một ngôn ngữ bậc một cùng với nó có thể diễn đạt các truy vấn và các ràng buộc toàn vẹn trên các sự kiện
Trong tiếp cận đầu tiên, ngôn ngữ logic L không chứa các hàm Cụ thể hơn, L bao gồm:
a Các vị từ với n đối, mỗi đối tương ứng với một ki ểu dữ liệu cơ bản
b Các hằng, mỗi hàng với một giá trị có thể của các kiểu dữ liệu cơ bản
Giống như trong mọi minh hoạ của một ngôn ngữ logic, một vị từ biểu diễn một quan hệ cụ thể giữa các đối tượng của miền thảo luận, nó có thể đúng hoặc sai Ở đây các đối tượng của miền thảo luận là các giá trị có thể
có của cơ sở Định nghĩa quan hệ này trở thành định nghĩa các bản ghi hoặc các n-bộ thoả mãn vị từ Tập hợp các n-bộ thoả mãn vị từ tạo nên mở rộng của nó Sự mở rộng này có thể tương tự với một file trong một cơ sở mạng hoặc với một bảng quan hệ như chúng ta sẽ thấy về sau Để trở nên gắn bó
Trang 19chặt chẽ với các cơ sở dữ liệu quan hệ mà chúng có thể nhận biết như sự giải thích (minh hoạ) đơn giản của các cơ sở dữ liệu logic, chúng ta gọi sự mở rộng của một vị từ là một bảng Mỗi một cột tương ứng với một đối và cũng được gọi là thuộc tính trong ngữ cảnh quan hệ
Như đã nói, một cơ sở dữ liệu logic có thể được bổ sung bởi các quy tắc suy diễn, khi đó nó được gọi là cơ sở dữ liệu suy diễn
Ví dụ 1.8 mô tả một cơ sở dữ liệu logic Trong thuật ngữ bảng, nó tương ứng với cơ sở được biểu diễn ở ví dụ1.9, bao gồm ba vị từ được định nghĩa như sau:
- SANPHAM với các thuộc tính Mã sản phẩm (MaSP), tên sản phẩm(TenSP), Số lượng trong kho (SL)và màu (MAU)
- BAN với các thuộc tính Mã số bán (MaB), tên khách hàng(TenKH), mã số của sản phẩm bán (MaSPB) số lượng sản phẩm bán(SLB)và ngày ban (NGB)
- MUA với các thuộc tính Mã số mua (MaM), ngày mua (NGM), mã
số của sản phẩm mua (MaSPM), số lượng sản phẩm mua (SLM), tên nhà cung cấp (TenNCC)
Như vậy, trên đây là các sự kiện dương, nghĩa là những đối tượng thoả
mãn một trong ba vị từ, được ghi vào cơ sở Điều này tạo nên giả thuyết thế giới đóng Các sự kiện không được ghi vào trong một mở rộng của vị từ
được giả thiết là sai
Ví dụ 1.8: Các sự kiện tạo nên một cơ sở dữ liệu logic
SANPHAM(100, BUTBI, 100, XANH) SANPHAM(200, BUPBE, 50, ĐO) SANPHAM(300, ÔTÔ , 70, VANG) SANPHAM(400, BÌA, 350, TIM) BAN(1, BAC, 100, 30, 08-03-1999)
Trang 20BAN(2, NAM, 200, 10, 07-01-1999) BAN(3, DONG, 100, 50, 01-01-2000) BAN(4, DONG, 300, 50, 01-01-2000) MUA(1, 01-03-1999, 100,70, TAY) MUA(2, 01-03-1999, 200, 100, TAY) MUA(3, 01-09-1999, 100, 50, THIEN) MUA(4, 01-09-1999), 300, 50, THIEN)
Ví dụ 1.9: Các bảng biểu diễn một cơ sở dữ liệu logic:
Trang 211.3.2 Các truy vấn và các ràng buộc toàn vẹn
Các truy vấn và các ràng buộc toàn vẹn trên cơ sở khi đó có thể được diễn đạt như các công thức trong ngôn ngữ logic Tuy nhiên, chúng cần được
mở rộng để chứa các dấu của các phép toán so sánh số học {, , , ,
, } giống như các vị từ đặc biệt mà giá trị chân lý của chúng được tính toán thông qua các phép toán thông thường của máy tính
Trả lời cho một câu hỏi F(x1,x2,….,xn) trong đó x1,x2,…,xn là các biến tự do trong công thức F là tập hợp các n-bộ <e1,e2,….,en> sao choF(e1,e2,…,en) là đúng Một số các công thức phải luôn luôn đúng trên minh họa tạo nên cơ sở: đó là các ràng buộc toàn vẹn Khung nhìn logic của các cơ sở dữ liệu này sinh ra hai tính toán cho phép diễn đạt các truy vấn và các ràng buộc toàn vẹn trên các cơ sở: Tính toán miền và tính toán bộ Trong tính toán miền, các đối tượng của thể hiện logic là các giá trị nguyên tử của
dữ liệu; trong tính toán bộ, đó là các sự kiện phức hợp tương ứng với các n-bộ (hay các bộ) Luận văn xin trình bày các tính toán này dưới đây
1.4 Tính toán miền
Các tính toán quan hệ của miền và bộ cho phép diễn đạt các truy vấn nhờ các công thức của logic bậc một trên một cơ sở dữ liệu logic hoặc biểu diễn bảng của nó là một cơ sở dữ liệu quan hệ Chúng được sử dụng đ ể hình thức hoá các ngôn ngữ truy vấn đối với các cơ sở dữ liệu quan hệ
Trang 22hoặc một hằng được sử dụng như là một đối của vị từ; như vậy các biến được định kiểu theo kiểu của đối mà chúng xuất hiện đối với nó
b Các vị từ so sánh giữa một biến và một hằng hoặc giữa hai biến được xây dựng nhờ các dấu toán tử { , , , , , }
Một truy vấn trong tính toán quan hệ của miền được viết dưới dạng sau:
F là một công thức logic được lập nên từ các vị từ mở rộng và vị từ so sánh; các biến kết quả x, y,… là các biến tự do trong F
Khái niệm sau đây tổng kết định nghĩa của tính toán miền:
Khái niệm 1.5: Tính toán quan hệ miền (Domain relational calculus)
Ngôn ngữ truy vấn dữ liệu hình thức cho phép diễn đạt các truy vấn từ các công thức thiết lập tốt mà mỗi biến của nó được giải thích ( minh họa) như sự biến đổi trên miền của một đối của một vị từ
1.4.2 Một số ví dụ về tính miền
Luận văn minh hoạ tính toán miền trên cơ sở logic được đưa ra ở trên, mô tả việc mua và bán các sản phẩm trong một cửa hàng Lược đồ của
cơ sở như sau:
SANPHAM(MaSP, TenSP, SL, MAU)
BAN(MaB, TenKH, MaSPB, SLB, NGB)
MUA(MaM, NGM, MaSPM, SLM, TenNCC)
o (Q1) Cho danh sách các tên và màu của tất cả các sản phẩm: {(p,c)|SANPHAM(_, p, _, c)}
o (Q2) Cho tên và số lượng trong kho của các sản phẩm có màu đỏ:
Trang 23{(f,c,p)|nq(SANPHAM(n,p,q,”DO”) MUA(_,_,n,_, f) BAN(_,c,n,_,_ )(q >100))}
o (Q5) Đƣa ra tên của các khách hàng đã mua ít nhất là một sản phẩm có màu xanh:
{(c)|n(BAN(_,c,n,_,_) SANPHAM(n,_,_, “ XANH” ))}
o (Q6) Đƣa ra tên của các khách hàng đã mua mọi sản phẩm trong kho:
Trang 24biến bộ qua các chữ cái lớn X, Y, Z,… Tuy nhiên có thể trộn lẫn tính toán miền và tính toán bộ bằng cách vừa sử dụng biến bộ, vừa sử dụng biến miền
1.5.1 Nguyên tắc tính bộ
Các thuật ngữ được xem xét là các hằng liên kết với các n -bộ tạo nên các sự kiện, các hàm sinh ra các thuộc tính được ký hiệu qua tên của thuộc tính được áp dụng với một biến thông qua ký hiệu con trỏ (ví dụ, X.MAU)
Các vị từ được sử dụng là các vị từ tương ứng với các quan hệ mở rộng cũng như các vị từ so sánh { , , , , , } Các vị từ mở rộng cho phép định nghĩa phạm vi của một biến trên một bảng R thông qua một công thức nguyên tử kiểu R(X), Xlà một biến bộ và R là một bảng
Phần tử cơ bản làm khác biệt tính toán bộ đối với tính toán miền là sự kết hợp với các biến bộ của các mở rộng của các vị từ chứ không p hải là các giá trị của miền giống như tính toán miền Ta định nghĩa chính xác hơn về tính toán bộ như sau:
Khái niệm 1.6 Tính toán quan hệ bộ (Tuple relational calculus)
Ngôn ngữ truy vấn dữ liệu hình thức cho phép diễn đạt các truy vấn
từ các công thức thiết lập tốt mà các biến của nó được giải thích như là biến đổi trên các bộ của một bảng
1.5.2 Một số ví dụ về tính bộ
Chúng ta diễn đạt trong tính toán quan hệ bộ các truy vấn được biểu thị dưới đây trong tính toán miền trên cơ sở dữ liệu sản phẩm
o (Q1) Đưa ra danh sách tên và màu của các sản phẩm:
{(S.TenSP, S.MAU) | SANPHAM(S) }
Trang 25o (Q2) Đƣa ra tên và số lƣợng trong kho chứa của các sản phẩm
có màu đỏ:
{(S.TenSP, S.SL) | SANPHAM (S) S.MAU = “DO” }
o (Q3) Đƣa ra đối với mỗi sản phẩm trong kho chứa, tên của nhà cung cấp liên quan:
{(S.TenSP, M.TenNCC) | SANPHAM(S) MUA(M)
S MaSP = M.MaSPM )
o (Q4) Đƣa ra, với mỗi sản phẩm trong kho chứa có số lƣợng
>100 và có màu đỏ, các cặp tên của nhà cung cấp đã bán kiểu sản phẩm này và tên của khách hàng đã mua kiểu sản phẩm này cùng với tên của sản phẩm:
{(S.TenSP, M.TenNCC, B.TenKH) | SANPHAM(S) MUA(M) BAN(B) S.SL>100 S.MAU = “DO” S.MaSP = B MaSPB S MaSP = M.MaSPM }
o (Q5) Đƣa ra các tên của các khách hàng đã mua ít nhất một sản phẩm có màu xanh:
{( B.TenKH) | BAN(B) S (SANPHAM(S)
B MaSPB = S.MaSP S.MAU = “XANH”}
o (Q6) Đƣa ra tên của các khách hàng đã mua tất cả các sản phẩm trong kho:
{(B1.TenKH) | BAN(B1) S (SANPHAM(S) (B2 (BAN (B2) B2.MaSPB = S MaSP B2 TenKH = B1.TenKH))}
o (Q7) Đƣa ra tên của tất cả các sản phẩm đƣợc cung cấp bởi mọi nhà cung cấp và đƣợc ít nhất một khách hàng mua :
Trang 26{(S.TenSP) | SANPHAM(S) (M1 (MUA(M1) (M2(MUA(M2) M2.TenNCC = M1.TenNCC M2.MaSPM
= S.MaSP))) (B (BAN(B) B.MaSPB = S.MaSP))} Các truy vấn Q6 và Q7 minh hoạ khó khăn của việc sử dụng các dấu lượng từ “với mọi” và “có tồn tại” Nói chung, các biến xuất hiện trong câu trả lời phải là tự do trong điều kiện Các lượng từ “có tồn tại” chỉ được sử dụng bên trong các lượng từ hoá “ với mọi”
1.6 Các kỹ thuật suy diễn
Logic cho phép thực hiện suy diễn Sự suy diễn, nguyên lý của trí tuệ, cho phép chứng minh các định lý xuất phát từ các tiên đề Các hệ cơ sở
dữ liệu suy diễn được dựa trên sự suy diễn Trong phần này, luận văn nhắc lại các nguyên lý cơ bản của các kỹ thuật suy diễn Các kết quả này sẽ được
sử dụng trong chương sau:
1.6.1 Nguyên lý của một thuật toán suy diễn
Một thuật toán suy diễn là một thủ tục để chứng minh một công thức
T từ một tập hợp các công thức {A1,A2,….,An} - được biết như là các công thức đúng T là định lý cần chứng minh, A1,A2,…An là các tiên đề Việc tồn tại một chứng minh của Txuất phát từ A1,A2,…,Anđược ký hiệu một cách hình thức:
{A1,A2,….,An} |== T
Khái niệm 1.7 Suy diễn (Deduction)
Thủ tục cho phép chứng minh một định lý xuất phát từ một tập hợp các tiên đề được biết như là đúng trên tất cả miền thảo luận được xét
Ví dụ, xuất phát từ các tiên đề:
LANHDAO(nam,mai), LANHDAO(mai,lan)
Trang 27x,y,z(LANHDAO(x,y) LANHDAO(y,z) LANHDAO(x,z))
Ta muốn chứng minh định lý LANHDAO(nam, lan)
Để chứng minh một định lý, một thuật toán suy diễn bắt đầu từ các tiên
đề suy dẫn ra một chuỗi các công thức mà định lý là công thức cuối cùng bằng cách sử dụng các quy tắc (luật) suy diễn Một quy tắc suy diễn là một quy tắc cho phép tạo ra một công thức xuất phát từ hai hay nhiều hơn các công thức Một quy tắc suy diễn đúng đắn cho phép tạo ra một công thức có hiệu lực (TRUE trên miền các thảo luận được xét) từ các công thức có hiệu lực
Ta có các quy tắc suy diễn như sau :
o Modun ponen : Cho phép tạo ra Ptừ hai công thức F và F P.Một cách trực quan, điều đó có nghĩa là nếu F và F P đã được chứng minh, thì P cũng được chứng minh Quy tắc được viết một cách hình thức như sau:
F, F P
P
o Chuyên biệt hoá: Cho phép sinh ra F(a) từ công thức x F(x) Một cách trực quan, điều này có nghĩa là nếu F(x) được chứng minh với mọi giá trị của x , thì F(a) được chứng minh Quy tắc được viết một cách hình thức như sau:
F(a)
o Quy tắc Modus Tollens: Tương tự, ta có công thức P được
chứng minh từ hai công thức P F và F:
P
Trang 28o Quy tắc bắc cầu: Ta có công thức P F được chứng minh từ hai công thức P E và E F :
o Quy tắc giải : Ta có công thức P F được chứng minh từ hai công thức P E và E F :
P E, E F
P F
Có tồn tại một quy tắc suy diễn tổng quát cho các công thức của logic bậc một dưới dạng mệnh đề Quy tắc này sinh ra bằng cách áp dụng đệ quy tất cả các công thức có thể được suy diễn từ hai tiên đề dưới dạng các mệnh
đề Đó là quy tắc suy diễn của Robinson, dựa trên thuật toán hợp nhất cho phép so sánh hai công thức nguyên tử
Trang 29
1.6.2 Thuật toán hợp
Khả năng quyết định có phải hai công thức nguyên tử có thể được đồng nhất thông qua việc thay thế các tham số là trung tâm ở đa số các phương pháp suy diễn Một sự hợp nhất hai công thức nguyên tử bao gồm việc làm cho chúng đồng nhất thông qua việc thay thế các biến trong một công thức bằng các hạng của công thức khác
Khái niệm 1.8 Đồng nhất (unification)
Đồng nhất là việc thay thế các biến trong một công thức nguyên tử bằng các hạng ( các hằng, các biến khác, các hàm áp dụng vào các hằng hoặc các biến) theo cách làm nó đồng nhất với một công thức nguyên tử khác
Hai công thức nguyên tử L1(t1,t2,…,tn) và T2 (s1,s2,…,sn) không phải luôn luôn đồng nhất được Một thuật toán đồng nhất quyết định
có phải hai công thức có thể đồng nhất được hay không bằng cách thay thế biến có hiệu lực (đặt lại tên hoặc gán giá trị) Thuật toán như vậy trả về:
o THÀNH CÔNG và một phép thay thế biến nhỏ nhất nếu hai công thức có thể được đồng nhất bằng cách áp dụng phép thay thế;
o THẤT BẠI nếu không có khả năng làm chúng đồng nhất bằng cách thay thể các hạng duy nhất vào các biến
Trang 30Hơn nữa, bằng một phép thế s, L1 và L2 là đồng nhất được (ta ký hiệu L1[s] = L2[s]) Quy tắc Robinson cho phép suy diễn mệnh đềF1[s] F2[s]; mệnh đề mới này nhận được bằng phép tuyển của F1 và F2 và áp dụng phép thế s được gọi là giải từ C1 và C2 Một cách hình thức, quy tắc Robinson được viết:
F1 L1, L2 F2, L1[s] = L2[s]
F1[s] F2[s]
Trong đó L2 F2cũng có thể được viết là L2 F2, sau đó bằng cách thay thế “ “ bằng dấu cộng và dấu phủ định bằng dấu trừ, ta nhận được:
Tổng kết lại, phương pháp tiến hành như sau:
a Đặt các tiên đề và phủ định của định lý (T) dưới dạng các mệnh
đề
Trang 31b Thêm vào một cách đệ quy các giải thức mà ta có thể nhận được bằng việc áp dụng quy tắc suy diễn của Robinson vào tập hợp các mệnh đề cho đến khi nhận được mệnh đề rỗng.
Mệnh đề rỗng (tất cả bị huỷ bỏ) không bao giờ được thoả mãn (mô hình của nó là trống); tiếp theo, đó là các tiên đề mâu thuẫn với phủ định của định
lý Như vậy, định lý được chứng minh Người ta đã chứng minh rằng nếu một chứng minh của định lý tồn tại, phương pháp giải kết thúc và tìm ra chứng minh Nếu không có chứng minh nào tồn tại, phương pháp có thể tự mất trong các miền vô hạn và lặp Logic bậc một là bán quyết định được
Chúng ta minh hoạ phương pháp qua một cây chứng minh (hình 1 1) Giả thiết cần chứng minh định lý LANHDAO(nam,lan) từ các tiên đề không mâu thuẫn:
(A’3) LANHDAO(x,y) LANHDAO(y,z) LANHDAO(x,z)
Nó còn được viết :
(A’’3) LANHDAO(x,y) LANHDAO(y,z) LANHDAO(x,z) Cây chứng minh (còn được gọi là cây bác bỏ) được biểu diễn như ở hình 1.1 chỉ ra các hợp nhất và cộng liên tiếp các mệnh đề, nó dẫn đến mệnh
đề rỗng Như vậy nó cho phép thông qua việc áp dụng liên tiếp quy tắc suy diễn của Robinson (mỗi đỉnh không phải là đỉnh đầu của R xuất phát từ hai
Trang 32đỉnh đi trước N1 và N2 ) để rút ra giải thức rỗng và như vậy chứng minh rằng Nam là sếp của Lan
1.7 Kết luận
Trong chương này luận văn đã trình bày các khái niệm cơ sở của logic bậc một Một cơ sở dữ liệu có thể được xem như một minh họa của một ngôn ngữ logic Logic tạo nên một cơ sở tốt để hiểu các cơ sở dữ liệu, đặc biệt các cơ sở dữ liệu quan hệ Một cơ sở dữ liệu quan hệ là một tập hợp các bảng cho các mở rộng có hiệu lực của các vị từ Các tính toán bộ và tính toán miền là các hình thức hoá logic của các ngôn ngữ truy vấn các cơ sở dữ liệu quan hệ
LANHDAO(x,y) LANHDAO(y,z) LANHDAO(x,z) LANHDAO(nam,lan)
LANHDAO(mai, z) LANHDAO(nam,z) LANHDAO(mai,lan)
LANHDAO(nam,lan) LANHDAO(nam,lan)
Hình 1.1 Ví dụ về cây chứng minh
Trang 33CHƯƠNG II: CƠ SỞ DỮ LIỆU SUY DIỄN
2.1 Mở đầu
Từ khi khái niệm cơ sở dữ liệu suy diễn được biết đến, dưới sức ép của các ứng dụng tiềm năng, các nhà thiết kế hệ thống cố gắng đề xuất các thuật toán và các phương pháp hiệu quả để thực hiện các hệ quản trị cơ sở dữ liệu suy diễn xử lý một khối lượng lớn các sự kiện (các cơ sở dữ liệu cổ đ iển) và các quy tắc Mục tiêu là cung cấp một phương tiện có hiệu năng cao để giúp giải quyết các vấn đề được diễn đạt dưới dạng các truy vấn mà lời giải của
nó cần các khối lượng lớn các dữ liệu và các quy tắc Các ứng dụng tiềm năng rất nhiều Bên cạnh việc quản lý kinh điển hoặc dự báo, chúng ta có thể
kể ra ví dụ như giúp quyết định, y học, người máy,…và tổng quát hơn là các ứng dụng thuộc kiểu hệ thống chuyên gia cần các khối lượng dữ liệu lớn Người ta cũng đã nghĩ rằng việc viết các quy tắc tham chiếu các cơ sở dữ liệu lớn có thể thay thế lập trình kinh điển, ít nhất là đối với các ứng dụng quản lý Niềm hy vọng đó ít nhiều là chưa có khả năng thực hiện được, ít nhất là cho đến bây giờ
Chương này trình bày vấn đề đặt ra của các hệ quản trị cơ sở d ữ liệu suy diễn, sau đó trình bày ngôn ngữ chuẩn biểu diễn các quy tắc dựa trên các
cơ sở dữ liệu lớn, gọi là DATALOG Ngôn ngữ này cho phép các truy vấn
đệ quy Luận văn cũng trình bày về những mở rộng của ngôn ngữ DATALOG như: sự hỗ trợ các hàm, sự phủ định, các tập hợp Tiếp theo, đề cập đến các vấn đề thực hiện các câu hỏi trên các quan hệ suy diễn, đưa ra một số kỹ thuật biểu diễn các quy tắc bằng các đồ thị, và tập trung vào tính
đệ quy
2.2 Các vấn đề của hệ quản trị cơ sở dữ liệu suy diễn
Một hệ quản trị cơ sở dữ liệu suy diễn trước hết là một hệ quản trị cơ
sở dữ liệu Theo nghĩa đó nó phải có một ngôn ngữ mô tả dữ liệu cho phép
Trang 34định nghĩa các cấu trúc các vị từ của cơ sở B1, B2,….,Bn Ví dụ dưới
dạng các quan hệ và các ràng buộc toàn vẹn liên quan Nó cũng cung cấp
một ngôn ngữ truy vấn cho phép đưa ra các câu hỏi và thực hiện các cập
nhật Hai ngôn ngữ này có thể được tích hợp và có một cú pháp đúng đắn
cung cấp cho người dùng Trong số các ngôn ngữ, nó cho phép suy nghĩ
rằng SQL vẫn sẽ là một giao diện được hệ quản trị cơ sở dữ liệu suy diễn
cung cấp, nhất là trước sự cải tiến chuẩn hoá của nó
2.2.1 Ngôn ngữ quy tắc (luật)
Giao diện mới được hệ quản trị cơ sở dữ liệu suy diễn cung cấp trước
tiên là ngôn ngữ quy tắc
Khái niệm 2.1: Ngôn ngữ quy tắc (Rule Language)
Ngôn ngữ quy tắc là ngôn ngữ được sử dụng để định nghĩa các quan hệ
suy diễn tạo nên cơ sở mục tiêu (intensional) cho phép viết các chương trình
quy tắc theo kiểu <điều kiện> <hành động>
Như vậy ngôn ngữ quy tắc được sử dụng để chỉ rõ các phần điều kiện
và hành động của các quy tắc suy diễn Chính xác hơn, từ các B1, B2,….,Bn được định nghĩa trong cơ sở dữ liệu mở rộng (extensional),
ngôn ngữ suy diễn cho phép chỉ rõ việc xây dựng các vị từ phát sinh có thể
truy vấn được R1, R2 … qua các người dùng
Sự mở rộng là có khả năng bởi vì ngôn ngữ định nghĩa và thao tác các
tri thức sẽ tích hợp các chức năng sau đây:
1 Khả năng thực hiện các phép toán kinh điển của tính toán quan hệ
(hợp, chọn, chiếu, nối, trừ);
2 Hỗ trợ các tập hợp, bao gồm các hàm nhóm truyền thống của các
ngôn ngữ quan hệ kinh điển cũng như các thuộc tính đa trị
Trang 353 Sự đệ quy, nó cho phép định nghĩa một quan hệ suy diễn bằng hàm của chính nó
4 Sự phủ định, nó cho phép tham chiếu đến các sự kiện (dữ liệu) không tồn tại trong cơ sở
5 Các hàm số học và tổng quát hơn là các hàm do người dùng định nghĩa
6 Cập nhật các sự kiện thông qua các quy tắc
7 Sự modun hoá cùng với sự quản lý mức trừu tượng liên tiếp và quy tắc
siêu-Tóm lại, tất cả các tiện ích tồn tại trong các ngôn ngữ phát triển cơ sở
dữ liệu sẽ được tìm và đưa vào các ngôn ngữ quy tắc Mục tiêu khả thi là thay thế các ngôn ngữ này
2.2.2 Mắc nối hoặc tích hợp
Như chỉ ra ở hình 2.1, một hệ cơ sở dữ liệu suy diễn có thể được mô tả bởi hai thành phần: một là hệ quản trị CSDL suy diễn và một là CSDL suy diễn Trong CSDL suy diễn ta có cơ sở quy tắc hay IDB và cơ sở sự kiện hay EDB Mặt khác, hai thành phần xây dựng một hệ quản trị CSDL suy diễn: Một máy suy luận và một hệ quản trị CSDL (DBMS) Máy suy luận là một máy hoạt động được xây dựng bắt nguồn từ các quy tắc và các sự kiện được lưu trong cơ sở
Một cách đơn giản, một hệ CSDL suy diễn có thể được biểu diễn như hai tiến trình cơ sở có sự tương tác lẫn nhau thông qua một giao diện Tiến trình thứ nhất, máy suy luận sử dụng các luật, và gọi tiến trình thứ hai, hệ quản trị CSDL quyết định dữ liệu ( sự kiện ) gì phải được tìm tiếp theo để giải quyết vấn đề đã đưa ra Máy suy luận mang thông tin ẩn của IDB trong khi DBMS mang thông tin rõ của EDB
Trang 36Việc thiết kế hệ quản trị CSDL kéo theo vấn đề thiết kế cách máy suy luận kết hợp với DBMS
Việc thực hiện quản trị một cơ sở dữ liệu suy diễn cần tích hợp một máy suy luận vào một hệ quản trị cơ sở dữ liệu Máy này phải có khả năng thực hiện sự suy diễn cần thiết khi truy vấn, nhìn thấy sự cập nhật, các vị từ được suy diễn
Một chức năng tương tự đối với một hệ quản trị cơ sở dữ liệu suy diễn ,
nó có thể nhận được bằng cách mắc nối một máy suy luận với một hệ quản trị cơ sở dữ liệu Người ta phân biệt mắc nối yếu, ở đó người dùng nhìn thấy
cả hai thành phần và mắc nối mạnh, ở đó chỉ có ngôn ngữ quy tắc là được nhìn thấy Hình 2.2 minh hoạ tính mắc nối hay tích hợp Một hệ quản trị cơ
sở dữ liệu suy diễn thử thực hiện tích hợp mạnh bằng cách cung cấp một ngôn ngữ định nghĩa và thao tác các kiến thức tích hợp
Động cơ
Cơ sở dữ liệu (EDB)
Cơ sở quy tắc ( IDB)
?
CƠ SỞ DỮ LIỆU SUY DIỄN
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SUY DIỄN
Hình 2.1: Mô hình hệ cơ sở dữ liệu suy diễn
Trang 37và được cải tiến Một số tìm cách thực hiện hệ quản trị CSDL suy diễn từ
hệ quản trị CSDL đối tượng tích hợp cả hai hệ Tiếp theo cần phải đảm bảo
sự cố kết các dữ liệu và các quy tắc: vấn đề tích hợp mở rộng là rất quan trọng bởi vì có khả năng suy diễn bất kỳ cái gì từ một cơ sở dữ liệu tri thức (dữ liệu + quy tắc) không cố kết Cuối cũng cần phải trả lời câu hỏi theo cách có hiệu quả bằng cách thực hiện suy diễn từ các sự kiện và các quy tắc, không tạo ra các sự kiện không có lợi và rườm rà nhưng cũng không quên trả lời Vấn đề hiệu quả của cơ cấu suy diễn trong sự có mặt của một khối lớn các sự kiện và các quy tắc, thường là đệ quy, là một vấn đề khó khăn
2.2.3 Vị từ mở rộng và vị từ mục tiêu
Trong ngữ cảnh logic, một cơ sở dữ liệu được nhận biết như là một tập hợp các vị từ Việc nhập vào các vị từ mở rộng được cụ thể hoá trong cơ sở
dữ liệu Các vị từ mở rộng tương ứng với các quan hệ của mô hình quan hệ
Máy suy luận
Hệ QTCSDL
Hệ QTCSDL
Hệ QTCSDL Máy suy luận
Máy suy luận