Nội dung Đặt vấn đề Hướng tiếp cận của bài báo Phương pháp giải quyết cho các trường hợp... Hướng tiếp cận Giao diện lược đồ phổ quát giải quyết ntn: Lưu trữ: Vẫn lưu trữ các Qi
Trang 1VOLKERT BROSDA & GOTTFRIED VOSSEN
Môn học: Các Hệ CSDL Nâng cao
Giảng viên: PGS-TSKH Đồng Thị Bích Thủy
Trang 2Nội dung
Đặt vấn đề
Hướng tiếp cận của bài báo
Phương pháp giải quyết cho các trường hợp
Trang 303/11/15 3
1 Đặt vấn đề
Trước đó muốn thao tác trên CSDL, cần phải biết
cấu trúc (bảng, thuộc tính) của nó
Ví dụ: C = {Q i , F i }
Truy vấn: GV(MaGV, Hoten), HOC(MaGV, MaSV, MaMon)
Hãy cho biết những sinh viên học giáo viên tên ABC ?
δHoten=ABC (GV HOC) Cần biết cấu trúc C ()
Cập nhật (Update + Delete + Insert): diễn ra trên từng
Qi cũng cần biết cấu trúc C ()
Lược đồ phổ quát (Universal schemas) giải
quyết
MAGV
Trang 41 Đặt vấn đề
Lý do cần lược đồ phổ quát
C = {Qi, Fi} - Kết quả đã đạt được:
Truy vấn: δHoten=ABC Q o
Cập nhật: Vẫn diễn ra trên từng Qi nên vẫn cần biết cấu trúc C
Người dùng cần được giải phóng khỏi việc phải biết cấu trúc CSDL
Mục tiêu của bài báo
Trang 503/11/15 5
Nội dung
Đặt vấn đề
Hướng tiếp cận của bài báo
Phương pháp giải quyết cho các trường hợp
Trang 62 Hướng tiếp cận
Giao diện lược đồ phổ quát giải quyết ntn:
Lưu trữ: Vẫn lưu trữ các Qi riêng biệt
Cung cấp giao diện Qo phục vụ cho:
Truy vấn: chỉ cần chiếu lên các thuộc tính mong muốn không mới
Cập nhật: Thao tác trực tiếp trên Q0, hệ thống
tự kiểm tra tính hợp lệ của dữ liệu mới đóng góp của bài báo này
Lưu ý: Update = Delete + Insert
Trang 703/11/15 7
Nội dung
Đặt vấn đề
Hướng tiếp cận của bài báo
Phương pháp giải quyết cho các trường hợp
Trang 83 PP giải quyết các TH – Khái niệm
Object: là tập thuộc tính được người dùng
quan tâm
Tập các object được gọi là P
Trang 903/11/15 9
3 PP giải quyết các TH – Insert
Một bộ q được insert vào gọi là hợp lệ nếu:
Tập thuộc tính của nó phải là đối tượng (object)
Không làm mất tính nhất quán của CSDL
Cần xét q có khả năng ảnh hướng lên những Qi
nào
Tập các Qi như vậy gọi là vùng duy nhất, ký hiệu: ureg(attr(q))
Trang 103 PP giải quyết các TH – Insert
Một object q ∈ Qi được thêm
vào không vị phạm nhất quán
Qi thỏa ĐKDN chỉ cần xét trong nội bộ Qi
Qi không thỏa ĐKDN
do những {Qj} nào?
phải xét q trên các
{Qj} này
Trang 1103/11/15 11
3 PP giải quyết các TH – Insert
Xét thỏa điều kiện duy nhất
Nếu q không nằm gọn trong 1 Qi ? Tách q ra thành từng object con để insert
Cơ chế ràng buộc khóa ngoại
sửa đổi
1. Dựa trên chuỗi kết hàm tối
tiểu phủ đầy các thuộc tính
Trang 123 PP giải quyết các TH – Insert
Nếu q là kết của nhiều quan hệ {Qj}
Chia q thành {q1, q2, …, qk} sao cho mỗi qj nằm
trọn trong 1 Qj (các qj phải là object)
Việc thêm q = thêm lần lượt các qj
“Xếp hạng” cho các Qj, thêm “ lần lượt ” nghĩa là thêm
theo thứ hạng từ thấp đến cao
Xếp hạng dựa theo sự ràng buộc khóa ngoại giữa các quan hệ khác
Trang 1303/11/15 13
3 PP giải quyết các TH – Insert
Ví dụ vùng duy nhất + xác định chuỗi kết hàm tối thiểu phủ đầy
<Q2(CDF){C→D,C→F}>
<Q3(DI),{D→I}> ; <Q4(FDH),{FD→H}>
<Q5(FG),{F→G}> ; <Q6(GI),{I→G}>
Muốn xác định vùng duy nhất của CDF:
∪ Fi-F6 = CDFIG… Chứa siêu khóa của Q6 = CDFIG… Chứa siêu khóa của Q6
Các quan hệ cần ktra theo CDF (hay Q2) là: {Q2, Q5,
Q6}
Chuỗi kết hàm tối tiểu phủ đầy Q2+, Q5+, Q6+ là:
Q2 Q3 Q5
Trang 143 PP giải quyết các TH – Insert
Trang 1503/11/15 15
Nội dung
Đặt vấn đề
Hướng tiếp cận của bài báo
Phương pháp giải quyết cho các trường hợp
Trang 163 PP giải quyết các TH – Delete
Đối tượng xóa phải nằm trọn trong 1 Qi
Nếu 1 tình trạng T của CSDL có được bằng
phép insert ở phần trước, khi đó xóa 1 bộ
q nào đó, tình trạng T’ mới cũng phải là
kết quả có được từ các hành động insert
Trang 17 C là khóa của R2, ngoài (C,F), còn có object (C,D) ứng với C=2
và 2 object này là độc lập nhau nếu xóa (C,F)=(1,1) mà
(C,D)=(1,1) cũng bị xóa là không hợp lý Yêu cầu Xóa(C,F)
“Xóa giá trị F=1 ứng với C=1 Thay (C,D,F)=(1,1,1)
bằng (C,D,F)=(1,1,null)
Lưu ý: người dùng chỉ thấy Qo, không thấy các {Qi}
Trang 183 PP giải quyết các TH – Delete
Trang 20Nội dung
Đặt vấn đề
Hướng tiếp cận của bài báo
Phương pháp giải quyết cho các trường hợp
Trang 2103/11/15 21
3 PP giải quyết các TH – Update
Trong bài báo này xem thao tác
update = delete + insert
Hướng giải quyết của update trong
lược đồ phổ quát là tổng hợp của 2 thao tác delete + insert
Trang 22Nội dung
Đặt vấn đề
Hướng tiếp cận của bài báo
Phương pháp giải quyết cho các trường hợp
Trang 2303/11/15 23
3 PP giải quyết các TH – Query
Truy vấn là tạo ra cửa sổ cho người dùng thấy được các
bộ họ mong muốn Phép truy vấn được gọi là phép tính tạo ra các cửa sổ như vậy
Gọi X là tập thuộc tính cần truy vấn (trên Q o ) – kí hiệu
[X] X đạt được qua phép toán sau:
[X] = τX(rep(d))Với rep(d) là thể hiện tiêu biểu của CSDL; τ là phép Total Projection, tức là chiếu lên tập X và trả ra những bộ
không chứa giá trị null.
Ví dụ:
retrieve (R)
where T = “Deadwood”
Trang 24Nội dung
Đặt vấn đề
Hướng tiếp cận của bài báo
Phương pháp giải quyết cho các trường hợp
Trang 2503/11/15 25
4 Kết luận
Đạt được
Tạo được giao diện Qo phục vụ cho truy vấn và câp
nhật Che khuất 1 phần sự phức tạp cấu trúc CSDL
Hạn chế
Delete diễn ra trên từng object Không hỗ trợ
“Delete all”
Không khớp nhau về quan điểm nhìn nhận giữa user
và designer về lược đồ CSDL và tên các thuộc tính
Người dùng vẫn phải biết đến “object” để cập nhật
Hạn chế của cách tiếp cận dựa trên Qo: Nếu CSDL có
quá nhiều thuộc tính, không thể yêu cầu người dùng nhớ tất cả chúng Thay vào đó, họ sẽ nhớ từng nhóm attr cục bộ phục vụ cho công việc của mình