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.
Trang 1CHƯƠNG III CÁC MỨC TRONG SUỐT TRONG PHÂN BỐ 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ố
Trang 2Kiến trúc tham khảo của CSDL phân bố
3
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
định nghĩa của tập các quan hệ tổng thể (Globle
Kiến trúc tham khảo của CSDL phân bố
Trang 3Lượ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ố
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
Kiến trúc tham khảo của CSDL phân bố
Trang 4Lược đồ định vị - Allocation schema
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ố
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
Trang 5Lượ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
quan hệ R tại trạm j được ký hiệu là Rij
9
Kiến trúc tham khảo của CSDL phân bố
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ố
Trang 6Sự tách biệt giữa phân mãnh dữ liệu với
khái niệm định vị dữ liệu
11
Kiến trúc tham khảo của CSDL phân bố
Fragmentation transparency
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
Kiến trúc tham khảo của CSDL phân bố
Trang 7Trong 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ố
Kiến trúc tham khảo của CSDL phân bố
Trang 8Trong 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”
Kiến trúc tham khảo của CSDL phân bố
Kiến trúc tham khảo của CSDL phân bố
Trang 9Trong 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 ,
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ó
Kiến trúc tham khảo của CSDL phân bố
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ý
Kiến trúc tham khảo của CSDL phân bố
Trang 10Trong suốt ánh xạ cục bộ (địa phương)
các tên độc lập từ các hệ thống cục bộ địa
phươ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ố
Replication transparency
Bản nhân (replica)
Kiến trúc tham khảo của CSDL phân bố
Trang 11Khô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
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ố
Trang 12Các loại phân mãnh dữ liệu
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
Các loại phân mãnh dữ liệu
Trang 13Phân mảnh dọc
Vertical fragmentation – VF
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
Các loại phân mãnh dữ liệu
Các loại phân mãnh dữ liệu
Trang 14NỘ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
R1, R2, , Rn
Mỗi mục dữ liệu trong R phải có trong một hoặc
nhiều mảnh Ri
Trang 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
Nếu mục dữ liệu d i có trong R i thì nó không có
trong bất kỳ mảnh R k khác (i # k)
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ị
Các điều kiện đúng đắn
Trang 16NỘ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
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ột phép chọn trên quan hệ toàn cục
ngang: điều kiện chọn
Trang 17tính của các mảnh ngang phải đầy đủ
phải loại trừ nhau
Phân mãnh nganh chính
Trang 18Ví 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)
Phân mãnh nganh chính
Trang 19DUAN (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
Phân mãnh nganh chính
Trang 2039
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:
Phân mãnh nganh chính
Trang 21Định nghĩa phân mãnh như sau
41
Phân mãnh nganh chính
Phân mãnh nganh chính
Trang 22NỘ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
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ủ)
Điều kiện kết
Vị từ định tính của quan hệ chủ tương ứng
Trang 23 Điều kiện đầy đủ:
Điều kiện tách biệt
Phân mãnh ngang dẫn xuất
Trang 24Xét lƣợc đồ đơn giản
47
Phân mãnh ngang dẫn xuất
Phân mãnh ngang dẫn xuất
Trang 25Định nghĩa 2 quan hệ dẫn xuất
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
Phân mãnh ngang dẫn xuất
Trang 26Để thực hiện được phân mảnh dẫn xuất
trên, cần:
và PAY2 )
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ố
Trang 27Phâ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
Phân mãnh dọc
Trang 28Thường sử dụng phép chiếu
hệ
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 đó
khóa của quan hệ toàn cục trong các
Trang 29Ví 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ố
Trang 30Phân mãnh hỗn hợp
kiểu phân mảnh ngang và phân mảnh
dọc
59
Phân mãnh hỗn hợp
Trang 31Ví dụ Cây phân mảnh quan hệ EMP
Trang 32Lượ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ố
Trang 33Tính trong suốt PT trong ứng dụng chỉ đọc
nhập từ thiết bị đầu cuối
65
Tính trong suốt PT trong ứng dụng chỉ đọc
Trang 34Trườ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
mặt hàng có mã nhập từ thiết bị đầu cuối
một nhà cung cấp
Tính trong suốt PT trong ứng dụng chỉ đọc
Trang 35Mức 1: Trong suốt phân mảnh
Trang 36NỘ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
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ụ,…
Trang 37Chỉ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
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
Tính trong suốt PT cho ứng dụng cập nhật
Trang 39Mức 1 – Trong suốt phân mảnh
Trang 40Mứ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ố
Trang 41Các tác vụ cơ bản truy xuất CSDLPB
Trả về kết quả một giá trị đơn
delete from $PNUM_REL;
insert into $PNUM_REL($PNUM)
Trang 42read($PNUM_REL, $SNUM, $PNUM)
write(terminal, $SNUM, $PNUM)
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)
Until END-OF-TERMINAL-INPUT
Các tác vụ cơ bản truy xuất CSDLPB
Trang 43NỘ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
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
Trang 4487