Tải bản đầy đủ (.ppt) (25 trang)

Update and retrieval in a relational database through a universal schema interface (USI)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (848.53 KB, 25 trang )

03/11/15 1
Update and Retrieval in a Relational
Database Through a Universal
Schema Interface (USI)
ACM Trans on DBMS, 1985
Nhóm thực hiện: Nhóm 9
Đỗ Thanh Toàn
Vũ Minh Trí
Võ Đình Phong
Phạm Cao Cường
VOLKERT 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
03/11/15 2
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

Insert

Delete

Update

Query

Kết luận


03/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
03/11/15 4
1. Đặt vấn đề

Lý do cần lược đồ phổ quát

C = {Q
i
, F
i
} - 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
03/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

Insert

Delete

Update

Query

Kết luận
03/11/15 6
2. 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 Q
o
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 Q
0
, 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
03/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

Insert

Delete

Update

Query

Kết luận
03/11/15 8
3. 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

C = {Q
i
, F

i
, P
i
}: P
i
là tập đối tượng của qh
Qi

C
o
= {Q
o
, F
o
, P
o
}
với P
o
là tập gồm:

Tập các object P

Tập các thuộc tính Q
i
+

VT

VP của các phụ thuộc hàm F

i
03/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))
03/11/15 10
3. PP giải quyết các TH – Insert
Vấn đề: Xét thỏa ĐKDN như thế nào ?
Insert trong lược đồ phổ quát Insert trong lược đồ quan hệ
Một object q ∈ Qi được thêm
vào không vị phạm nhất quán
toàn cục nếu:

Tập thuộc tính của q
thỏa điều kiện duy nhất
(ĐKDN)

Nếu không, phải xét
trên vùng duy nhất
ureg(attr(q)) = {Q

i
q
, Các
Q
j
liên quan}
Một bộ q ∈ Qi được thêm
vào không vi phạm nhất
quán toàn cục nếu:

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
03/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
Insert trong lược đồ phổ quát Insert trong lược đồ quan hệ
1. Dựa trên chuỗi kết hàm tối
tiểu phủ đầy các thuộc tính
của ureg(attr(q))
2. Chiếu lên tất cả Qj trong ureg
 nếu q không vi phạm thì q
có thể thêm được

1. Dựa trên chuỗi kết hàm tối
tiểu phủ đầy các (Qj)
+
2. Chiếu lên tất cả Qj  nếu q
không vi phạm thì q có thể
thêm được
03/11/15 12
3. 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
03/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
<Q1(ABCDE),{A
<Q1(ABCDE),{A


DEB,B
DEB,B



ACDE,DE
ACDE,DE


ABC}>
ABC}>
<Q2(CDF){C
<Q2(CDF){C


D,C
D,C


F}>
F}>
<Q3(DI),{D
<Q3(DI),{D


I}> ; <Q4(FDH),{FD
I}> ; <Q4(FDH),{FD


H}>
H}>
<Q5(FG),{F
<Q5(FG),{F



G}> ; <Q6(GI),{I
G}> ; <Q6(GI),{I


G}>
G}>
Muốn xác định vùng duy nhất của CDF:
Muốn xác định vùng duy nhất của CDF:
Ta có CDF
Ta có CDF ∈
Q2
Q2


Xét điều kiện duy nhất của
Xét điều kiện duy nhất của
Q2
Q2
-
Đối với Q1: (Q
Đối với Q1: (Q
2
2
)
)
+
+


Fi-F1
Fi-F1
ko chứa siêu khóa của Q1
ko chứa siêu khóa của Q1
-
Đối với Q3: (Q
Đối với Q3: (Q
2
2
)
)
+
+

Fi-F3
Fi-F3
ko chứa siêu khóa của Q3
ko chứa siêu khóa của Q3
-
Đối với Q4: (Q
Đối với Q4: (Q
2
2
)
)
+
+

Fi-F4
Fi-F4

