Đầu vào: các lược đồ quan hệ, tập đối tượng dữ liệu và biểu thức truy vấn.retrieve where Đầu ra: Biểu thức là chuỗi kết nối tối tiểu các Qi thỏa câu truy vấn.. Bước 3: Áp dụng điều kiệ
Trang 1Maximal Objects and the Semantics
of Universal Relation Databases
Trang 2Q1:COI_THI: Q2: GD Q3:CT-M
Q: (quan hệ phổ quát)
Cho phép người dùng truy vấn trên Q
GV-CT M
Ng-v-A Gi i thu tả ậNg-v-B CSDL
Trang 3Đ t v n đ ặ ấ ề
Gi thuy t (theo Fagin, Mendelzon, Ullman) ả ế :
Quan h ph quát có th đệ ổ ể ược mô t b ng ả ằ
1) M t ph thu c k t vàộ ụ ộ ế2)T p các ph thu c hàm.ậ ụ ộ
Gọi r là quan hệ trên lược đồ R và R1,R2,…,Rn là quan hệ con trong R.
Ta nói rằng có phụ thuộc kết nối giữa các R1, R2 , ,Rn
và kí hiệu {R1,R2 , ,Rn} nếu nối của các phép chiếu của r lên các tập R1,R2 , ,Rm tương ứng bằng chính nó.
Hay ta có r = r.R1 r.R2 r.Rn
Một phép kết Ri (1≤ i ≤ n ) gọi là phụ thuộc kết nếu Ui=1 Ri = R
B k t qu t trên quan h ph quát, trên m i thu c tính đ u không độ ế ả ệ ổ ọ ộ ề ược có giá tr khác r ngị ỗ
Trang 5GV-CT M
Ng-v-A Gi i thu tả ậNg-v-B CSDL
Tran-v-C CSDLVo-v-D Gi i thu tả ậ
Ng-v-A 2 8-10 101 Gi i thu tả ậ XNg-v-B 2 10-12 101 CSDL YTran-v-C 2 10-12 101 CSDL YVo-v-D 2 8-10 103 Gi i thu tả ậ X
Trang 6Đầu vào: các lược đồ quan hệ, tập đối tượng dữ liệu và biểu thức truy vấn.
retrieve <atrribute list>
where <condition>
Đầu ra: Biểu thức là chuỗi kết nối tối tiểu các Qi thỏa câu truy vấn
Truy v n trên quan h ph quát ấ ệ ổ
Giải thuật 1:
Bước 1: Kết tự nhiên các quan hệ tạo ra quan hệ phổ quát Q với p biến bộ Bước 2: Với mỗi bộ phân biệt, tách thành các quan hệ Qi dựa trên các “đối
tượng” cho trước
Bước 3: Áp dụng điều kiện chọn trong câu truy vấn để chọn các bộ trên quan
hệ phổ quát thỏa điều kiện
Bước 4: Áp dụng phép chiếu để chọn ra các thuộc tính mà người dùng cần
trong câu truy vấn
Bước 5: (Bước cải tiến) Tìm ra phép kết nối tối tiểu của các Qi mà kết quả
của phép kết này trùng với kết quả của bước 4
Trang 7GV-CT M
Ng-v-A Gi i thu tả ậNg-v-B CSDL
Trang 8GV-CT M
Ng-v-A Gi i thu tả ậNg-v-B CSDL
Tran-v-C CSDL
Ng-v-A 2 8-10 101 Gi i thu tả ậ XNg-v-B 2 10-12 101 CSDL YTran-v-C 2 10-12 101 CSDL Y
Trang 9Ng-v-A Gi i ả
thu t ậ Ng-v-B CSDL
{GV-CT, N, G, P} , {M, GV}, {GV-CT, M}
Q: được tạo bởi phụ thuộc kết vì Ui=1 Qi = Q
retrieve t.Pwhere t.G = ‘8-10’
Trang 10retrieve t.Pwhere t.G = ‘8-10’
GV-CT M
Ng-v-A Gi i thu tả ậNg-v-B CSDL
Tran-v-C CSDL
GV-CT N G P M GV
Ng-v-A 2 8-10 101 Gi i ả
thu tậ XNg-v-B 2 10-12 101 CSDL Y
Tran-v-C 2 10-12 101 CSDL Y
Q: σG = ‘8-10’ Q1 Q2 Q3 Q: Q1 Q2 Q3
GV-CT N G P M GV
Ng-v-A 2 8-10 101 Gi i ả
thu tậ X
Trang 11retrieve t.Pwhere t.G = ‘8-10’
GV-CT M
Ng-v-A Gi i thu tả ậNg-v-B CSDL
Trang 12retrieve t.Pwhere t.G = ‘8-10’
GV-CT M
Ng-v-A Gi i thu tả ậNg-v-B CSDL
Trang 13
Gi i ảthu tậ XCSDL Y
Trang 16Ki m tra l ể ượ c đ CDSL nh t quán toàn c c? ồ ấ ụ
- Xây dựng một siêu đồ thị (hypergraph) từ phụ
thuộc kết (Q1,Q2,….Qn) (lược đồ cơ sở dữ liệu
đã thiết kế)
- Nếu siêu đồ thị đó có chu trình thì chứng tỏ ít
nhất một thuộc tính trong các quan hệ Qi đã có sự
“đa nghĩa” Do đó dẫn tới sự không nhất quán toàn cục.
Trang 17Ki m tra l ể ượ c đ CDSL nh t quán toàn c c ồ ấ ụ
Siêu đ th H(X,Y) bao g m: ồ ị ồ
X là t p các node, m i node là m t thu c tính trong quan h ậ ỗ ộ ộ ệ Qi
Y là t p các c nh, v i m i c nh bao g m t t c các thu c tính ậ ạ ớ ỗ ạ ồ ấ ả ộ
có trong quan h Qi ệ
Ví d : L ụ ượ c đ v i các quan h : ABC, ACD, BE Có ồ ớ ệ
th bi u di n l ể ể ễ ượ c đ này b ng siêu đ th ồ ằ ồ ị
H({A,B,C,D,E},{ABC, ACD, BE}}
Xây d ng siêu đ th ự ồ ị
A C D
Trang 18Ki m tra l ể ượ c đ CDSL nh t quán toàn c c ồ ấ ụ
Áp dụng luật Graham cho H(X,Y):
+ Xoá thuộc tính A X nếu A có bậc 1(chỉ xuất hiện duy ∈
nhất trong một “cạnh”).
+ Xoá cạnh E1 nếu E1,E2 Y và E1 E2 ∈ ⊆
+ Xoá cạnh E nếu E = Ø
Nếu siêu đồ thị H không còn một cạnh hay một node
nào thì siêu đồ thị H không có chu trình.
Ngược lại là siêu đồ thị có chu trình.
Thu t toán ki m tra siêu đ th có chu trình hay không? ậ ể ồ ị
Trang 19Ki m tra l ể ượ c đ CDSL nh t quán toàn c c ồ ấ ụ
A C D
+ Xoá D, E (E, D bậc 1)+ Xoá cạnh {A,C},{B} ({A,C}, {B} {A,B,C})⊆+ Xoá A, B, C (bậc 1)
+ Xoá cạnh chứa A, B, C do rỗng
Không có chu trình
Trang 20Ki m tra l ể ượ c đ CDSL nh t quán toàn c c ồ ấ ụ
- Xây dựng một lược đồ cơ sở dữ liệu cho nghiệp vụ quản lý ngân hàng
- Xác định các thuộc tính như sau:
BNK (ngân hàng)
ACC (mã tài khoản)
L (mã vay)
C (khách hàng)
AMT (số tiền vay )
BAL (số tiền gửi)
ADR (địa chỉ khách hàng)
- Lược đồ quan hệ phổ quát như sau: Q( C, ADR, L, AMT, ACC, BAL}
Trang 21- Xác định mối quan hệ:
+ Một khách hàng(C) có thể mở nhiều tài khoản(ACC)
+ Một tài khoản(ACC) xác định một số tiền gửi (BAL)
+ Một tài khoản(ACC) phải thuộc một ngân hàng(BNK)
+ Một khách hàng(C) có thể nhiều khoản vay(L)
+ Một khoản vay(L) xác định một số tiền vay(AMT)
+ Một khoản vay(L) phải thuộc một ngân hàng(BNK)
Trang 22- Từ mối quan hệ của các phụ thuộc hàm, phụ thuộc đa trị định ra các đối
tượng
- Về bản chất, đối tượng là một tập các thuộc tính tối thiểu có mối quan hệ
ngữ nghĩa với nhau
- Tác giả xác định được 7 đối tượng:
Trang 23- Từ các đối tượng, xây dựng các quan hệ con tương ứng:
Trang 24- Lược đồ cơ sở dữ liệu:
Ki m tra l ể ượ c đ CDSL nh t quán toàn c c ồ ấ ụ
BAL
C
L
AMT
ACCBN
C
L
AMT
ACCBN
Trang 25Truy v n trên quan h ph quát ấ ệ ổ
Định nghĩa 2 đối tượng tối đại:
+ Khách hàng gửi tiền trong
Trang 26Q2 (ACC,BAL):
ACC BNK
acc1 nationalJacc national
Q3 (ACC,BNK):
l1 c1Q4 (L,C):
national acc1 l1 c1 amt1 bal1 adr1
Q (BNK, ACC, L, C, AMT, BAL, ADR):
national Jacc Jones Jbal Jadr
Truy v n trên quan h ph quát ấ ệ ổ
Trang 27Q2 (ACC,BAL):
ACC BNK
acc1 nationalJacc national
Q3 (ACC,BNK):
l1 c1Q4 (L,C):
national acc1 c1 bal1 adr1national Jacc Jones Jbal Jadr
Q (BNK, ACC, C, BAL, ADR):
Trang 28Q2 (ACC,BAL):
ACC BNK
acc1 nationalJacc national
Q3 (ACC,BNK):
l1 c1Q4 (L,C):
AMT
C
Trang 29Q2 (ACC,BAL):
ACC BNK
acc1 nationalJacc Jbnk
Q3 (ACC,BNK):
Jl Jones4-326 JonesQ4 (L,C):
L AMT
Jl Jamt14-326 Jamt2
Q5 (L,AMT):
Jl Jbnk4-326 national
Q6 (L,BNK):
C ADR
c1 adr1Jones JadrQ7 (C,ADR):
national acc1 c1 bal1 adr1
Q (BNK, ACC, L, C, AMT, BAL, ADR):
national Jacc 4-326 Jones Jamt2 Jbal Jadr
Truy vấn:
retrieve (t.ACC)
where t.L = 4-326
4-326 Jones
4-326 Jamt2 4-326 national Jones Jadr
Trang 30Cách giải quyết:
Ví dụ: Truy vấn:
retrieve (t.ACC) where t.L = 4-326Q1
(ACC,C):
Q2 (ACC,BAL): Q3 (ACC,BNK): Q4 (L,C):
BAL
AD R ACC
BNK C
L
A D R
BN K
AM T
Q2 (ACC,BAL):
ACC BNK
acc1 nationalJacc Jbnk
Q3 (ACC,BNK):
Jl Jones4-326 JonesQ4 (L,C):
L AMT
Jl Jamt14-326 Jamt2
Q5 (L,AMT):
Jl Jbnk4-326 national
Q6 (L,BNK):
C ADR
c1 adr1Jones JadrQ7 (C,ADR):
Trang 31Q1
(ACC,C):
Q2 (ACC,BAL): Q3 (ACC,BNK): Q4 (L,C):
Q2 (ACC,BAL):
ACC BNK
acc1 nationalJacc Jbnk
Q3 (ACC,BNK):
Jl Jones4-326 JonesQ4 (L,C):
L AMT
Jl Jamt14-326 Jamt2
Q5 (L,AMT):
Jl Jbnk4-326 national
Q6 (L,BNK):
C ADR
c1 adr1Jones JadrQ7 (C,ADR):
Truy vấn:
retrieve (t.ACC) where t.C = s.C and s.L = 4-326
BNK C
L
A D R
BN K
AM T
C
national Jacc 4-326 Jones Jamt2 Jbal Jadr
Trang 32Đầu vào: Tập đối tượng tối đại Mi (i = 1,…, n) và biểu thức câu truy vấn, lược
đồ cơ sở dữ liệu Qi
Đầu ra: Biểu thức kết nối tối tiểu cho câu truy vấn
Truy v n trên quan h ph quát ấ ệ ổ
Giải thuật 2
Bước 1: Tìm tập đối tượng tối đại Mi có chứa hoàn toàn các thuộc tính Xi của
câu truy vấn
Bước 2: Dùng phép kết tự nhiên dựa trên các đối tượng Mi.
Bước 3: Dùng phép hội các biểu thức kết của từng đối tượng Mi tạo Q.
Bước 4: Áp dụng điều kiện chọn trong câu truy vấn để chọn các bộ trên quan
hệ phổ quát thỏa điều kiện
Bước 5: Áp dụng phép chiếu để chọn ra các thuộc tính mà người dùng cần
trong câu truy vấn
Bước 6: (Bước cải tiến) Tìm ra phép kết nối tối tiểu của các Qi mà kết quả của
phép kết này trùng với kết quả của bước 5
Trang 33Q2 (ACC,BAL):
ACC BNK
acc1 nationalJacc national
Q3 (ACC,BNK):
l1 c1Q4 (L,C):
national acc1 c1 bal1 adr1national Jacc Jones Jbal Jadr
Q (BNK, ACC, C, BAL, ADR):
Trang 34Q2 (ACC,BAL):
ACC BNK
acc1 nationalJacc national
Q3 (ACC,BNK):
l1 c1Q4 (L,C):
Trang 35Q2 (ACC,BAL):
ACC BNK
acc1 nationalJacc national
Q3 (ACC,BNK):
l1 c1Q4 (L,C):
national acc1 c1 bal1 adr1
national Jacc Jones Jbal Jadr
Q (BNK, ACC, C, BAL, ADR): Q (BNK, ACC, C, BAL, ADR):
national l1 c1 amt1 adr1
Trang 36Truy vấn:
retrieve (t.BAL,t.V)
where t.C = ‘Jones’
BNK ACC C BAL ADR L AMT
national acc1 c1 bal1 adr1 l1 amt1national Jacc Jones Jbal Jadr
Q (BNK, ACC, C, BAL, ADR):
C
MO2 MO1
national acc1 c1 bal1 adr1
national Jacc Jones Jbal Jadr
Q (BNK, ACC, C, BAL, ADR): Q (BNK, ACC, C, BAL, ADR):
national l1 c1 amt1 adr1
Trang 38Until Không còn tìm thấy đối tượng T nào.
MAXOBJ = MAXOBJ U MO
End
If Trong MOXOBJ có MOi là tập con của MOj ( j != i) then Xoá MOi
Trang 39(3) LOSSLESS (P,T) = true nếu và chỉ nếu
(a) (P ∩ T) -> P hoặc (P∩ T) -> S hoặc
(b) (P ∩ T) ->-> ( P – T ) | ( T – P) nhưng không phải là cả hai (P-T) -> (P ∩ T) và
(T - P) -> (T ∩ P) đều đúng
LOSSLESS(P, T) : Điều kiện kiểm tra khi thêm đối tượng T vào đối tượng P thì khôngdẫn đến mất thông tin
Trang 40Ta có các phụ thuộc hàm, phụ thuộc đa trị và đối tượng tương ứng:
C ->-> ACC P1(C,ACC) C ->-> L P5 (C,L).
ACC -> BAL P2(ACC,BAL) L -> AMT P6(L,AMT).
ACC -> BNK P3(ACC,BNK) L -> BNK P7(L,BNK).
C -> ADR P4 (C,ADR
Ví dụ: Xây dựng lại 2 tập đối tượng tối đại M1 , M2 của ví dụ về
nghiệp vụ lưu trữ tiền vay, gửi ngân hàng.
Xây dựng dựa trên định nghĩa (1) của LOSSLESS (R,S)
Gọi MOk là đối tượng tối đại thứ k (k = 1) Gọi MAXOBJ là tập hợp các đối tượng tối đại
Xét P1(C,ACC) MOk = {C,ACC) S ={C,ACC}
Xét T = P2(ACC,BAL)
Tính LOSSLESS(T,S)
T:{ACC,BAL} ∩ S: {C,ACC} = {ACC}
(ACC)+= { ACC,BAL,BNK} chứa {ACC,BAL} = T
Trang 41Ta có các phụ thuộc hàm, phụ thuộc đa trị và đối tượng tương ứng:
T:{ACC,BNK} ∩ S: {C,ACC,BAL} = {ACC}
(ACC)+= { ACC,BAL,BNK} chứa {ACC,BNK} = T
Trang 42Ta có các phụ thuộc hàm, phụ thuộc đa trị và đối tượng tương ứng:
Tương tự, xét P6(L,AMT) và P7(L,BNK) đều không thỏa điều kiện
MO1 = { C,ACC, BAL, BNK, ADR}
Thêm MO1 vào MAXOBJ MAXOBJ = {MO1}
Trang 43k = 2 Xét P2(ACC,BAL) MO2 = {ACC,BAL) S ={ACC,BAL}.
Tiếp tục xây dựng MO2 theo phương pháp tương tự Ta được:
MO2 = {ACC,BAL,BNK}
Thêm vào MAXOBJ
Kiểm tra ta thấy MO2 là tập con của MO1 Loại M2O ra khỏi MAXOBJ
Tiếp tục tạo lần lượt Mi cho các object tiếp theo Nếu đó là tập con của một tập Mj (i != j) trong MAXOBJ thì loại bỏ khỏi tập MAXOBJ
Tiếp tục làm như vậy ta tìm được đối tượng tối đại thứ hai:
MOk= { C , L, ADR, AMT, BNK}
Thêm MOk vào MAXOBJ
Vậy nói tóm lại ta tìm được 2 tập đối tượng tối đại từ thuật toán:
+ MO1 = { C,ACC, BAL, BNK, ADR}
+ MO2 = { C, L, ADR, AMT, BNK}
Trang 44Ví dụ dựa theo 3 định nghĩa của LOSSLESS:
(b) (R ∩ S) ->-> ( R – S ) | ( S – R) nhưng không phải là cả hai (R-S) -> (R ∩ S) và (S - R) -> (S ∩ R) đều đúng.
(2) LOSSLESS (R,S) = true nếu
và chỉ nếu (R ∩ S) ->-> ( R – S )
| ( S – R) (luật phụ thuộc đa trị).
(1) LOSSLESS (R,S) = true nếu và
chỉ nếu (R ∩ S) -> R hoặc (R ∩ S)
-> S (luật phụ thuộc hàm).
Trang 45M c tiêu bài báo ụ
Xây d ng ph ự ươ ng pháp truy v n d a trên quan h ấ ự ệ
ph quát đ m b o k t qu thu đ ổ ả ả ế ả ượ c là đúng và đ ủ
Cho phép ng ườ i dùng có th truy v n thông tin trên ể ấ quan h ph quát, không c n quan tâm đ n c u trúc ệ ổ ầ ế ấ thi t k c a các quan h trong CSDL ế ế ủ ệ
Trang 461 Tác giả đề xuất cơ chế kiểm tra lược đồ cơ sở dữ liệu có xảy ra tình trạng nhất quán toàn cục hay không? Cách kiểm tra dựa vào siêu lược đồ Nếu siêu lược đồ có chu trình thì lược đồ cơ sở dữ liệu vi phạm tình trạng nhất quán toàn cục.
2 Tác giả đề xuất phương pháp truy vấn trên quan hệ phổ quát bằng phương pháp xây dựng tập đối tượng tối đại.
3 Tác giả đưa ra phương pháp xây dựng tập đối tượng tối đại một cách tự động.
K t qu đ t đ ế ả ạ ượ c