Chương III. Các mức trong suốt trong phân bố

NỘI DUNG  Kiến trúc tham khảo của CSDL 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  Phân mãnh nganh chính  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 trong suốt phân tán dùng cho ứng dụng chỉ đọc  Tính trong suốt phân tán dùng cho ứng dụng cập nhật  Các tác vụ cơ bản truy xuất CSDL phân bố  Các ràng buộc toàn vẹn trong CSDL phân bố

pdf44 trang | Chia sẻ: vutrong32 | Lượt xem: 2045 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Chương III. Các mức trong suốt trong phân bố, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
07/05/14 1 CHƢƠNG III. CÁC MỨC TRONG SUỐT TRONG PHÂN BỐ TRƯỜNG CAO ĐẰNG CÔNG NGHỆ THÔNG TIN TP.HỒ CHÍ MINH 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 của CSDL 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  Phân mãnh nganh chính  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 trong suốt phân tán dùng cho ứng dụng chỉ đọc  Tính trong suốt phân tán dùng cho ứng dụng cập nhật  Các tác vụ cơ bản truy xuất CSDL phân bố  Các ràng buộc toàn vẹn trong CSDL phân bố 2 07/05/14 2 Kiến trúc tham khảo của CSDL phân bố 3 Lược đồ toàn cục - Global Schema  Xác định tất cả các dữ liệu sẽ được lưu trữ trong CSDLPT cũng như các dữ liệu không được phân tán ở các trạm trong hệ thống  Global schema được định nghĩa theo cách như trong CSDL tập trung  Trong mô hình quan hệ, global schema bao gồm định nghĩa của tập các quan hệ tổng thể (Globle relation) 4 Kiến trúc tham khảo của CSDL phân bố 07/05/14 3 Lược đồ phân mãnh - Fragment Schema  Mỗi quan hệ tổng thể có thể chia thành một vài phần không giao nhau gọi là phân mãnh (fragment)  Có nhiều cách khác nhau để thực hiện việc phân chia fragments 5 Kiến trúc tham khảo của CSDL phân bố Lược đồ phân mãnh - Fragment Schema  Sơ đồ phân mãnh mô tả các ánh xạ giữa các quan hệ tổng thể và các đoạn được định nghĩa trong sơ đồ phân mãnh  Các mãnh được mô tả bằng tên của quan hệ tổng thể cùng với chỉ mục. Chẳng hạn, Ri được hiểu là mãnh thứ i của quan hệ R 6 Kiến trúc tham khảo của CSDL phân bố 07/05/14 4 Lược đồ định vị - Allocation schema  Các mãnh là các phần logic của một quan hệ tổng thể được định vị vật lý trên một hay nhiều trạm  Sơ đồ định vị xác định đoạn dữ liệu nào được định vị tại trạm nào trên mạng 7 Kiến trúc tham khảo của CSDL phân bố Lược đồ định vị - Allocation schema  Tất cả các mãnh được liên kết với cùng một quan hệ tổng thể R và được định vị tại cùng một trạm j cấu thành ảnh vật lý quan hệ tổng thể R tại trạm j  Do đó ta có thể ánh xạ một-một giữa một ảnh vật lý và một cặp (quan hệ tổng thể, trạm)  Các ảnh vật lý có thể chỉ ra bằng tên của một quan hệ tổng thể và một chỉ mục trạm 8 Kiến trúc tham khảo của CSDL phân bố 07/05/14 5 Lược đồ định vị - Allocation schema  Ký hiệu Ri để chỉ đoạn thứ i của quan hệ tổng thể R  Ký hiệu Rj để chỉ ảnh vật lý của quan hệ tổng thể R tại trạm j  Tương tự như vậy, bản sao của đoạn i thuộc quan hệ R tại trạm j được ký hiệu là Ri j 9 Kiến trúc tham khảo của CSDL phân bố 10 Các mãnh và các hình ảnh vật lý của một quan hệ toàn cục Kiến trúc tham khảo của CSDL phân bố 07/05/14 6 Sự tách biệt giữa phân mãnh dữ liệu với khái niệm định vị dữ liệu Biết được dữ liệu dư thừa Độc lập với các DBMS địa phương 11 Kiến trúc tham khảo của 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ở dữ liệu phân bố trong suốt hoàn toàn. Làm việc trên CSDLPB hoàn toàn giống như làm việc với cơ sở dữ liệu tập trung. 12 Kiến trúc tham khảo của CSDL phân bố 07/05/14 7 Trong suốt phân mãnh  Ví dụ: Xét quan hệ tổng thể NCC (Id, Tên, Tuổi) và các phân mãnh được tách ra 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 trong suốt về phân mãnh, khi đó ta có thể thấy tính trong suốt này được thể hiện như sau: Khi muốn tìm một người có Id=“Id1” thì chỉ cần tìm trên 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 của CSDL phân bố Trong suốt phân mãnh 14 Kiến trúc tham khảo của CSDL phân bố 07/05/14 8 Trong suốt vị trí (định vị dữ liệu)  Ví dụ: Với quan hệ tổng thể R và các phân mãnh như đã nói ở trên nhưng giả sử rằng DDBMS cung cấp trong suốt về vị trí nhưng không cung cấp trong suốt về 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 của CSDL phân bố Trong suốt vị trí (định vị dữ liệu) 16 Kiến trúc tham khảo của CSDL phân bố 07/05/14 9 Trong suốt vị trí (định vị dữ liệu)  Đầu tiên hệ thống sẽ thực hiện tìm kiếm ở phân mãnh NCC1 và nếu DBMS trả về biến điều khiển #FOUND thì một câu lệnh truy vấn tương tự được thực hiện trên phân mãnh NCC2 ,...  Ở đây quan hệ NCC2 được sao làm hai bản trên hai vị trí 2 và vị trí 3, ta chỉ cần tìm thông tin trên quan hệ NCC2 mà không cần quan tâm nó ở vị trí nào. 17 Kiến trúc tham khảo của CSDL phân bố Trong suốt ánh xạ cục bộ (địa phương)  Local mapping transparency  Lược đồ định vị (allocation schema)  Quan hệ cục bộ (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 nào và phân mãnh đó được đặt tại vị trí nào trong hệ cơ sở dữ 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 Kiến trúc tham khảo của CSDL phân bố 07/05/14 10 Trong suốt ánh xạ cục bộ (địa phương)  Ứng dụng tham chiếu đến các đối tượng có các tên độc lập từ các hệ thống cục bộ địa phương.  Ứng dụng được cài đặt trên một hệ thống không đồng nhất nhưng được sử dụng như một hệ thống đồng nhất. 19 Kiến trúc tham khảo của CSDL phân bố Trong suốt nhân bản  Replication transparency  Bản nhân (replica)  Độc lập với các DBMS địa phương 20 Kiến trúc tham khảo của CSDL phân bố 07/05/14 11 Không trong suốt  No transparency  Lược đồ ánh xạ cục bộ (local mapping schema) Do tính không đồng nhất của Hệ CSDLPT các ứng dụng thông thường phải xây dựng các hàm và cài đặt các hàm phụ trợ này tại các địa phương. Sau đó, chương trình ứng dụng sẽ kích hoạt các hàm phụ trợ này từ xa thông qua mạng để thay thế cho việc chạy các lệnh SQL 21 Kiến trúc tham khảo của CSDL phân bố NỘI DUNG  Kiến trúc tham khảo của CSDL 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  Phân mãnh nganh chính  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 trong suốt phân tán dùng cho ứng dụng chỉ đọc  Tính trong suốt phân tán dùng cho ứng dụng cập nhật  Các tác vụ cơ bản truy xuất CSDL phân bố  Các ràng buộc toàn vẹn trong CSDL phân bố 22 07/05/14 12 Các loại phân mãnh dữ liệu Phân mảnh ngang  Horizontal fragmentation – HF  Phân mảnh ngang một quan hệ tổng thể n-bộ R là tách R thành các quan hệ con R1, R2, ..., Rk sao cho quan hệ R có thể được khôi phục lại từ các quan hệ con này bằng phép hợp: R = R1  R2 ...  Rk Phân mảnh ngang chính (primary HF) - Một quan hệ được thực hiện dựa trên các vị từ được định nghĩa trên quan hệ đó Phân mảnh ngang dẫn xuất (derived HF) - một quan hệ được thực hiện dựa trên các vị từ được định nghĩa trên quan hệ khác 23 Phân mảnh ngang - Horizontal fragmentation 24 Các loại phân mãnh dữ liệu 07/05/14 13 Phân mảnh dọc  Vertical fragmentation – VF  Phân mảnh dọc một quan hệ tổng thể n-bộ R là tách R thành các quan hệ con n-bộ R1, R2, ..., Rk sao cho quan hệ R có thể được khôi phục lại từ các quan hệ con này bằng phép nối: R = R1 |><| Rk Phân mảnh hỗn hợp  Kết hợp cả phân mảnh ngang và phân mảnh dọc 25 Các loại phân mãnh dữ liệu 26 Các loại phân mãnh dữ liệu 07/05/14 14 NỘI DUNG  Kiến trúc tham khảo của CSDL 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  Phân mãnh nganh chính  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 trong suốt phân tán dùng cho ứng dụng chỉ đọc  Tính trong suốt phân tán dùng cho ứng dụng cập nhật  Các tác vụ cơ bản truy xuất CSDL phân bố  Các ràng buộc toàn vẹn trong CSDL phân bố 27 Các điều kiện đúng đắn Quan hệ R được phân rã thành các mãnh R1, R2, ..., Rn Điều kiện đầy đủ (Completeness condition)  Mỗi mục dữ liệu trong R phải có trong một hoặc nhiều mảnh Ri  Phân mảnh ngang:  Phân mảnh dọc: 28 07/05/14 15 Điều kiện tái tạo – Reconstruction condition  Luôn luôn có thể xác định một phép tóan quan hệ  sao cho:  Phân mảnh ngang:  Phân mảnh dọc: 29 Các điều kiện đúng đắn Điều kiện tách biệt (Disjointness condition)  Nếu mục dữ liệu di có trong Ri thì nó không có trong bất kỳ mảnh Rk khác (i # k)  Phân mảnh ngang:  Hoặc  Nhưng phân mãnh dọc, thông thường các thuộc tính khóa chính đều có trong các mãnh của nó  vi phạm. Điều tách biệt đảm bảo việc nhân bản dữ liệu có thể điều khiển 1 cách tường minh ở mức định vị. 30 Các điều kiện đúng đắn 07/05/14 16 NỘI DUNG  Kiến trúc tham khảo của CSDL 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  Phân mãnh nganh chính  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 trong suốt phân tán dùng cho ứng dụng chỉ đọc  Tính trong suốt phân tán dùng cho ứng dụng cập nhật  Các tác vụ cơ bản truy xuất CSDL phân bố  Các ràng buộc toàn vẹn trong CSDL phân bố 31 Phân mãnh nganh chính Sự phân chia các bộ của một quan hệ toàn cục thành các tập hợp con dựa vào các thuộc tính của nó. Mỗi tập hợp con được gọi là mảnh ngang Mỗi một mảnh ngang được thực hiện bởi một phép chọn trên quan hệ toàn cục Vị từ định tính (qualification) của mảnh ngang: điều kiện chọn 32 07/05/14 17 Ví dụ Quan hệ toàn cục Các mảng ngang Các vị từ định tính Xét các điều kiện đúng đắn 33 Phân mãnh nganh chính Điều kiện đầy đủ: Tập hợp các vị từ định tính của các mảnh ngang phải đầy đủ Điều kiện tái tạo: Phép hợp Điều kiện tách biệt: Các vị từ định tính phải loại trừ nhau 34 Phân mãnh nganh chính 07/05/14 18 Ví dụ: Xét cơ sở dữ liệu của một công ty máy tính được tổ chức như sau: NHANVIEN (MANV, TENNV, CHUCVU): quan hệ này chứa dữ liệu về nhân viên của công ty. 35 Phân mãnh nganh chính HOSO (MANV, MADA, NHIEMVU, THOIGIAN): quan hệ này chứa dữ liệu về hồ sơ của nhân viên được phân công thực hiện dự án). 36 Phân mãnh nganh chính 07/05/14 19 DUAN (MADA, TENDA, NGANSACH): quan hệ này chứa dữ liệu về các dự án mà công ty đang phát triển 37 Phân mãnh nganh chính TLUONG (CHUCVU, LUONG): quan hệ này chứa dữ liệu liên quan về lương và chức vụ của nhân viên. 38 Phân mãnh nganh chính 07/05/14 20 39 Phân mãnh nganh chính Ví dụ: Giả sử ta có quan hệ gốc PROJECT với thể hiện như sau: 40 Phân mãnh nganh chính 07/05/14 21 Định nghĩa phân mãnh như sau 41 Phân mãnh nganh chính Định nghĩa phân mãnh như sau 42 Phân mãnh nganh chính 07/05/14 22 NỘI DUNG  Kiến trúc tham khảo của CSDL 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  Phân mãnh nganh chính  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 trong suốt phân tán dùng cho ứng dụng chỉ đọc  Tính trong suốt phân tán dùng cho ứng dụng cập nhật  Các tác vụ cơ bản truy xuất CSDL phân bố  Các ràng buộc toàn vẹn trong CSDL phân bố 43 Phân mãnh ngang dẫn xuất Phân mảnh ngang dẫn xuất - Là sự phân chia các bộ của một quan hệ toàn cục thành các tập hợp con, được gọi là mảnh ngang, dựa vào sự phân mảnh ngang của một quan hệ khác (được gọi là quan hệ chủ) Vị từ định tính (qualification):  Điều kiện kết  Vị từ định tính của quan hệ chủ tương ứng 44 07/05/14 23 Ví dụ: Quan hệ toàn cục Các mảnh ngang dẫn xuất Các vị từ định tính 45 Phân mãnh ngang dẫn xuất Xét điều kiện  Điều kiện đầy đủ:  Điều kiện tách biệt 46 Phân mãnh ngang dẫn xuất 07/05/14 24 Xét lƣợc đồ đơn giản 47 Phân mãnh ngang dẫn xuất 48 Phân mãnh ngang dẫn xuất 07/05/14 25 Định nghĩa 2 quan hệ dẫn xuất Trong đó: 49 Phân mãnh ngang dẫn xuất EMP1 = EMP |>< TITLE = TITLE PAY1 EMP2 = EMP |>< TITLE = TITLE PAY2 PAY1 = SL (SAL <= 30000) PAY PAY2 = SL (SAL > 30000) PAY 50 Phân mãnh ngang dẫn xuất 07/05/14 26 Để thực hiện được phân mảnh dẫn xuất trên, cần:  Tập các phân đoạn của quan hệ chủ ( PAY1 và PAY2 )  Quan hệ thành viên (EMP)  Phép kết giữa quan hệ chủ và quan hệ thành viên. 51 Phân mãnh ngang dẫn xuất NỘI DUNG  Kiến trúc tham khảo của CSDL 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  Phân mãnh nganh chính  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 trong suốt phân tán dùng cho ứng dụng chỉ đọc  Tính trong suốt phân tán dùng cho ứng dụng cập nhật  Các tác vụ cơ bản truy xuất CSDL phân bố  Các ràng buộc toàn vẹn trong CSDL phân bố 52 07/05/14 27 Phân mãnh dọc Phân mảnh dọc  Sự phân chia tập thuộc tính của một quan hệ toàn cục thành một tập thuộc tính con  Các mảnh dọc (vertical fragment) là kết quả phép chiếu quan hệ toàn cục trên mỗi thuộc tính con  Mỗi phân đoạn là một phần chẻ dọc của quan hệ gốc ban đầu 53 Ví dụ Quan hệ toàn cục Phân mảnh dọc không dư thừa Phân mảnh dọc dư thừa 54 Phân mãnh dọc 07/05/14 28 Thường sử dụng phép chiếu Mỗi phân đoạn đều chứa khoá của quan hệ Một phân mảnh tối ưu:  Tạo ra một lược đồ phân mảnh cho phép giảm đến tối đa thời gian thực thi các ứng dụng chạy trên các mảnh đó. Đặc trưng của phân mảnh dọc: Nhân bản khóa của quan hệ toàn cục trong các mảnh 55 Phân mãnh dọc Ví dụ Thực hiện phân mãnh đọc với định nghĩa 56 Phân mãnh dọc 07/05/14 29 Ví dụ 57 Phân mãnh dọc NỘI DUNG  Kiến trúc tham khảo của CSDL 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  Phân mãnh nganh chính  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 trong suốt phân tán dùng cho ứng dụng chỉ đọc  Tính trong suốt phân tán dùng cho ứng dụng cập nhật  Các tác vụ cơ bản truy xuất CSDL phân bố  Các ràng buộc toàn vẹn trong CSDL phân bố 58 07/05/14 30 Phân mãnh hỗn hợp Phân mảnh hỗn hợp - kết hợp của cả hai kiểu phân mảnh ngang và 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 Ví dụ Quan hệ toàn cục Phân mảnh hỗn hợp 60 Phân mãnh hỗn hợp 07/05/14 31 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 Phân mãnh hỗn hợp 07/05/14 32 Lược đồ phân mảnh 63 Phân mãnh hỗn hợp NỘI DUNG  Kiến trúc tham khảo của CSDL 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  Phân mãnh nganh chính  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 trong suốt phân tán dùng cho ứng dụng chỉ đọc  Tính trong suốt phân tán dùng cho ứng dụng cập nhật  Các tác vụ cơ bản truy xuất CSDL phân bố  Các ràng buộc toàn vẹn trong CSDL phân bố 64 07/05/14 33 Tính trong suốt PT trong ứng dụng chỉ đọ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 Mức 2: Trong suốt vị trí 66 Tính trong suốt PT trong ứng dụng chỉ đọc 07/05/14 34 Trường hợp dữ liệu nhập liên quan đến vị từ định tính của mảnh 67 Tính trong suốt PT trong ứng dụng chỉ đọ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 mặt hàng chỉ đựợc cung cấp bởi một nhà cung cấp. 68 Tính trong suốt PT trong ứng dụng chỉ đọc 07/05/14 35 Mức 1: Trong suốt phân mảnh 69 Tính trong suốt PT trong ứng dụng chỉ đọc Mức 2: Trong suốt vị trí 70 Tính trong suốt PT trong ứng dụng chỉ đọc 07/05/14 36 NỘI DUNG  Kiến trúc tham khảo của CSDL 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  Phân mãnh nganh chính  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 trong suốt phân tán dùng cho ứng dụng chỉ đọc  Tính trong suốt phân tán dùng cho ứng dụng cập nhật  Các tác vụ cơ bản truy xuất CSDL phân bố  Các ràng buộc toàn vẹn trong CSDL phân bố 71 Tính trong suốt PT cho ứng dụng cập nhật Cập nhật dữ liệu (INSERT, UPDATE, DELETE) phải bảo đảm các ràng buộc toàn vẹn về khóa chính, khóa ngọai, phụ thuộc hàm, ràng buộc nghiệp vụ, 72 07/05/14 37 Chỉnh sửa dữ liệu trong CSDL phân tán  Không có trong vị từ định tính  Có trong vị từ định tính và giá trị của vị từ định tính không bị thay đổi khi thay thế dữ liệu cũ bởi dữ liệu mới  Có trong vị từ định tính và giá trị của vị từ định tính bị thay đổi khi thay thế dữ liệu cũ bởi dữ liệu mới 73 Tính trong suốt PT cho ứng dụng cập nhật Ví dụ  Sửa dữ liệu của nhân viên có mã 100: mã phòng 3 thành 15  Các mảnh: Emp1 đặt tại site 1 và 5 Emp2 đặt tại site 2 và 6 Emp3 đặt tại site 3 và 7 Emp4 đặt tại site 4 và 8 74 Tính trong suốt PT cho ứng dụng cập nhật 07/05/14 38 75 Tính trong suốt PT cho ứng dụng cập nhật Ví dụ: 76 Tính trong suốt PT cho ứng dụng cập nhật 07/05/14 39 Mức 1 – Trong suốt phân mảnh 77 Tính trong suốt PT cho ứng dụng cập nhật Mức 2 – Trong suốt vị trí 78 Tính trong suốt PT cho ứng dụng cập nhật 07/05/14 40 Mức 2 – Trong suốt vị trí 79 Tính trong suốt PT cho ứng dụng cập nhật NỘI DUNG  Kiến trúc tham khảo của CSDL 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  Phân mãnh nganh chính  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 trong suốt phân tán dùng cho ứng dụng chỉ đọc  Tính trong suốt phân tán dùng cho ứng dụng cập nhật  Các tác vụ cơ bản truy xuất CSDL phân bố  Các ràng buộc toàn vẹn trong CSDL phân bố 80 07/05/14 41 Các tác vụ cơ bản truy xuất CSDLPB Trả về kết quả một giá trị đơn Trả về kết quả là các quan hệ Ví dụ: Ví dụ: xét chƣơng trình ứng dụng lấy tất cả các mặt hàng đƣợc cung cấp bởi một tập hợp các nhà cung cấp 81 SELECT EMPNUM, NAME INTO $EMP_REL($EMPNUM,$SNAME) FROM EMP 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 Các tác vụ cơ bản truy xuất CSDLPB 07/05/14 42 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ụ cơ bản 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 Các tác vụ cơ bản truy xuất CSDLPB 07/05/14 43 NỘI DUNG  Kiến trúc tham khảo của CSDL 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  Phân mãnh nganh chính  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 trong suốt phân tán dùng cho ứng dụng chỉ đọc  Tính trong suốt phân tán dùng cho ứng dụng cập nhật  Các tác vụ cơ bản truy xuất CSDL phân bố  Các ràng buộc toàn vẹn trong CSDL phân bố 85 Các ràng buộc toàn vẹn trong CSDL PB Ràng buộc toàn vẹn được định nghĩa trong các quan hệ toàn cục select 1 from SUPPLY where SNUM = $SNUM if not #FOUND then delete from SUPPLIER where SNUM=$SNUM 86 07/05/14 44 87

Các file đính kèm theo tài liệu này:

  • pdfchuong_3_cac_muc_trong_suot_trong_phan_bo_6379.pdf