ko chứa siêu khóa của Q4
ko chứa siêu khóa của Q4
-
Đối với Q5: (Q
Đối với Q5: (Q
2
2
)
)
+
+

Fi-F5
Fi-F5
= CDFIG…
= CDFIG…
Chứa siêu khóa của Q5
Chứa siêu khóa của Q5
-
Đối với Q6: (Q
Đối với Q6: (Q
2
2
)
)
+
+

Fi-F6
Fi-F6

= CDFIG…
= CDFIG…
Chứa siêu khóa của Q6
Chứa siêu khóa của Q6
Các quan hệ cần ktra theo CDF (hay Q2) là: {Q2, Q5,
Các quan hệ cần ktra theo CDF (hay Q2) là: {Q2, Q5,
Q6}
Q6}

Chuỗi kết hàm tối tiểu phủ đầy Q2
Chuỗi kết hàm tối tiểu phủ đầy Q2
+
+
, Q5
, Q5
+
+
, Q6
, Q6
+
+
là:
là:


Q2 Q3 Q5
Q2 Q3 Q5
03/11/15 14
3. PP giải quyết các TH – Insert
Ví dụ

TH1: Thêm (C,D,F)=(4,1,2)
TH1: Thêm (C,D,F)=(4,1,2)
r1: A B C D E r2: C D F
1 1 1
2 1 1
r3: D I
1 1
2 2
r4: F D H
r5: F G
2 1
r6: G I
1 1
2 2




CDFIG = (4,1,2,1,1)
CDFIG = (4,1,2,1,1)
Do chiếu CDFIG lên Q2, Q3, Q5 và Q6 đều hợp lệ
Do chiếu CDFIG lên Q2, Q3, Q5 và Q6 đều hợp lệ




(C,D,F)
(C,D,F)
trên là có thể chèn
trên là có thể chèn

TH2: Thêm (C,D,F)=(4,2,2)
TH2: Thêm (C,D,F)=(4,2,2)




CDFIG = (4,2,2,2,1)
CDFIG = (4,2,2,2,1)
Chiếu lên Q6 thi thấy vi phạm phụ thuộc hàm I
Chiếu lên Q6 thi thấy vi phạm phụ thuộc hàm I


G
G




(C,D,F)=(4,2,2) là không thể chèn
(C,D,F)=(4,2,2) là không thể chèn
03/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

Insert


Delete

Update

Query

Kết luận
03/11/15 16
3. 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
03/11/15 17
3. PP giải quyết các TH – Delete
Ví dụ 1

Diễn giải – Xét ví dụ sau
r2: C D F
1 1 1
r3: D I
1 1
r5: F G
1 2
r6: G I
2 1

2 2
1. Xóa Object (C,F) = (1, 1)
 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}
03/11/15 18
3. PP giải quyết các TH – Delete
Ví dụ 2

Diễn giải – Xét ví dụ sau
r2: C D F
1 1 null
r3: D I
1 1
r5: F G
1 2
r6: G I
2 1
2 2
2. Xóa (I,G) = (2, 2)
 I là khóa của R6. Không có object nào ứng với I=2  Xóa (2,2)
khỏi R6. Dễ thấy R6 không bị tham chiếu, vì vậy việc xóa hoàn
tất.
03/11/15 19
3. PP giải quyết các TH – Delete
Ví dụ 3


Diễn giải – Xét ví dụ sau
r2: C D F
1 1 null
r3: D I
1 1
r5: F G
1 2
r6: G I
2 1
3. Xóa (I,G) = (1, 2)
 I là khóa của R6, object (D,I)=(1,1) cũng có giá trị I=1, và
R3(I)R6(I), vì vậy xóa (G,I) ở R6 cần xem xét thêm, xóa cả
những bộ chứa I tương ứng ở tất cả quan hệ khác
03/11/15 20
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

Insert

Delete

Update

Query


Kết luận
03/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
03/11/15 22
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

Insert

Delete

Update

Query

Kết luận
03/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”
03/11/15 24
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

Insert

Delete


Update

Query

Kết luận
03/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

×