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
Trang 1Bà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
Trang 2Cá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 C0 như sau:
C0 = <Q (ABCDEHG), F = {A BCDEHG;
H C; E D; BC DG >
C = { <Q1(ABHE), F1= {ABHE}>;
<Q2(HC), F2={HC}>;
,<Q3(ED), F3={ED}>;
<Q4(BCGD), F4={BCGD}>}
Trang 31 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
Trang 4Cá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:
Trang 52.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
Trang 6Cá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
Trang 7Cá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)
Trang 8Các khái niệm cần thiết:
3 Tập duy nhất của Y - uset(Y)
uset(Y) = AY uset1(Y,A)
AY uset2(Y,A)
với Y= CEC(Y) – {Y} ;
uset1(Y,A) = {Qj YKj và A Qj+
và A Kj }
uset2(Y,A) = {Qj YKj và Y Kn
và A (Qj+ Qn+) – (Kj Kn) }
Các hệ CSDLNC - Cao học 8 (c) Đồng Thị Bích Thủy
Trang 9Cá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à QiY 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 đó.
Trang 10Thủ 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
Trang 11Thủ 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
Trang 12Thủ tục xóa trên Y
2 bước:
Kiểm tra ĐTDL
Thực hiện thao tác xóa
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
Trang 13Nhậ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
Trang 14Cá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!
Trang 15Ví 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’
Trang 16Cá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’
Trang 17-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
trong tương lai
Trang 18Các hệ CSDLNC - Cao học 18 (c) Đồng Thị Bích Thủy
Câu hỏi?