Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 118 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
118
Dung lượng
824 KB
Nội dung
MUC LUC MUC LUC .1 Lời nói đầu PHẦN CƠ SỞ DỮ LIỆU PHÂN TÁN CHƯƠNG TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN 1.1 Hệ CSDL phân tán .5 1.1.1 Định nghĩa CSDL phân tán 1.1.2 Các đặc điểm sở liệu phân tán 1.1.3 Mục đích việc sử dụng sở liệu phân tán 1.1.4 Kiến trúc CSDL phân tán .9 1.1.5 Hệ quản trị CSDL phân tán 10 1.2 Kiến trúc hệ quản trị Cơ sở liệu phân tán .11 1.2.1 Các hệ khách / đại lý .11 1.2.2 Các hệ phân tán ngang hàng 12 CHƯƠNG CÁC PHƯƠNG PHÁP PHÂN TÁN DỮ LIỆU 13 2.1.Thiết kế sở liệu phân tán 13 2.1.1.Các chiến lược thiết kế 13 2.2 Các vấn đề thiết kế 14 2.2.1 Lý phân mảnh .14 2.2.2 Các kiểu phân mảnh 14 2.2.3 Phân mảnh ngang 16 2.3 Phân mảnh dọc 30 2.5 Phân mảnh hỗn hợp 42 2.6 Cấp phát 43 2.6.1 Bài toán cấp phát .43 2.6.2 Yêu cầu thông tin 43 2.6.3 Mô hình cấp phát .44 CHƯƠNG XỬ LÝ VẤN TIN 48 3.1 Bài toán xử lý vấn tin 48 3.2 Phân rã vấn tin 52 3.3 Cục hóa liệu phân tán 60 3.4 Tối ưu hoá vấn tin phân tán 67 3.4.1 Không gian tìm kiếm 67 3.4.2 Chiến lược tìm kiếm .70 3.4.3 Mô hình chi phí phân tán 71 3.4.4 Xếp thứ tự nối vấn tin theo mảnh 77 CHƯƠNG QUẢN LÝ GIAO DỊCH 84 4.1 Các khái niệm 84 Mô hình khoá .92 4.4 Thuật toán điều khiển tương tranh nhãn thời gian .98 PHẦN .101 CƠ SỞ DỮ LIỆU SUY DIỄN 101 2.1 Giới thiệu chung .101 2.2- CSDL suy diễn 101 2.2.1 Mô hình CSDL suy diễn 101 2.2.2 Lý thuyết mô hình CSDL quan hệ 103 2.2.3 Nhìn nhận CSDL suy diễn 105 2.2.4 Các giao tác CSDL suy diễn 106 2.3 CSDL dựa Logic 106 2.3.4 Cấu trúc câu hỏi .111 2.3.5 So sánh DATALOG với đại số quan hệ .112 2.3.6 Các hệ CSDL chuyên gia .117 2.4 Một số vấn đề khác 117 Lời nói đầu Các hệ sở liệu (hệ CSDL) xây dựng theo mô hình phân cấp mô hình mạng, xuất vào năm 1960, xem hệ thứ hệ quản trị sở liệu (hệ QTCSDL) Tiếp theo hệ thứ hai, hệ QTCSDL quan hệ, xây dựng theo mô hình liệu quan hệ E.F Codd đề xuất vào năm 1970 Các hệ QTCSDL có mục tiêu tổ chức liệu, truy cập cập nhật khối lượng lớn liệu cách thuận lợi, an toàn hiệu Hai hệ đầu hệ QTCSDL đáp ứng nhu cầu thu thập tổ chức liệu quan, xí nghiệp tổ chức kinh doanh Tuy nhiên, với phát triển nhanh chóng công nghệ truyền thông bành trướng mạnh mẽ mạng Internet, với xu toàn cầu hoá lĩnh vực, đặc biệt thương mại, làm nảy sinh nhiều ứng dụng phải quản lý đối tượng có cấu trúc phức tạp (văn bản, âm thanh, hình ảnh) động (các chương trình, mô phỏng) Trong năm 1990 xuất hệ thứ ba hệ QTCSDL – hệ “hướng đối tượng”, có khả hỗ trợ ứng dụng đa phương tiện (multimedia) Trước nhu cầu tài liệu sách giáo khoa sinh viên chuyên nghành công nghệ thông tin, tài liệu CSDL phân tán, CSDL suy diễn, CSDL hướng đối tượng, đưa giáo trình môn học “Cơ sở liệu 2” Mục đích giáo trình “Cơ sở liệu 2” nhằm trình bày khái niệm thuật toán sở CSDL bao gồm: mô hình liệu hệ CSDL tương ứng, ngôn ngữ CSDL, tổ chức lưu trữ tìm kiếm, xử lý tối ưu hoá câu hỏi, quản lý giao dịch đieềukhiển tương tranh, thiết kế CSDL Trong trình biên soạn, dựa vào nội dung chương trình môn học giảng dạy trường Đại học nước, đồng thời cố gắng phản ánh số thành tựu công nghệ CSDL Giáo trình “Cơ sở liệu 2” chia thành phần Phần 1: Cở sở liệu phân tán Phần 2: Cơ sở liệu suy diễn Sau chương có phần tóm tắt cuối chương, câu hỏi ôn tập tập nhằm giúp sinh viên nắm vững nội dung chương kiểm tra trình độ việc giải tập Tuy gố gắng, giáo trình chắn có thiếu sót Rất mong nhận ý kiến đóng góp độc giả để lần tái sau, giáo trình hoàn chỉnh Thái Nguyên tháng 10 năm 2009 Các tác giả PHẦN CƠ SỞ DỮ LIỆU PHÂN TÁN CHƯƠNG TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN Với việc phân bố ngày rộng rãi công ty, xí nghiệp, liệu toán lớn không tập trung Các CSDL thuộc hệ hai không giải toán môi trường không tập trung mà phân tán, song song với liệu hệ thống không nhất, hệ thứ ba hệ quản trị CSDL đời vào năm 80 có CSDL phân tán để đáp ứng nhu cầu 1.1 Hệ CSDL phân tán 1.1.1 Định nghĩa CSDL phân tán Một CSDL phân tán tập hợp nhiều CSDL có liên đới logic phân bố mạng máy tính - Tính chất phân tán: Toàn liệu CSDL phân tán không cư trú nơi mà cư trú nhiều trạm thuộc mạng máy tính, điều giúp phân biệt CSDL phân tán với CSDL tập trung đơn lẻ - Tương quan logic: Toàn liệu CSDL phân tán có số thuộc tính ràng buộc chúng với nhau, điều giúp phân biệt CSDL phân tán với tập hợp CSDL cục tệp cư trú vị trí khác mạng máy tính Trạm Trạm Trạm Mạng truyền liệu Trạm Trạm Hình 1.1 Môi trường hệ CSDL phân tán Trong hệ thống sở liệu phân tán gồm nhiều trạm, trạm khai thác giao tác truy nhập liệu nhiều trạm khác Ví dụ 1.1: Với ngân hàng có chi nhánh đặt vị trí khác Tại chi nhánh có máy tính điều khiển số máy kế toán cuối (Teller terminal) Mỗi máy tính với sở liệu thống kê địa phương chi nhánh đặt vị trí sở liệu phân tán Các máy tính nối với mạng truyền thông 1.1.2 Các đặc điểm sở liệu phân tán (1) Chia sẻ tài nguyên Việc chia sẻ tài nguyên hệ phân tán thực thông qua mạng truyền thông Để chia sẻ tài nguyên cách có hiệu tài nguyên cần quản lý chương trình có giao diện truyền thông, tài nguyên truy cập, cập nhật cách tin cậy quán Quản lý tài nguyên lập kế hoạch dự phòng, đặt tên cho lớp tài nguyên, cho phép tài nguyên truy cập từ nơi đến nơi khác, ánh xạ lên tài nguyên vào địa truyền thông, (2) Tính mở Tính mở hệ thống máy tính dễ dàng mở rộng phần cứng (thêm thiết bị ngoại vi, nhớ, giao diện truyền thông ) phần mềm (các mô hình hệ điều hành, giao thức truyền tin, dịch vụ chung tài nguyên, ) Một hệ phân tán có tính mở hệ tạo từ nhiều loại phần cứng phần mềm nhiều nhà cung cấp khác với điều kiện thành phần phải theo tiêu chuẩn chung Tính mở hệ phân tán xem xét thao mức độ bổ sung vào dịch vụ dùng chung tài nguyên mà không phá hỏng hay nhân đôi dịch vụ tồn Tính mở hoàn thiện cách xác định hay phân định rõ giao diện hệ làm cho tương thích với nhà phát triển phần mềm Tính mở hệ phân tán dựa việc cung cấp chế truyền thông tiến trình công khai giao diện dùng để truy cập tài nguyên chung (3) Khả song song Hệ phân tán hoạt động mạng truyền thông có nhiều máy tính, máy có hay nhiều CPU Trong thời điểm có N tiến trình tồn tại, ta nói chúng thực đồng thời Việc thực tiến trình theo chế phân chia thời gian (một CPU) hay song song (nhiều CPU) Khả làm việc song song hệ phân tán thực hai tình sau: - Nhiều người sử dụng đồng thời lệnh hay tương tác với chương trình ứng dụng - Nhiều tiến trình Server chạy đồng thời, tiến trình đáp ứng yêu cầu từ tiến trình Client khác (4) Khả mở rộng Hệ phân tán có khả hoạt động tốt hiệu nhiều mức khác Một hệ phân tán nhỏ hoạt động cần hai trạm làm việc File Server Các hệ lớn tới hàng nghìn máy tính Khả mở rộng đặc trưng tính không thay đổi phần mềm hệ thống phần mềm ứng dụng hệ mở rộng Điều đạt mức dộ với hệ phân tán Yêu cầu việc mở rộng không mở rộng phần cứng, mạng mà trải khía cạnh thiết kế hệ phân tán (5) Khả thứ lỗi Việc thiết kế khả thứ lỗi hệ thống máy tính dựa hai giải pháp: - Dùng khả thay để đảm bảo hoạt động liên tục hiệu - Dùng chương trình hồi phục xảy cố Xây dựng hệ thống khắc phục cố theo cách thứ người ta nối hai máy tính với để thực chương trình, hai máy chạy chế độ Standby (không tải hay chờ) Giải pháp tốn phải nhân đôi phần cứng hệ thống Một giải pháp để giảm phí tổn Server riêng lẻ cung cấp ứng dụng quan trọng để thay có cố xuất Khi cố Server hoạt động bình thường, có cố Server đó, ứng dụng Clien tự chuyển hướng sang Server lại Cách hai phần mềm hồi phục thiết kế cho trạng thái liệu thời (trạng thái trước xảy cố) đưọc khôi phục lỗi phát Các hệ phân tán cung cấp khả sẵn sàng cao để đối phó với sai hỏng phần cứng (6) Tính suốt Tính suốt hệ phân tán hiểu việc che khuất thành phần riêng biệt hệ người sử dụng người lập trình ứng dụng Tính suốt vị trí: Người sử dụng không cần biết vị trí vật lý liệu Người sử dụng có quyền truy cập tới đến sở liệu nằm vị trí Các thao tác lấy, cập nhật liệu điểm liệu xa tự động thực hệ thống điểm đưa yêu cầu, người sử dụng không cần biết đến phân tán sở liệu mạng Tính suốt việc sử dụng: Việc chuyển đổi phần hay toàn sở liệu thay đổi tổ chức hay quản lý, không ảnh hưởng tới thao tác người sử dụng Tính suốt việc phân chia: Nếu liệu phân chia tăng tải, không ảnh hưởng tới người sử dụng Tính suốt trùng lặp: Nếu liệu trùng lặp để giảm chi phí truyền thông với sở liệu nâng cao độ tin cậy, người sử dụng không cần biết đến điều (7) Đảm bảo tin cậy quán Hệ thống yêu cầu độ tin cậy cao: bí mật liệu phải bảo vệ, chức khôi phục hư hỏng phải đảm bảo Ngoài yêu cầu hệ thống tính quán quan trọng thể hiện: mâu thuẫn nội dung liệu Khi thuộc tính liệu khác thao tác phải quán 1.1.3 Mục đích việc sử dụng sở liệu phân tán Xuất phát từ yêu cầu thực tế tổ chức kinh tế: Trong thực tế nhiều tổ chức không tập trung, liệu ngày lớn phục vụ cho đa người dùng nằm phân tán, sở liệu phân tán đường thích hợp với cấu trúc tự nhiên tổ chức Đây yếu tố quan trọng thức đẩy việc phát triển sở liệu phân tán Sự liên kết sở liệu địa phương tồn tại: sở liệu phân tán giải pháp tự nhiên có sở liệu tồn cần thiết xây dựng ứng dụng toàn cục Trong trường hợp sở liệu phân tán tạo từ lên dựa tảng sở liệu tồn Tiến trình đòi hỏi cấu trúc lại sở liệu cục mức định Dù sao, sửa đổi nhỏ nhiều so với việc tạo lập cở sở liệu tập trung hoàn toàn Làm giảm tổng chi phí tìm kiếm: Việc phân tán liệu cho phép nhóm làm việc cục kiểm soát toàn liệu họ Tuy vậy, thời điểm người sử dụng truy cập đến liệu xa cần thiết Tại vị trí cục bộ, thiết bị phần cứng chọn cho phù hợp với công việc xử lý liệu cục điểm Sự phát triển mở rộng: Các tổ chức phát triển mở rộng cách thêm đơn vị mới, vừa có tính tự trị, vừa có quan hệ tương đơn vị tổ chức khác Khi giải pháp sở liệu phân tán hỗ trợ mở rộng uyển chuyển với mức độ ảnh hưởng tối thiểu tới đơn vị tồn Trả lời truy vấn nhanh: Hầu hết yêu cầu truy vấn liệu từ người sử dụng vị trí cục thoả mãn liệu thời điểm Độ tin cậy khả sử dụng nâng cao: có thành phần hệ thống bị hỏng, hệ thống trì hoạt động Khả phục hồi nhanh chóng: Việc truy nhập liệu không phụ thuộc vào máy hay đường nối mạng Nếu có lỗi hệ thống tự động chọn đường lại qua đường nối khác 1.1.4 Kiến trúc CSDL phân tán Đây không kiến trúc tường minh cho tất CSDL phân tán, kiến trúc thể tổ chức CSDL phân tán - Sơ đồ tổng thể: Định nghĩa tất liệu lưu trữ CSDL phân tán Trong mô hình quan hệ, sơ đồ tổng thể bao gồm định nghĩa tập quan hệ tổng thể - Sơ đồ phân đoạn: Mỗi quan hệ tổng thể chia thành vài phần không gối lên gọi đoạn (fragments) Có nhiều cách khác để thực việc phân chia Ánh xạ (một - nhiều) sơ đồ tổng thể đoạn định nghĩa sơ đồ phân đoạn - Sơ đồ định vị: Các đoạn phần logic quan hệ tổng thể định vị vật lý nhiều vị trí mạng Sơ đồ định vị định nghĩa đoạn định vị vị trí Lưu ý kiểu ánh xạ định nghĩa sơ đồ định vị định CSDL phân tán dư thừa hay không - Sơ đồ ánh xạ địa phương: ánh xạ ảnh vật lý đối tượng lưu trữ trạm (tất đoạn quan hệ tổng thể vị trí tạo ảnh vật lý) Sơ đồ tổng thể Sơ đồ phân đoạn Sơ đồ định vị Sơ đồ ánh xạ địa phương Sơ đồ ánh xạ địa phương DBMS vị trí DBMS vị trí CSDL địa phương vị trí Các vị trí khác… CSDL địa phương vị trí Hình1.2 Kiến trúc CSDL phân tán 1.1.5 Hệ quản trị CSDL phân tán Hệ quản trị CSDL phân tán (Distributed Database Management SystemDBMS) định nghĩa hệ thống phần mềm cho phép quản lý hệ CSDL (tạo lập điều khiển truy nhập cho hệ CSDL phân tán) làm cho việc phân tán trở nên suốt với người sử dụng Đặc tính vô hình muốn nói đến tách biệt ngữ nghĩa cấp độ cao hệ thống với vấn đề cài đặt cấp độ thấp Sự phân tán liệu che dấu với người sử dụng làm cho người sử dụng truy nhập vào CSDL phân tán hệ CSDL tập trung Sự thay đổi việc quản trị không ảnh hưởng tới người sử dụng Hệ quản trị CSDL phân tán gồm tập phần mềm (chương trình) sau đây: • Các chương trình quản trị liệu phân tán • Chứa chương trình để quản trị việc truyền thông liệu • Các chương trình để quản trị CSDL địa phương • Các chương trình quản trị từ điển liệu Để tạo hệ CSDL phân tán (Distributed Database System-DDBS) tập tin liên đới logic chúng phải có cấu trúc truy xuất qua giao diện chung 10 (i) Xây dựng lý thuyết T, gọi lý thuyết chứng minh (D,L), cách dùng câu D ngôn ngữ L, (ii) Trả lời câu hỏi CSDL 2.2.2.2 Nhìn lại CSDL quan hệ ta xét lớp CSDL quan hệ, tức kiện làm dựa kiện, với ngôn ngữ không chứa kí hiệu hàm Các giả thiết đặt lớp CSDL quan hệ để đánh giá câu hỏi: 1) Giả thiết giới đóng(CWA Close World Assumption): Khẳng định thông tin không CSDL coi sai, tức R(a1,a2, ,an) coi kiện R(a1,a2, ,an) không xuất CSDL Ví dụ: Có CSDL sau: Hoc_sinh(Xuân) Sinh_vien(Đông) Nghiên_cưu(Đông) Thich(Xuân, Toán) Như theo CWA ¬Thich (Đông, Toán) giả sử đúng, tức Đông không thích Toán 2) Giả thiết tên (UNA Unique Name Assumption): Khẳng định số tên khác coi khác Theo ví dụ nói hai số Xuân Đông gán tên cho hai sinh viên khác 3) Giả thiết bao đóng miền (DCA Domain Closure Assumption): Cho số số ngôn ngữ CSDL Theo ví dụ nói Triết Cho CSDL quan hệ (D,L), D có vài hạn chế L không chứa kí hiệu hàm Vậy CSDL coi diễn giải lý thuyết bậc môt gồm có ngôn ngữ L biến L , đặt miền diễn giải Việc đánh giá công thức Logic diễn giải dựa : R(a1,a2,…,an) R(a1,a2,…,an) ∈D Các tiên đề ngôn ngữ T: Theo quan điểm lý thuyết chứng minh CSDL quan hệ thu cách xây dựng lý thuyết T ngôn ngữ L 104 T1 Xác nhận: Đối với kiện R(a1,a2,…,an) ∈ D => R(a1,a2,…,an) xác định T2 Các tiên đề đầy đủ: Với kí hiệu quan hệ R, R(a11, a21,… , an1), R(a12, a22,… , an2),…, R(a1m, a2m,… , anm) kí hiệu cho kiện R tiên đề đầy đủ R là: ∀x1, ∀x2,…, ∀xn R(a1, a2, ,an) → (x1 = a11 ∧ x2 = a21 ∧… ∧ xn = an1) ∨ (x1 = a12 ∧ x2 = a22 ∧… ∧ xn = an2) ∨….∨ (x1 = a1m ∧ x2 = a2m ∧… ∧ xn = anm) T3 Các tiên đề tên nhất: Nếu a1, a2, , ap tất kí hiệu số L (a1 ≠ a2), (a1 ≠ a3), …., (a1 ≠ ap ), (a2 ≠ a3), (a2 ≠ a4),…, (ap-1 ≠ ap ) T4 Các tiên đề bao đóng miền: Nếu a1, a2, , ap kí hiệu số ∀x((x=a1) ∨ (x=a2) ∨….∨ (x=ap)) L thì: T5 Các tiên đề tương đương: ∀x(x=x) ∀x∀y((x=y) → (y=x)) ∀x∀y∀z ((x=y) ∧ (y=z) → (x=z)) ∀x1,∀x1,…,∀xn(P(x1, x2, , xn) ∧ (x1=y1) ∧ (x2=y2) ∧ ….∧ (xn=yn) → (y1, y2, , yn)) 2.2.3 Nhìn nhận CSDL suy diễn nhìn nhận lý thuyết chứng minh áp dụng cho CSDL suy diễn Ngôn ngữ L CSDL (D, L) xây dựng kí hiệu xuất D, người ta dùng ngữ nghĩa thủ tục ngữ cảnh chương trình logic công cụ để tìm câu trả lời cách suy diễn từ lý thuyết chứng minh T, lý thuyết T đảm bảo ngữ nghĩa D trí với ngữ nghĩa T Liên quan đến CSDL suy diễn, người ta đưa Comp(D) lý thuyết chứng minh CSDL (D, L) dùng cách giải SLDNF để tìm câu trả lời cho câu hỏi Giả sử (D, L) CSDL chuẩn Như trường hợp CSDL quan hệ, quan điểm lý thuyết chứng minh D đạt cách xây dựng lý thuyết T ngôn ngữ L Các tiên đề lý thuyết T sau: 105 1) Các tiên đề đầy đủ: Tiên đề có hoàn thiện kí hiệu vị từ L, tương ứng với câu D 2) Tiên đề tên tính tương đương: tiên đề lý thuyết tương đương tuỳ theo kí hiệu số, hàm số vị từ L 3) Tiên đề bao đóng miền: Nếu a1, a2,…, ap tất phần tử L f1, f2, ,fq kí hiệu hàm số L, tiên đề bao đóng miền, theo Lloyd năm 1987, Mancarella năm 1988 sau: ∀x((x=a1) ∨ (x=ap) ∨ (∃x1, ∃x2, , ∃xm(x = f1(x1, x2, , xm))) ∨ … ∨ (∃y1, ∃y2,…., ∃yn( x = fq(y1, Y2,…, yn)))) 2.2.4 Các giao tác CSDL suy diễn Định nghĩa 1: Giao tác (Transaction) Một giao tác CSDL suy diễn một xâu hữu hạn phép toán, hay hành động bổ sung, loại bỏ hay cập nhật câu Vì CSDL suy diễn xem tập câu, tức theo quan điểm lý thuyết mô hình, không phép loại bỏ hay cập nhật phép thực kiện Các kiện ngầm có CSDL Định nghĩa 2: Khẳng định (Commit) Một giao tác gọi khẳng định tốt toàn xâu phép toán tạo nên kết tốt giao tác Lý việc không đảm bảo hoàn thành tốt giao tác vi phạm điều kiện toàn vẹn thực phép toán giao tác, hay hư hỏng hệ thống, tính toán vô hạn 2.3 CSDL dựa Logic Trong phần ta nghiên cứu CSDL dựa Logic mà cụ thể chương trình DATALOG DATALOG ngôn ngữ phi thủ tục dựa logic vị từ bậc Người ta sử dụng để mô tả thông tin cần thiết không theo cách lấy thông tin thủ tục bình thường mà dựa logic (ngôn ngữ DATALOG) 2.3.1 Cú pháp + Ký hiệu : + vị từ so sánh : θ 106 (Biến) so sánh với (giá trị) θ = {, =, =, } + Cách biểu diễn luật(Clause – Rule) Q ← P1, P2, ,Pn Dấu “,” AND (∧) Dấu “;” OR (∨) Dấu “←” : Kéo theo Pi : tiên đề, giả thiết, đích con, vị từ Q : kết luận kiện + Nếu n = : Q ← ≈ Các kiện CSDL cài đặt + Nếu P ← P1, P2,…,Pn P luật đệ quy ( hay vị từ thân đầu luật) 2.3.2 Ngữ nghĩa tập tất kiện suy diễn từ chương trình DATALOG Ví dụ: (r1) Chamẹ(x,y) ← Bố(x,y) (r2) Chamẹ(x,y) ← mẹ(x,y) (r3) Ôngbà(x,y) ← Chamẹ(x,z) , Chamẹ(z,y) (r4) Bố(x,y) ← (r7) : TổTiên(x,y) ← Chamẹ(x,z) , TổTiên(z,y) (r5) Mẹ(x,y) ← (r6) : TổTiên(x,y) , Chamẹ(x,y) 2.3.3 Cấu trúc CSDL DATALOG gồm hai loại quan hệ: • Các quan hệ sở lưu trữ CSDL, có dạng người ta thấy Người ta gọi sở CSDL mở rộng EDB (Extended Database) • Các quan hệ suy diễn không cần lưu CSDL Chúng dùng quan hệ tạm thời, chứa kết trung gian trả lời câu hỏi Các quan hệ gọi CSDL theo mục đích IDB (Intentional Database) Mỗi quan hệ có tên số cột 107 Khác với đại số quan hệ, thuộc tính quan hệ DATALOG không mạng tên rõ Thay có tên, thuỗc tính vào giá trị Các chương trình DATALOG có tập hữu hạn luật tác động đến quan hệ quan hệ suy diễn Trước đưa định nghĩa hình thức ta xét ví dụ sau: + Có luật ngân hàng sau: Ca(Y,X) ← Gửitiền(“Hà Nội”, X, Y, Z), Z>1200 Luật gồm quan hệ sở “Gửitiền”, quan hệ suy diễn “Ca” Luật rút cặp tất khách hàng có tài khoản chi nhánh “Hà Nội” có số dư lớn 1200 + Luật viết dạng biểu thức tính toán tương đương miền xác định kết bổ sung vào quan hệ suy diễn “Ca” { | ∃ W, Z (W, X, Y, Z) ∈Gửitiền ∧ W= “Hà Nội” ∧ Z>1200} Từ ta đến số công thức sau: 1) Các luật xây dựng Literal có dạng sau: P(A1, A2,…, An), đó: P tên quan hệ sở hay quan hệ suy diễn Mỗi Ai (i=1,2,…,n) số hay tên biến 2) Một luật DATALOG có dạng: P(X1, X2,…, Xn) ← Q1(X11, X12,…,X1,m1), Q2(X21, X22,…,X2,m2),…, Qr(Xr1, Xr2,…,Xr,mr), e Trong đó: + P tên quan hệ suy diễn + Mỗi Qi tên quan hệ sở hay quan hệ suy diễn + e biểu thức vị từ số học biến xuất P tất Qi (mỗi biến xuất P xuất Qi đó) Literal P(X1, X2,…, Xn) gọi đầu luật, phần lại gọi thân luật Để hiểu xác cách thức diễn giải luật Datalog, người ta xác định khái niệm thay luật trạng luật Định nghĩa 7: Thay luật (Rule Substitution) 108 Việc thay luật áp dụng cho luật việc thay biến luật biến hay Tức là, biến xuất nhiều lần luật phải thay biến hay số Ví dụ: Thay luật nêu ví dụ trên, biến Z thay W biến thay số Ca(“Mỗ”, 123) ← Gưitiên(“Hà Nội”, 123, “Mỗ”, W), W>1200 Tuy nhiên, thay X số 123 333 không Ca(“Mỗ”, 123) ← Gưitiên(“Hà Nội”, 333, “Mỗ”, W), W>1200 => sai Định nghĩa 8: Hiện trạng luật (Rule instantiation) Hiện trạng luật việc thay hợp lệ biến số Một thay cho người ta trạng luật Ví dụ: Ca(“Mỗ”, 123) ← Gưitiên(“Hà Nội”, 123, “Mỗ”, 1500), 1500>1200 Đối với luật cụ thể, có nhiều trạng hợp lệ Để xem Datalog diễn giải luật sao, người ta xét trạng luật: P(X1, X2,…, Xn) ← Q1(X11, X12,…,X1,m1), Q2(X21, X22,…,X2,m2),…, Qr(Xr1, Xr2,…,Xr,mr), e P biểu thức: Q1(C11,C12,…,C1,m1)∧Q2(C21,C22,…,C2,m2)∧…∧Qr(Cr1, Cr2,…,Cr,mr) ∧ e Có giá trị đúng, Literal Qi(Ci1, Ci2,…,Ci,mi) n_bộ (Ci1, Ci2, …,Ci,mi) có mặt quan hệ Qi Ví dụ: Đ ối với luật: Ca(Y,X) ← Gửitiền(“Hà Nội”, X, Y, Z), Z>1200 Ca(Y, X) có số C1 thoả mãn điều kiện sau: C1>1200 n_bộ(“Hà Nội”, 123, “Mỗ”, C1) có quan hệ “Gưitiên” Định nghĩa 9: Hệ quản trị CSDL suy diễn (Deductive DBMS) Hệ quản trị CSDL cho phép suy diễn n_bộ vị từ theo mục đích bằng cách sử dụng luật logic Các chức hệ quản trị CSDL suy diễn mô tả sau: 109 Câu hỏi Các vị từ theo mục đích Cập nhật Các luật Datalog Các vị từ sở CSDL suy diễn xây dựng dựa quan hệ sở quan hệ suy diễn Hệ quản trị CSDL gọi suy diễn lẽ cho phép suy thông tin từ liệu lưu trữ theo chế suy diễn logic Các thông tin vị từ theo mục đích, thông tin có người ta tương tác với vị từ theo mục đích cập nhật vị từ sở Định nghĩa 10: Câu hỏi Datalog (Datalog Query) Một câu hỏi CSDL suy diễn gồm có: • Một chương trình Datalog, tức tập hữu hạn, rỗng • Một Literal đơn có dạng P(x1,x2, ,xn)? Trong xi (i=1,2, ,n) luật số tên biến Việc khai thác câu hỏi trước tiên tính chương trình Datalog, có Tiếp theo P(x1, x2, , xn) đánh giá Thủ tục tương tự lựa chọn quan hệ P theo ràng buộc phù hợp Ví dụ 1: Tìm tất n_bộ quan hệ vay chi nhánh Hà Nội Khi ta có: Vay(“Hà Nội”,X, Y, Z) Câu hỏi chương trình Datalog Ví dụ 2: Tính tập khách hàng chi nhánh “Hà Nội” có tài khoản mà số dư 1200 Chương trình Datalog có luật đơn C(Y) ← Guitien(“Hà Nội”, X, Y, Z), Z>1200 C(Y)? 110 Câu C(Y)? thừa; nhằm xác định quan hệ cần thể Để loại trừ tượng thừa, người ta dùng kí pháp ngắn gọn, không sợ bị lẫn lộn, nhầm lẫn Nếu cho câu P(x1, x2, , xn) yêu cầu chương trình Datalog bao hàm luật đơn phân biệt là: Hỏi(x1, x2,…,xn) ← … Trong xi (i=1, 2,…,n) tên biến Điều hiểu người ta có câu: Hỏi(x1, x2,…,xn)? Câu phần câu hỏi Do vậy, câu hỏi sau tương đương với câu hỏi là: Hỏi(Y) ← Guitien(“Hà Nội”, X, Y, Z), Z>1200 2.3.4 Cấu trúc câu hỏi Để trình bày cấu trúc câu hỏi người ta sử dụng đồ thị luật Định nghĩa 11: Đồ thị luật (Rule Graph) Một đồ thị luật câu hỏi q đồ thị có hướng mà: • Các nút đồ thị ứng với tập kí hiệu Literal có mặt luật • Cung đồ thị ứng với quan hệ trước Literal thân luật q Literal có mặt đầu luật Do đồ thị có cung a i ← aj Nếu luật có mặt câu hỏi: ← …aj … Chú ý: Việc xây dựng không tính đến tập biến số có mặt luật đa dạng câu hỏi Thông tin người ta dùng tập kí hiệu Literal quan hệ chúng theo luật đa dạng Ví dụ 1: Xét câu hỏi: p1(X, Y, Z) ← q1(X, Y), q2(X, Z), q3(Y, Z) p2(A, B) ← p1(A, B), q4(B, A) Hỏi(B) ← p2(A, B), p3(B, A) Đồ thị ứng với câu hỏi là: 111 P3 Hỏi P2 q4 P1 q1 q3 q2 Đồ thị đồ thị chu trình thường gọi câu hỏi không đệ quy Ví dụ 2: Xét câu hỏi: p1(A, B, C) ← q1(A, B), P2(B, C) p2(X, Y) ← q2(X), p1(X, Y, Z) Hỏi(A, B) ← p1(A, B, C), p2(B, C) Đồ thị ứng với câu hỏi là: P2 Hỏi P1 q2 q1 Đồ thị đồ thị có chu trình thường gọi câu hỏi đệ quy Kết luận: + Việc xây dựng cấu trúc câu hỏi cho phép dễ dàng việc đánh giá câu hỏi + Giữa câu hỏi đệ quy câu hỏi không đệ quy có nhiều khác khía cạnh loại hình câu hỏi CSDL Thực tế cho thấy việc đánh giá câu hỏi đệ quy phức tạp đánh giá câu hỏi thường 2.3.5 So sánh DATALOG với đại số quan hệ Về mặt ngôn ngữ Datalog với câu hỏi không đệ quy xem tương đương với đại số quan hệ khả thể 112 Với câu hỏi đệ quy cho phép người ta công cụ mạnh ngôn ngữ quan quan hệ Điều ngôn ngữ Datalog cho phép hỏi câu hỏi không phép đại số quan hệ (1) Phép hợp : tập luật có đầu luật Hỏi(X1, X2,…,Xn) ← r1(X1, X2,…,Xn) Hỏi(Y1, Y2,…,Yn) ← r2(Y1, Y2,…,Yn) Ví dụ 1: (r1) Chamẹ(x,y) ← Bố(x,y) (r2) Chamẹ(x,y) ← mẹ(x,y) Ví dụ 2:Tìm tên khách hàng chi nhánh “Hà Nội”, làm sau: Hỏi(Y) ← Vay(“Hà Nội”, X, Y, Z) Hỏi(B) ← Gưi tiền(“Hà Nội”, A, B, C) Chú ý: hai luật thể phép hợp tách biệt (2) Phép chọn : ứng với luật mà thân luật có vị từ so sánh -> biểu thức chọn Phép chọn chọn n_bộ quan hệ r viết dạng câu hỏi: r(x1, x2,…, xn)? Trong đó: xi (i=1, 2, ,n) tên biến hay số Ví dụ 1: Chamẹ(x,y) ← Chamẹ(x,y) , y= Dũng điều ≈ σy = ‘Dũng’(Chamẹ(x,y)) ( phép chọn với điều kiện y= ‘Dũng’) Ví dụ 2: Chọn (tìm kiếm) tên khách hàng vay 1000? Hỏi(Y) ← Vay(“Hà Nội”, X, Y, Z), Z >1000 (3) Phép chiếu : phép toán ứng với số luật mà có số biến thân luật mà không xuất đầu luật Cha(x) = KQ(x) ← Chamẹ(x,y) , y = Dũng (4) Phép kết nối : phép ứng với luật mà có biến chung vị từ thân luật Phép kết nối hai quan hệ r1 r2 viết dạng Datalog sau: Hỏi(X1, X2,…,Xn, Y1, Y2, , Ym) ← r1(X1, X2,…,Xn), r2(Y1, Y2, , Ym) Trong đó: Xi, Yj | i=1,2, ,n j=1,2, ,m tên biến phân biệt 113 Ví dụ 1: (r3) Ôngbà(x,y) ← Chamẹ(x,z) , Chamẹ(z,y) (5) Khả đệ quy: Ví dụ 1: (r7) (r4) Bố(x,y) ← (r7) : TổTiên(x,y) ← Chamẹ(x,z) , TổTiên(z,y) Ví dụ 2: Giả sử có lược đồ quan hệ: Quản lý(Tên nhân công, tên người quản lý) Lược đồ thể mối quan hệ người quản lý nhân công Giả sử “Quản lý” quan hệ theo mô hình Tên nhân công Tên người quản lý Mỗ Mễ Hoa Mỗ Mai Mỗ Lan Mỗ Chén Hoa Tích Hoa Yêu cầu:1) Tìm tên người làm việc trực tiếp quyền ông Mỗ, tức phụ thuộc mức 1, viết sau: Hỏi(X) ← Quản lý(X, “Mỗ”) 2) Để tìm tên người làm việc trực tiếp quyền người ông Mỗ quản lý, tức phục thuộc mức vào ông Mỗ, Viết sau: Hỏi(X) ← Quản lý(X, Y), Quản lý(Y, “Mỗ”) Như vậy, người ta thể yêu cầu tìm người phụ thuộc bậc n vào ông Mỗ đại số quan hệ Dĩ nhiên câu hỏi tìm tên nhân công làm việc quyền ông Mỗ, trực tiếp hay gián tiếp, tạo đại số quan hệ hay Datalog với câu hỏi không đệ quy Nguyên nhân người ta 114 ông Mỗ quản lý đến mức Tuy nhiên người tạo câu hỏi Datalog dạng câu hỏi đệ quy sau: e(X) ← Quản lý(X, “Mỗ”) e(X) ← Quản lý(X, Y), e(Y) Hỏi(X) ← e(X) Chú ý: a) Cách 1: Đối với câu hỏi đệ quy người ta chuyển câu hỏi không đệ quy cách sử dụng ngôn ngữ tựa Pascal với số lần hữu hạn bước lặp Việc lặp thể qua câu lệnh Repeat Điều kiện câu Until kiểm tra tập hợp, tính nhau, bao hay rỗng Trong câu Until quan hệ suy diễn coi tập Do câu hỏi đệ quy viết lại sau: e’(X) ← Quản lý(X, “Mỗ”) Repeat e(X) ← e’(X) e’(X) ← Quản lý(X, Y), e(Y) Until e = e’ Mô tả: - Luật tìm nhân công mà ông Mỗ trực tiếp quản lý Khi hoàn thành luật vòng Repeat đánh giá - Tại lần lặp, mức nhân công tìm bổ sung vào tập e - Thủ tục kết thúc tập e = e’ (Khi không nhân công bổ sung vào e.) Mặt khác, tập người quản lý hữu hạn Cách thực hiện: Theo dõi chu trình với liệu bảng chạy e’ = {Hoa, Lan, Mai} e = {Hoa, Lan, Mai} e’ = {Hoa, Lan, Mai, Chén, Tích} e = {Hoa, Lan, Mai, Chén, Tích} Cách 2: Ngoài cách làm người ta có cách làm khác mà đạt kết trên: 115 m(X, Y) ← Quản lý(X, Y) m(X, Y) ← Quản lý(X, Z), m(Z, Y) Hỏi(X) ← m(X, “Mỗ”) So sánh cách cách 2: Cách 1: Tìm nhân công ông Mỗ Cách cho phép tìm nhanh Cách 2: Tìm tất quan hệ nhân công – người quản lý chọn cặp có tên người quản lý Mỗ b) Khác với câu hỏi không đệ quy, người ta có nhiều chiến lược đánh giá câu hỏi đệ quy chiến lược đánh giá từ – lên Để đánh giá câu hỏi đệ quy e gọi đánh giá thô Tuy đơn giản không hiệu qủa số chiến lược – lên Sự không hiệu người ta sử dụng luật đệ quy, tập e trước sử dụng tính toán Để hiệu hơn, người ta dùng đánh giá nửa thô Dưới nhân công vừa bổ sung lần lặp trước luật xét đến Cách 11: i:=0 ei (X) ← Quản lý(X, “Mỗ”) Repeat e (X) ← ei (X) ei + 1(X) ← Quản lý(X, Y), ei (Y) i: = i +1 Until ei ⊆ e Cách 21: i:=0 mi (X, Y) ← Quản lý(X, Y) Repeat m (X, Y) ← mi (X, Y) mi + 1(X, Y) ← Quản lý(X, Z), mi (Z, Y) 116 i: = i +1 Until mi ⊆ m Hỏi(X) ← Quản lý(X, “Mỗ”) Lưu ý: Dù có phương pháp đánh giá tốt đánh giá thô, người ta không đạt hiệu câu hỏi cho kết trước Cũng có nhiều kĩ thuật đảm bảo làm tinh kĩ thuật nửa thô 2.3.6 Các hệ CSDL chuyên gia Qua phần trên, người ta thấy luật dựa logic tích hợp vào CSDL quan hệ Các luật kiện n_bộ bảng quan hệ Các hệ chuyên gia dùng ý để thực hoạt động có điều khiển Định nghĩa: Hệ thống CSDL chuyên gia(Expert Database System) Một hệ thống CSDL chuyên gia bao gồm luật có dạng “nếu có tập n_bộ CSDL, thủ tục đặc biệt khai thác” Thủ tục cập nhật CSDL; câu lệnh IF luật khác thủ tục khác thực hiện… Như CSDL loại gọi CSDL động Cấu trúc hệ thống CSDL chuyên gia tương tự cấu trúc hệ chuyên gia trí tuệ nhân tạo Khác hai loại hình việc sử dụng CSDL sử dụng nhớ trong, hay nhớ ảo Theo dạng chuẩn, hệ thống CSDL chuyên gia gồm CSDL chuẩn hệ chuyên gia chuẩn Hệ chuyên gia hỏi ngôn ngữ CSDL, chẳng hạn ngôn ngữ SQL đợi trả lời từ phía CSDL 2.4 Một số vấn đề khác Ngoài cách tiếp cận CSDL suy diễn trên, người ta quan tâm đến số vấn đề CSDL suy diễn sau: - Thứ là: đặc trưng trình xử lý câu hỏi Cần thiết mô tả chi tiết lựa chọn chiến lược đánh giá câu hỏi CSDL xác định đích xác định Mặt khác việc xử lý câu hỏi môi trường song song quan tâm - Thứ hai là: nghiên cứu hệ thống khía cạnh điều kiện toàn vẹn Cần có phân loại chi tiết tuỳ theo chất ràng buộc, cách thể 117 ràng buộc công thức logic, quan điểm khác thoả mãn kiểm tra toàn vẹn CSDL suy diễn Bên cạnh cần có phương pháp quản lý điều kiện toàn vẹn CSDL suy diễn - Thứ ba là: mẫu hình hệ thống CSDL suy diễn Đó số kiến trúc chấp nhận hệ thống CSDL suy diễn Khi chấp nhận số kiến trúc đó, CSDL suy diễn mẫu phát triển trước dùng diễn giải Prolog - Thứ tư là: CSDL suy diễn song song Việc giới thiệu vài kiến trúc song song CSDL suy diễn gồm thuật toán mô tả chi tiết trình xử lý câu hỏi Các câu hỏi coi xác định CSDL suy diễn xác định tách biệt, tự chức Việc đánh giá song song điều kiện toàn vẹn quan trọng - Thứ năm là: việc hình thức hoá chức gộp lớn liệu toàn vẹn Trong phần trước điều kiện toàn vẹn tĩnh không gộp lớn, dùng cho CSDL chuẩn Khi phát tiển CSDL, điều kiện toàn vẹn làm phù hợp Người ta hình thức hoá chức gộp lớn, điều kiện toàn vẹn ràng buộc giao tác 118 [...]...Môi trường hệ CSDL phân tán là môi trường trong đó dữ liệu được phân tán trên một số vị trí 1.2 Kiến trúc hệ quản trị Cơ sở dữ liệu phân tán 1.2.1 Các hệ khách / đại lý Các hệ quản trị CSDL khách / đại lý xuất hiện vào đầu những năm 90 và có ảnh hưởng rất lớn đến công nghệ DBMS và phương thức xử lý tính toán Ý tưởng tổng quát hết sức đơn giản: phân biệt các chức năng... cách lý tưởng, mô hình tính toán ngang hàng cung cấp cho xử lý hợp tác giữa các ứng dụng có thể nằm trên các phần cứng hoặc hệ điều hành khác nhau Mục đích của môi trường xử lý ngang hàng là để hỗ trợ các CSDL được nối mạng Như vậy người sử dụng DBMS sẽ có thể truy cập tới nhiều CSDL không đồng nhất 12 CHƯƠNG 2 CÁC PHƯƠNG PHÁP PHÂN TÁN DỮ LIỆU 2.1.Thiết kế cơ sở dữ liệu phân tán 2.1.1.Các chiến lược thiết... trình đại lý nhưng lại đặt gánh nặng lên các máy khách cùng với nhiều trách nhiệm khác Điều này dẫn đến tình huống được gọi là các hệ thống khách tự phục vụ Lối tiếp cận sau tập trung chức năng quản lý dữ liệu tại đại lý Vì thế sự vô hình của truy xuất dữ liệu được cung cấp qua giao diện của đại lý Từ góc độ tính logíc cả dữ liệu, DBMS khách/ đại lý cung cấp cùng một hình ảnh dữ liệu như các hệ ngang hàng... khái niệm Lược đồ khái niệm toàn cục Nguyên liệu từ người dùng Thiết kế khung nhìn Thông tin truy xuất Định nghĩa lược đồ ngoài Nguyên liệu Thiết kế phân tán từ người dùng Lược đồ khái niệm cục bô Thiết kế vật lý Lược đồ vật lý Phản hồi Theo dõi và bảo trì Hình 2.1 Quá trình thiết kế từ trên xuống 13 Phân tích yêu cầu: nhằm định nghĩa môi trường hệ thống và thu thập các nhu cầu về dữ liệu và nhu cầu... tạp của các DBMS hiện đại và độ phức tạp của việc phân tán dữ liệu Đại lý thực hiện phần lớn công việc quản lý dữ liệu Điều này có nghĩa là tất cả mọi việc xử lý và tối ưu hoá vấn tin, quản lý giao dịch và quản lý thiết bị lưu trữ được thực hiện tại đại lý Khách hàng, ngoài ứng dụng và giao diện sẽ có modun DBMS khách chịu trách nhiệm quản lý dữ liệu được gửi đến cho bên khách và đôi khi việc quản lý... thành các mảnh R 1, R2,…,Rn, thì mỗi mục dữ liệu có thể gặp trong R cũng có thể gặp một trong nhiều mảnh R i Đặc tính này giống như tính chất phân rã nối không mất thông tin trong chuẩn hoá, cũng quan trọng trong phân mảnh bởi vì nó bảo đảm rằng dữ liệu trong quan hệ R được ánh xạ vào các mảnh và không bị mất Chú ý rằng trong trường hợp phân mảnh ngang “mục dữ liệu muốn nói đến là một bộ, còn trong... một toán tử quan hệ ∇ sao cho R=∇Ri, Ri ∈ Fr Toán tử ∇ thay đổi tuỳ theo từng loại phân mảnh, tuy nhiên điều quan trọng là phải xác định được nó Khả năng tái thiết một quan hệ từ các mảnh của nó bảo đảm rằng các ràng buộc được định nghĩa trên dữ liệu dưới dạng các phụ thuộc sẽ được bảo toàn c) Tính tách biệt (disjointness) Nếu quan hệ R được phân rã ngang thành các mảnh R 1, R2,…,Rn, và mục dữ liệu. .. phân mảnh ngang tập các vị từ đóng vai trò quan trọng Trong phần này sẽ xem xét các thuật toán thực hiện các kiểu phân mảnh ngang Trước tiên chúng ta nêu các thông tin cần thiết để thực hiện phân mảnh ngang • Yêu cầu thông tin của phân mảnh ngang a) Thông tin về cơ sở dữ liệu Thông tin về CSDL muốn nói đến là lược đồ toàn cục và quan hệ gốc, các quan hệ con Trong ngữ cảnh này, chúng ta cần biết được các... việc thiết kế phân tán là quá nhiều yếu tố có ảnh hưởng đến một thiết kế tối ưu tổ chức logic của CSDL, vị trí các ứng dụng, đặc tính truy xuất của các ứng dụng đến CSDL, và các đặc tính của hệ thống máy tính tại mỗi vị trí đều có ảnh hưởng đến các quyết định phân tán Điều này khiến cho việc diễn đạt bài toán phân tán trở nên hết sức phức tạp Các thông tin cần cho thiết kế phân tán có thể chia thành... triển dữ liệu 135000 New York P3 CAD/CAM 250000 New York P4 Bảo dưỡng 310000 Paris Chúng ta có thể định nghĩa các mảnh ngang dựa vào vị trí dự án Khi đó các mảnh thu được, được trình bày như sau: DA1=σĐịa điểm=”Montreal” (DA) DA2=σĐịa điểm=”New York” (DA) DA3=σĐịa điểm=”Paris” (DA) DA1 MDA TDA Ngân sách Địa điểm P1 Thiết bị đo đạc 150000 Montreal MDA TênDA Ngân sách Địa điểm P2 Phát triển dữ liệu 135000 ... chỉnh Thái Nguyên tháng 10 năm 2009 Các tác giả PHẦN CƠ SỞ DỮ LIỆU PHÂN TÁN CHƯƠNG TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN Với việc phân bố ngày rộng rãi công ty, xí nghiệp, liệu toán lớn không tập... liên kết sở liệu địa phương tồn tại: sở liệu phân tán giải pháp tự nhiên có sở liệu tồn cần thiết xây dựng ứng dụng toàn cục Trong trường hợp sở liệu phân tán tạo từ lên dựa tảng sở liệu tồn... quan hệ dự án, kết định nghĩa mảnh F dự án ={Dự án1 , Dự án2 } Trong đó: Dự án1 ={A1, A3} Dự án2 = {A1, A2, A4} Vì Dự án1 ={Mã dự án, Ngân sách} Dự án2 ={Mã dự án, Tên dự án, Địa điểm} (ở Mã dự án thuộc