(c) Đồng Thị Bích Thủy Các hệ CSDLNC - Cao học
1
Bài giảng #5
Các hệ cở sở dữ liệu nâng cao
Cao học KHMT & HTTT
Đồng Thị Bích Thủy
05/05/2012
Các hệ CSDLNC - Cao học
2
(c) Đồng Thị Bích Thủy
1. Thể hiện tiêu biểu: ví dụ
(nhắc lại)
Cho một lược đồ CSDL C tương ứng với
lược đồ QHPQ C
0
như sau:
C
0
= <Q (ABCDEHG), F = {A BCDEHG;
H C; E D; BC DG >
C
= { <Q
1
(ABHE), F
1
= {ABHE}>;
<Q
2
(HC), F
2
={HC}>;
,
<Q
3
(ED), F
3
={ED}>;
<Q
4
(BCGD), F
4
={BCGD}>}
Các hệ CSDLNC - Cao học
3
(c) Đồng Thị Bích Thủy
1. Thể hiện tiêu biểu: ví dụ (tt)
cho 1 tình trạng CSDL TT2:
TQ1: A B H E TQ2: H C TQ3: E D TQ4’: B C G D
a b h e h c e d b c g d
a’ b h’ e’ h’ c’ e’ d’ b c’ g d”
a’’b h’’e’ h’’c’
TQ
TB
: A B C D E H G
a b c d e h g
a’ b c’ d’/d” e’ h’ g
a’’b c’ d’/d” e’ h’’g
Các hệ CSDLNC - Cao học
4
(c) Đồng Thị Bích Thủy
Các hệ CSDLNC - Cao học
4
(c) Đồng Thị Bích Thủy
ĐÁNH GIÁ LƯỢC ĐỒ KIỂM TRA tính NQTC
1. Điều kiện duy nhất:
Thỏa đk DN: khg có vđ
NQTC
Khg thỏa: có vđ NQTC
1. Kt trên những Qi khg
thỏa đk DN: cơ chế
RBKNSĐ (có điều kiện)
2. Pth có nguy cơ:
Có pth có nguy cơ = có
vđ NQTC
2. Cơ chế ép thỏa
ngoài cho pth có nguy
cơ
2. Về tính nhất quán toàn cục
(nhắc lại)
Hai trong ba giải pháp:
Các hệ CSDLNC - Cao học
5
(c) Đồng Thị Bích Thủy
2.3 Giải pháp Vùng ảnh hưởng
duy nhất
Không quan tâm đến chất lượng lược
đồ
Có cơ chế đảm bảo tính nhất quán toàn
cục cho mỗi thao tác thêm/xóa(/sửa)
trên tập thuộc tính Y, dựa trên khái
niệm vùng ảnh hưởng duy nhất của tập
thuộc tính Y, Ureg(Y), với Y một “đối
tượng” được khai báo trước.
Cơ chế làm việc theo tinh thần “ngăn
ngừa” mâu thuẫn toàn cục
Các khái niệm cần thiết:
1. Đối tượng dữ liệu
Đối tượng dữ liệu: tập thuộc tính Y siêu
khóa của một quan hệ con của lược đồ
Đối tượng DL phải được xác định lúc
thiết kế CSDL và được khai báo trước
Thao tác thêm/xóa/sửa trên ĐTDL
Các hệ CSDLNC - Cao học
6
(c) Đồng Thị Bích Thủy
Các khái niệm cần thiết:
2. Mở rộng chính tắc của Y, dựa
vào lược đồ CSDL
Cho Y, một siêu khóa của Qi.
Mở rộng chính tắc của Y được xác định
theo thuật toán sau:
CE
0
(Y) := Y
CE
h+1
(Y) := CE
h
(Y) ∪ {Q
j
+
sc LA ∈ F
j
và
Q
j
+
∉CE
h
(Y) và L ⊆ CE
h
(Y) }
CE
C
(Y) = CE
h+1
(Y) nếu CE
h+1
(Y) = CE
h+2
(Y)
Các hệ CSDLNC - Cao học
7
(c) Đồng Thị Bích Thủy
Các khái niệm cần thiết:
3. Tập duy nhất của Y - uset(Y)
uset(Y) = ∪
A∈Y
uset
1
(Y,A) ∪
∪
A∈¬Y
uset
2
(Y,A)
với ¬Y= CE
C
(Y) – {Y} ;
uset
1
(Y,A) = {Q
j
YK
j
và A∈ Q
j
+
và A∉ K
j
}
uset
2
(Y,A) = {Q
j
YK
j
và Y K
n
và A ∈ (Q
j
+
∩
Q
n
+
) – (K
j
∪ K
n
) }
Các hệ CSDLNC - Cao học
8
(c) Đồng Thị Bích Thủy
Các khái niệm cần thiết:
4. Vùng ảnh hưởng duy nhất
của Y – Ureg(Y)
Tìm một chuổi kết hàm tối tiểu có gốc
là Q
i
Y
phủ trọn các quan hệ trong tập
uset(Y)
Chuổi kết hàm này là duy nhất
Ureg(Y) = tập các quan hệ con của
chuổi kết hàm tối tiểu đó.
Các hệ CSDLNC - Cao học
9
(c) Đồng Thị Bích Thủy
Thủ tục thêm một ĐTDL Y
2 bước:
Kiểm tra ĐTDL và Kiểm tra có thêm được?
Thực hiện thao tác thêm (chèn)
Kiểm tra về ĐTDL:
Y phải là một ĐTDL
Y có thể là một đối tượng DL phủ nhiều
ĐTDL nằm trong nhiều quan hệ con: chẻ
thành nhiều ĐTDL Y1, Y2, … sc Yi là một
đối tượng nằm gọn trong một quan hệ con
Các hệ CSDLNC - Cao học
10
(c) Đồng Thị Bích Thủy
Thủ tục thêm một ĐTDL Y (tt)
Kiểm tra có thêm được?
Mở rộng bộ cần chèn đến những khóa Kj
của Qj nằm trong vùng ảnh hưởng duy
nhất của Y
Nếu bộ mở rộng hoàn toàn xác định =>
thao tác thêm có thể thực hiện được
Các hệ CSDLNC - Cao học
11
(c) Đồng Thị Bích Thủy
Thủ tục xóa trên Y
2 bước:
Kiểm tra ĐTDL
Thực hiện thao tác xóa
Kiểm tra về ĐTDL:
Y phải là một ĐTDL nằm trong một Qi
Cần bảo đảm sau khi xóa thì tình trạng
CSDL mới là một tình trạng có được từ
những thao tác thêm trước đó
Các hệ CSDLNC - Cao học
12
(c) Đồng Thị Bích Thủy
Các hệ CSDLNC - Cao học
13
(c) Đồng Thị Bích Thủy
Nhận xét:
Thao tác Thêm theo một thứ tự nhất định sẽ
dễ được chấp nhận, vì có khả năng phòng
tránh mâu thuẫn:
Đó là thứ tự theo chiều ngược của chiều
của pth:
Q3
Q1Q2
Q4
Một quan hệ trong chuổi pth giữa những
quan hệ có vị trí càng ở đầu chuổi càng khó
thao tác (nguy cơ gây mâu thuẫn cao)
Thêm trong Q2, Q3, Q4
trước khi thêm trong Q1
Các hệ CSDLNC - Cao học
14
(c) Đồng Thị Bích Thủy
Ví dụ:
Với TT1 của Ví dụ:
(i)
1. Thêm 1 bộ vào Q3: (e’’ d) được
2. Thêm 1 bộ vào Q2: (h’’’ c’) được
3. Thêm 1 bộ vào Q4: (b’c’g’d) được
4. Thêm 1 bộ vào Q1: (a’’’b’h’’’e’’) được
(ii)
1. Thêm 1 bộ vào Q3: (e’’ d) được
2. Thêm 1 bộ vào Q1: (a’’’bh’e’’)
không!
Các hệ CSDLNC - Cao học
15
(c) Đồng Thị Bích Thủy
Ví dụ:
Ureg(Q3): Q3
Ureg(Q2): Q2
Ureg(Q4): Q4
Ureg(Q1): {Q2, Q3, Q4}
với tình trạng CSDL TT1: (i)
TQ1: A B H E TQ2: H C TQ3: E D TQ4: B C G D
a b h e h c e d b c g d
a’ b h’ e’ h’ c’ e’ d’ b c’g d’
a’’b h’’e’ h’’c’ e’’d b’ c’g’ d
a’’’b’h’’’e’’ h’’’c’
THTB: A B C D E H G
a b c d e h g
a’ b c’ d’ e’ h’ g
a’’ b c’ d’ e’ h’’g
a”’b’ c’ d e” h”’g’
Các hệ CSDLNC - Cao học
16
(c) Đồng Thị Bích Thủy
Ureg(ED): Q3
Ureg(ABHE): {Q2, Q3, Q4}
với tình trạng CSDL TT1: (ii)
TQ1: A B H E TQ2: H C TQ3: E D TQ4: B C G D
a b h e h c e d b c g d
a’ b h’ e’ h’ c’ e’ d’ b c’g d’
a’’b h’’e’ h’’c’ e’’d
a’’’b’ h’e’’
THTB: A B C D E H G
a b c d e h g
a’ b c’ d’ e’ h’ g
a’’ b c’ d’ e’ h’’g
a”’b’ c’ d e” h’ -
Các hệ CSDLNC - Cao học
17
(c) Đồng Thị Bích Thủy
Nhận xét (tt)
Một thao tác thêm/xóa/sửa được chấp
nhận có thể kéo theo một chuổi thao
tác thêm/xóa/sửa trong những quan hệ
thuộc vùng ảnh hưởng
để ngăn ngừa mâu thuẫn toàn cục
trong tương lai
Các hệ CSDLNC - Cao học
18
(c) Đồng Thị Bích Thủy
Câu hỏi?