Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
467,68 KB
Nội dung
1 Datalog- Ngôn ngữ luật cho các CSDL Hồ CẩmHà - ĐHSPHN 2 Hệ QTCSDL suy diễn Trướchết đólàmộthệ QTCSDL: có ngôn ngữ DDL, DML Đem cho người dùng mộtgiaodiện có ngôn ngữ luật, cho phép: từ các quan hệ cơ sở (lưutrữ trong CSDL cài đặt) suy diễnranhững quan hệ mới (CSDL tiềm ẩn) Hồ CẩmHà - ĐHSPHN 3 Các ngôn ngữ luật đốivới các CSDL Mộtngônngữ luậtphảilà tậphợpvàphi thủ tục dễ giao diệnvớimộthệ QTCSDL (dễ dàng được dịch thành mộtchương trình của đạisố quan hệ mở rộng) Hồ CẩmHà - ĐHSPHN 4 Datalog Là mộtngônngữ luật cho các CSDL, cho phép xác định các quan hệ suy diễnnhờ phép kéo theo đơngiản không có kí hiệuhàm Có thể xem đólàmộtbiếndạng của Prolog với mộtngữ nghĩatậphợp(kếtquả củamột chương trình không phụ thuộcvàothứ tự các câu) Hồ CẩmHà - ĐHSPHN 5 Datalog Các mở rộng: • Đưathêmkíhiệuhàmvàotrongđốicủacáctântừ DATALOG func • Thêm phép phủđịnh DATALOG neg •Cậpnhậttường minh trong mộtluậtDATALOG maj • Đưavàonhững điềukiệntổng quát chứacácphéphội, tuyển, phủ định (phi Horn) DATALOG non Hồ CẩmHà - ĐHSPHN 6 Datalog (cú pháp) Bảng chữđượcdùnggồmcáckíhiệu: hằng a, b, c, biến x, y, z, các tân từ quan hệ P, Q, R, các tân từ so sánh =, <, >, các liên kếtlogic v, ∧, ¬, →, ⇔ Hạng thức: hằng hay biến Công thức nguyên tố: Literal dương P(t 1 , t 2 , t n ) Công thức nguyên tố cá biệt (đượclàmcábiệt): công thức nguyên tố không chứabiến Hồ CẩmHà - ĐHSPHN 7 Datalog (cú pháp) Luật: biểuthứccódạng Q ← P 1 , P 2 , , P n Đầuluật Q là công thứcnguyêntố (kếtluận) thân luật P 1 , P 2 , , P n là các tân từ (tiền đề hay điềukiện) mỗi P i gọilàmột đích con Luật đượcgọilàđệ qui nếutântừ của đầuluậtcũng xuấthiện trong thân luật Hồ CẩmHà - ĐHSPHN 8 Datalog (ví dụ về các luật) hằng: Hùng, Dũng, Mai, Thanh, các literal cá biệtcòngọilàcácsự kiện: BO(Hùng, Dũng) ← MẸ(Mai, Dũng) ← Các luậtkhác: CHAMẸ(x,y) ← BO(x,y) CHAMẸ(x,y) ← MẸ(x,y) ONG(x,z) ← BO(x,y), CHAMẸ(y,z) TOTIEN(x,y) ← CHAMẸ(x,y) TOTIEN(x,z) ← TOTIEN(x,y), CHAMẸ(y,z) ANHEMHO(x,y) ← TOTIEN(z,x), TOTIEN(z,y) Hồ CẩmHà - ĐHSPHN 9 Datalog Mộtchương trình DATALOG là mộttập các luật(thứ tự các luật không quan trọng} DATALOG cho phép người dùng phản ánh các luật và các sự kiện CSDL logic = CSDL cài đặt+ CSDL tiềm ẩn (viếtbằng DATALOG) Hồ CẩmHà - ĐHSPHN 10 Ngữ nghĩacủachương trình DATALOG ¾ Ngữ nghĩacủamộtchương trình DATALOG là cái mà chương trình đó tính được: Phương pháp khai báo/dựatrênviệc tính mô hình củamộtchương trình logic Phương pháp thủ tục(từng bộ một)/ dựatrênphương pháp chứng minh bằng ppgiảivà"phủđịnh bởithấtbại" [...]... Phép chiếu: một luật có một số biến ở phần thân bị lấy đi khỏi phần đầu của luật Phép chọn: một luật có ít nhất một tân từ quan hệ (so sánh) trong phần thân Phép kết nối: luật gồm một số tân từ quan hệ ở phần thân Hồ Cẩm Hà - ĐHSPHN 18 Mở rộng DATALOG với các hàm Nhờ các hàm có thể tính tóan, xử lí trên những đối tượng phức tạp (hình vẽ, kiểu dữ liệu trừu tượng) Do vậy đưa vào DATALOG các hàm của logic... Datalog Một mô hình của một chương trình DATALOG là một tập các tân từ cá biệt: chứa tất cả các sự kiện của CSDL và tất cả các sự kiện có thể được suy diễn bằng áp dụng các luật Hồ Cẩm Hà - ĐHSPHN 12 Ngữ nghĩa chính tắc của chương trình DATALOG Giao của hai mô hình cũng là mô hình Giao của tất cả các mô hình: mô hình nhỏ nhất được gọi là ngữ nghĩa chính tắc Dùng Toán tử Tr để tính (hệ quả trực tiếp... ĐHSPHN 16 Ngữ nghĩa chính tắc của chương trình DATALOG Tính khi cần trả lời câu hỏi Câu hỏi được biểu diễn bằng SQL trên quan hệ được suy diễn hay Câu hỏi biểu diễn bằng một luật không đầu dạng ← P1, P2, , Pn , trong đó thay ← bởi ? Ví dụ ? TOTIEN(x, Mai) Hồ Cẩm Hà - ĐHSPHN 17 Liên hệ DATALOG với ĐSQH DATALOG có sức mạnh của ĐSQH với sự cho phép đệ qui (ĐSQH không cho phép đệ qui) Phép hợp: 1 số luật cùng... gòn, t) Hồ Cẩm Hà - ĐHSPHN 20 Mở rộng DATALOG với các hàm (tiếp) Ví dụ: {lương (100) ← ; cao_hơn (y, x) ← lương(x), x . 1 Datalog- Ngôn ngữ luật cho các CSDL Hồ CẩmHà - ĐHSPHN 2 Hệ QTCSDL suy diễn Trướchết đólàmộthệ QTCSDL: có ngôn ngữ DDL, DML Đem cho người dùng mộtgiaodiện có ngôn ngữ luật, cho phép: từ các. TOTIEN(z,y) Hồ CẩmHà - ĐHSPHN 9 Datalog Mộtchương trình DATALOG là mộttập các luật( thứ tự các luật không quan trọng} DATALOG cho phép người dùng phản ánh các luật và các sự kiện CSDL logic =. cho phép: từ các quan hệ cơ sở (lưutrữ trong CSDL cài đặt) suy diễnranhững quan hệ mới (CSDL tiềm ẩn) Hồ CẩmHà - ĐHSPHN 3 Các ngôn ngữ luật đốivới các CSDL Mộtngônngữ luậtphảilà tậphợpvàphi