Chương 3 trang bị cho người học những kiến thức về các mức trong suốt trong phân bố. Nội dung chi tiết được đề cập trong chương này gồm: Kiến trúc tham khảo của cơ sở dữ liệu phân bố, các loại phân mãnh dữ liệu, các điều kiện đúng đắn để phân mãnh dữ liệu,...và những nội dung liên quan khác.
07/05/14 TRƯỜNG CAO ĐẰNG CƠNG NGHỆ THƠNG TIN TP.HỒ CHÍ MINH CHƢƠNG III CÁC MỨC TRONG SUỐT TRONG PHÂN BỐ Giảng Viên: Th.S Lê Thị Minh Nguyện Email: nguyenltm@hotmail.com NỘI DUNG Kiến trúc tham khảo CSDL phân bố Các loại phân mãnh liệu Các điều kiện đắn để phân mãnh liệu Phân mãnh nganh Phân mãnh ngang dẫn xuất Phân mãnh dọc Phân mãnh hỗn hợp Tính suốt phân tán dùng cho ứng dụng đọc Tính suốt phân tán dùng cho ứng dụng cập nhật Các tác vụ truy xuất CSDL phân bố Các ràng buộc toàn vẹn CSDL phân bố 07/05/14 Kiến trúc tham khảo CSDL phân bố Kiến trúc tham khảo CSDL phân bố Lược đồ toàn cục - Global Schema Xác định tất liệu lưu trữ CSDLPT liệu không phân tán trạm hệ thống Global schema định nghĩa theo cách CSDL tập trung Trong mơ hình quan hệ, global schema bao gồm định nghĩa tập quan hệ tổng thể (Globle relation) 07/05/14 Kiến trúc tham khảo CSDL phân bố Lược đồ phân mãnh - Fragment Schema Mỗi quan hệ tổng thể chia thành vài phần không giao gọi phân mãnh (fragment) Có nhiều cách khác để thực việc phân chia fragments Kiến trúc tham khảo CSDL phân bố Lược đồ phân mãnh - Fragment Schema Sơ đồ phân mãnh mô tả ánh xạ quan hệ tổng thể đoạn định nghĩa sơ đồ phân mãnh Các mãnh mô tả tên quan hệ tổng thể với mục Chẳng hạn, Ri hiểu mãnh thứ i quan hệ R 07/05/14 Kiến trúc tham khảo CSDL phân bố Lược đồ định vị - Allocation schema Các mãnh phần logic quan hệ tổng thể định vị vật lý hay nhiều trạm Sơ đồ định vị xác định đoạn liệu định vị trạm mạng Kiến trúc tham khảo CSDL phân bố Lược đồ định vị - Allocation schema Tất mãnh liên kết với quan hệ tổng thể R định vị trạm j cấu thành ảnh vật lý quan hệ tổng thể R trạm j Do ta ánh xạ một-một ảnh vật lý cặp (quan hệ tổng thể, trạm) Các ảnh vật lý tên quan hệ tổng thể mục trạm 07/05/14 Kiến trúc tham khảo CSDL phân bố Lược đồ định vị - Allocation schema Ký hiệu Ri để đoạn thứ i quan hệ tổng thể R Ký hiệu Rj để ảnh vật lý quan hệ tổng thể R trạm j Tương tự vậy, đoạn i thuộc quan hệ R trạm j ký hiệu Rij Kiến trúc tham khảo CSDL phân bố Các mãnh hình ảnh vật lý quan hệ toàn cục 10 07/05/14 Kiến trúc tham khảo CSDL phân bố Sự tách biệt phân mãnh liệu với khái niệm định vị liệu Biết liệu dư thừa Độc lập với DBMS địa phương 11 Kiến trúc tham khảo CSDL phân bố Trong suốt phân mảnh (phân đoạn) Fragmentation transparency Lược đồ toàn cục (global schema) Quan hệ toàn cục Cơ sở liệu phân bố suốt hoàn toàn Làm việc CSDLPB hoàn toàn giống làm việc với sở liệu tập trung 12 07/05/14 Kiến trúc tham khảo CSDL phân bố Trong suốt phân mãnh Ví dụ: Xét quan hệ tổng thể NCC (Id, Tên, Tuổi) phân mãnh tách từ nó: NCC1 (Id, Tên, Tuổi) NCC2 (Id, Tên, Tuổi) NCC3 (Id, Tên, Tuổi) Giả sử DDBMS cung cấp tính suốt phân mãnh, ta thấy tính suốt thể sau: Khi muốn tìm người có Id=“Id1” cần tìm quan hệ tổng thể NCC mà khơng cần biết quan hệ NCC có phân tán hay không 13 Kiến trúc tham khảo CSDL phân bố Trong suốt phân mãnh 14 07/05/14 Kiến trúc tham khảo CSDL phân bố Trong suốt vị trí (định vị liệu) Ví dụ: Với quan hệ tổng thể R phân mãnh nói giả sử DDBMS cung cấp suốt vị trí khơng cung cấp suốt phân mãnh Xét câu truy vấn tìm người có Id=”Id1” SELECT * FROM NCC1 WHERE Id=”Id1” IF NOT #FOUND THEN SELECT * FROM NCC2 WHERE Id=”Id1” 15 Kiến trúc tham khảo CSDL phân bố Trong suốt vị trí (định vị liệu) 16 07/05/14 Kiến trúc tham khảo CSDL phân bố Trong suốt vị trí (định vị liệu) Đầu tiên hệ thống thực tìm kiếm phân mãnh NCC1 DBMS trả biến điều khiển #FOUND câu lệnh truy vấn tương tự thực phân mãnh NCC2 , Ở quan hệ NCC2 làm hai hai vị trí vị trí 3, ta cần tìm thơng tin quan hệ NCC2 mà khơng cần quan tâm vị trí 17 Kiến trúc tham khảo CSDL phân bố Trong suốt ánh xạ cục (địa phương) Local mapping transparency Lược đồ định vị (allocation schema) Quan hệ cục (local relation) Làm việc lược đồ định vị Các ứng dụng phải xác định truy nhập vào phân mãnh phân mãnh đặt vị trí hệ sở liệu phân tán Nhìn thấy quan hệ cục bộ, ko nhìn thấy CSDL vật lý 18 07/05/14 Kiến trúc tham khảo CSDL phân bố Trong suốt ánh xạ cục (địa phương) Ứng dụng tham chiếu đến đối tượng có tên độc lập từ hệ thống cục địa phương Ứng dụng cài đặt hệ thống không đồng sử dụng hệ thống đồng 19 Kiến trúc tham khảo CSDL phân bố Trong suốt nhân Replication transparency Bản nhân (replica) Độc lập với DBMS địa phương 20 10 07/05/14 Phân mãnh hỗn hợp Phân mảnh hỗn hợp - kết hợp hai kiểu phân mảnh ngang phân mảnh dọc Hai phương pháp phân mảnh kết hợp Phân mảnh ngang trước phân mảnh dọc Phân mảnh dọc trước phân mảnh ngang 59 Phân mãnh hỗn hợp Ví dụ Quan hệ tồn cục Phân mảnh hỗn hợp 60 30 07/05/14 Phân mãnh hỗn hợp Ví dụ Cây phân mảnh quan hệ EMP 61 Phân mãnh hỗn hợp Ví dụ: Lược đồ tịan cục Lược đồ phân mảnh 62 31 07/05/14 Phân mãnh hỗn hợp Lược đồ phân mảnh 63 NỘI DUNG Kiến trúc tham khảo CSDL phân bố Các loại phân mãnh liệu Các điều kiện đắn để phân mãnh liệu Phân mãnh nganh Phân mãnh ngang dẫn xuất Phân mãnh dọc Phân mãnh hỗn hợp Tính suốt phân tán dùng cho ứng dụng đọc Tính suốt phân tán dùng cho ứng dụng cập nhật Các tác vụ truy xuất CSDL phân bố Các ràng buộc toàn vẹn CSDL phân bố 64 32 07/05/14 Tính suốt PT ứng dụng đọc Ví dụ 1: Cho biết tên nhà cung cấp có mã nhập từ thiết bị đầu cuối Mức 1: Trong suốt phân mảnh 65 Tính suốt PT ứng dụng đọc Mức 2: Trong suốt vị trí 66 33 07/05/14 Tính suốt PT ứng dụng đọc Trường hợp liệu nhập liên quan đến vị từ định tính mảnh 67 Tính suốt PT ứng dụng đọc Ví dụ: Cho biết tên nhà cung cấp mà họ cung cấp mặt hàng có mã nhập từ thiết bị đầu cuối Giả sử mặt hàng đựợc cung cấp nhà cung cấp 68 34 07/05/14 Tính suốt PT ứng dụng đọc Mức 1: Trong suốt phân mảnh 69 Tính suốt PT ứng dụng đọc Mức 2: Trong suốt vị trí 70 35 07/05/14 NỘI DUNG Kiến trúc tham khảo CSDL phân bố Các loại phân mãnh liệu Các điều kiện đắn để phân mãnh liệu Phân mãnh nganh Phân mãnh ngang dẫn xuất Phân mãnh dọc Phân mãnh hỗn hợp Tính suốt phân tán dùng cho ứng dụng đọc Tính suốt phân tán dùng cho ứng dụng cập nhật Các tác vụ truy xuất CSDL phân bố Các ràng buộc toàn vẹn CSDL phân bố 71 Tính suốt PT cho ứng dụng cập nhật Cập nhật liệu (INSERT, UPDATE, DELETE) phải bảo đảm ràng buộc toàn vẹn khóa chính, khóa ngọai, phụ thuộc hàm, ràng buộc nghiệp vụ,… 72 36 07/05/14 Tính suốt PT cho ứng dụng cập nhật Chỉnh sửa liệu CSDL phân tán Khơng có vị từ định tính Có vị từ định tính giá trị vị từ định tính khơng bị thay đổi thay liệu cũ liệu Có vị từ định tính giá trị vị từ định tính bị thay đổi thay liệu cũ liệu 73 Tính suốt PT cho ứng dụng cập nhật Ví dụ Sửa liệu nhân viên có mã 100: mã phòng thành 15 Các mảnh: Emp1 đặt site Emp2 đặt site Emp3 đặt site Emp4 đặt site 74 37 07/05/14 Tính suốt PT cho ứng dụng cập nhật 75 Tính suốt PT cho ứng dụng cập nhật Ví dụ: 76 38 07/05/14 Tính suốt PT cho ứng dụng cập nhật Mức – Trong suốt phân mảnh 77 Tính suốt PT cho ứng dụng cập nhật Mức – Trong suốt vị trí 78 39 07/05/14 Tính suốt PT cho ứng dụng cập nhật Mức – Trong suốt vị trí 79 NỘI DUNG Kiến trúc tham khảo CSDL phân bố Các loại phân mãnh liệu Các điều kiện đắn để phân mãnh liệu Phân mãnh nganh Phân mãnh ngang dẫn xuất Phân mãnh dọc Phân mãnh hỗn hợp Tính suốt phân tán dùng cho ứng dụng đọc Tính suốt phân tán dùng cho ứng dụng cập nhật Các tác vụ truy xuất CSDL phân bố Các ràng buộc toàn vẹn CSDL phân bố 80 40 07/05/14 Các tác vụ truy xuất CSDLPB Trả kết giá trị đơn Trả kết quan hệ Ví dụ: SELECT EMPNUM, NAME INTO $EMP_REL($EMPNUM,$SNAME) FROM EMP Ví dụ: xét chƣơng trình ứng dụng lấy tất mặt hàng đƣợc cung cấp tập hợp nhà cung cấp 81 Các tác vụ truy xuất CSDLPB Repeat read(terminal, $SNUM); delete from $PNUM_REL; insert into $PNUM_REL($PNUM) select PNUM from SUPPLY where SNUM=$SNUM; repeat read($PNUM_REL, $PNUM); write(terminal, $SNUM, $PNUM) until END-OF-$PNUM_REL Until END-OF-TERMINAL-INPUT; 82 41 07/05/14 Các tác vụ truy xuất CSDLPB repeat Read(terminal, $SNUM); Insert into $SNUM_REL($SNUM) Values($SNUM) Until END-OF-TERMINAL-INPUT; Insert into $PNUM_REL($SNUM,$PNUM) Select $SNUM,PNUM From SUPPLY,$SNUM_REL WHRE SUPPLY.SNUM=$SNUM_REL.$SNUM Repeat read($PNUM_REL, $SNUM, $PNUM) write(terminal, $SNUM, $PNUM) Until END-OF-$PNUM_REL 83 Các tác vụ truy xuất CSDLPB Insert into $TEMP_REL($TEMP_PNUM,$TEMP_SNUM) Select PNUM, SNUM From SUPPLY; Repeat read(terminal, $SNUM); delete from $TEMP_REL; insert into $TEMP2_REL($TEMP2_PNUM) select $TEMP_PNUM from $TEMP_REL where $TEMP_SNUM=$SNUM; repeat read($TEMP2_REL, $TEMP2_PNUM) write(terminal, $SNUM, $TEMP2_PNUM) until END-OF-$TEMP2_REL Until END-OF-TERMINAL-INPUT 84 42 07/05/14 NỘI DUNG Kiến trúc tham khảo CSDL phân bố Các loại phân mãnh liệu Các điều kiện đắn để phân mãnh liệu Phân mãnh nganh Phân mãnh ngang dẫn xuất Phân mãnh dọc Phân mãnh hỗn hợp Tính suốt phân tán dùng cho ứng dụng đọc Tính suốt phân tán dùng cho ứng dụng cập nhật Các tác vụ truy xuất CSDL phân bố Các ràng buộc toàn vẹn CSDL phân bố 85 Các ràng buộc toàn vẹn CSDL PB Ràng buộc toàn vẹn định nghĩa quan hệ toàn cục select from SUPPLY where SNUM = $SNUM if not #FOUND then delete from SUPPLIER where SNUM=$SNUM 86 43 07/05/14 87 44 ... END-OF-$TEMP2_REL Until END-OF-TERMINAL-INPUT 84 42 07/05/14 NỘI DUNG Kiến trúc tham khảo CSDL phân bố Các loại phân mãnh liệu Các điều kiện đắn để phân mãnh liệu Phân mãnh nganh Phân. .. Lược đồ phân mảnh 62 31 07/05/14 Phân mãnh hỗn hợp Lược đồ phân mảnh 63 NỘI DUNG Kiến trúc tham khảo CSDL phân bố Các loại phân mãnh liệu Các điều kiện đắn để phân mãnh liệu Phân mãnh... tường minh mức định vị 30 15 07/05/14 NỘI DUNG Kiến trúc tham khảo CSDL phân bố Các loại phân mãnh liệu Các điều kiện đắn để phân mãnh liệu Phân mãnh nganh Phân mãnh ngang dẫn xuất Phân