You are on page 1of 18

PHÂN TÁCH BẢO TOÀN THÔNG TIN

1
Tách bảo toàn thông tin
Xét CSDL được thiết kế như sau:

MSSV Ho ten Que Ngay Dia chi Mon Diem


Quan Sinh
K01 Nguyễn Thanh Minh Huế 20/10/78 24 Lê Lợi Tin A 8

K01 Nguyễn Thanh Minh Huế 20/10/78 24 Lê Lợi Tin B 7

K02 Phạm Thanh Xuân Hà Nội 09/09/77 10 Đống đa CSDL 9

K03 Trần Thị Hà Quảng Bình 10/10/83 12 Trần Phú Toán A1 6

K03 Trần Thị Hà Quảng Bình 10/10/83 12 Trần Phú Toán A2 7

K02 Phạm Thanh Xuân Hà Nội 09/09/77 10 Đống đa CTDL 8

K04 Võ Thị Hà Quảng Trị 06/08/82 45 Lê Lợi Tin A 9


2
Tách bảo toàn thông tin
 Định Nghĩa (Phép tách )
 Cho lược đồ quan hệ R = <U, F> ,các lược đồ con R 1 =
<U1, F1>, R2 = <U2, F2>, …, Rn = <Un, Fn>.  được gọi
là 1 phân tách của R thành các lược đồ con R 1, R2, …, Rn

n
   (R 1 , R 2 ,...,R n ) 
(ký hiệu
   (U , U , ..., U )  ) Nếu 
Ui  U
 1 2 n  i 1
Ví dụ: Cho R = <U, F> với U = ABCD
  = (AB, BC, ACD) là 1 phân tách của
R.
Nhận xét : Cho r là 1 quan hệ trên R và  = (U1,U2,…,Un) là 1 phân tách của R.
Khi đó, phân tách  cho ta các quan hệ con tương ứng r1, r2, …, rn được xác định

r   (r)
như sau:
i Ui (i = 1,n ) 3
Tách bảo toàn thông tin
Cách 1: Tách R thành 2 lược đồ: R1=(MSSV,
Ho ten, Que quan, Ngay sinh), R2=(Dia chi, r2
Mon, Diem).
r1 Dia chi Mon Diem
24 Lê Lợi Tin A 8
MSSV Ho ten Que Ngay
24 Lê Lợi Tin B 7
Quan Sinh
K01 Nguyễn Thanh Minh Huế 20/10/78
10 Đống đa CSDL 9
K02 Phạm Thanh Xuân Hà Nội 09/09/77
12 Trần Phú Toán A1 6
K03 Trần Thị Hà Quảng Bình 10/10/83
12 Trần Phú Toán A2 7
K04 Võ Thị Hà Quảng Trị 06/08/82
10 Đống đa CTDL 8

45 Lê Lợi Tin A 9

4
Tách bảo toàn thông tin
Cách 2: Tách R thành 2 lược đồ: R’1=(MSSV, Ho
ten, Que quan, Ngay sinh, Dia chi), R’2=(MSSV,
r’2
Mon, Diem).
r’1 MSSV Mon Diem
K01 Tin A 8
MSSV Ho ten Que Ngay Dia chi
Quan Sinh K01 Tin B 7
K01 Nguyễn Thanh Huế 20/10/78 24 Lê Lợi
Minh K02 CSDL 9
K02 Phạm Thanh Hà Nội 09/09/77 10 Đống đa
K03 Toán A1 6
Xuân
K03 Trần Thị Hà Quảng Bình 10/10/83 12 Trần K03 Toán A2 7
Phú
K04 Võ Thị Hà Quảng Trị 06/08/82 45 Lê Lợi K02 CTDL 8

K04 Tin A 9
5
Tách bảo toàn thông tin
1.Phân tách bảo toàn thông tin (Phép tách có kết
nối không mất thông tin).
Định nghĩa:
Cho R = <U, F> và phép tách  = (U1,U2,…,Un) trên
R. Khi đó phép tách  được gọi là bảo toàn thông tin nếu
và chỉ nếu:
 U1 (r)    U2 (r)   ...    Un (r)  r, r  R

6
Tách bảo toàn thông tin

Định nghĩa: (Phân tách  là bảo toàn thông


tin trên R).
Cho R = <U, F>
Khi đó, phép tách  = (U1,U2,…,Un) được gọi
là bảo toàn thông tin trên R nếu:
Với mọi r  R:  là bảo toàn thông tin trên r.

7
Tách bảo toàn thông tin

Định lý 1: (Điều kiện đủ để 1 phân tách là bảo toàn


thông tin)
Cho R = <U, F> nếu XYF+ sao cho XY = 
và Z = (U\XY)   thì:  = (XY, XZ) là bảo toàn
thông tin.

8
Tách bảo toàn thông tin
Ví dụ: Cho r  NKBH=(U,F)
Tập phụ thuộc hàm F={STTU, MHTH, MHĐG}
r= STT TK NG MH TH ĐG SL
1 A 1/1/0 A1 CÀ 10 3
6
2 A 2/1/0 A2 TIÊU 20 7
7
3 B 3/1/0 A2 TIÊU 20 1
 =(U1, U2), với U1 7(MH,TH, ĐG); U2 (STT,TK, NG, MH, SL).
4 C 3/1/0 A1 CÀ 10 2
Từ F => MH {TH, 7 ĐG}  F và {MH}  {TH, ĐG} = , (U\
+

{MH,TH,ĐG}) .
=>  =(U1, U2) là bảo toàn thông tin
9
Tách bảo toàn thông tin
 Định lý 2: (Điều kiện cần và đủ để 1 phân tách thành 2 lược
đồ con là bảo toàn thông tin )
 Cho R = <U, F>. Khi đó, phân tách  = (U1, U2) trên R bảo
toàn thông tin nếu và chỉ nếu:
U  U  U \U  F+
1 2 1 2

hoặc U1  U2  U2\U1  F+

Xét ví dụ NKBH trên:


(U1  U2)+ = (MH)+ = {MH, TH, ĐG}
(U1 \ U2) = {TH, ĐG}
 U1  U2  U1\U2  F+
  = (U1, U2) là bảo toàn thông tin.

10
Tách bảo toàn thông tin

Thuật toán kiểm tra tính chất BTTT của một


phân tách:

Vào:
Lược đồ quan hệ: R = <U, F>, với U = {A1, A2,… An}
Phép tách ρ = (U1, U2,… Uk)

Ra: Yes / No

11
Tách bảo toàn thông tin

 Bước 1 (Lập bảng): Thành lập 1 bảng gồm k dòng


và n cột. Các cột được ký hiệu bởi các thuộc tính A i
(i = 1..n), các dòng được kí hiệu bởi các tập thuộc
tính Uj (j = 1..k), các phần tử của bảng sẽ được ghi
là ai hoặc bij theo nguyên tắc sau:

 Phần tử cột i dòng j là ai nếu Ai  Uj

 Phần tử cột i dòng j là bij nếu ngược lại

12
Tách bảo toàn thông tin
 Bước 2 (Biến đổi bảng):
Repeat
For X  Y  F do
Thực hiện việc làm bằng trên Y đối với những dòng
có chung X (ưu tiên biến đổi bij thành ai).
Until bảng không thay đổi sau vòng For

13
Tách bảo toàn thông tin
 Bước 3:
 Nếu tồn tại 1 dòng (bộ) hoàn toàn các giá trị ai
(i = 1..n)   là BTTT
 Ngược lại   không BTTT.

14
Tách bảo toàn thông tin
Xét ví dụ sau:
Cho R = <U, F>, với U = ABCDE
F = {A  C, B  C, C  D, DE  C, CE  A}
Và  = (AD, AB, BE, CDE, AE)

15
Tách bảo toàn thông tin
 Bước 1: <Lập bảng>

A B C D E
AD a1 b21 b31 a4 b41
AB a1 a2 b32 b42 b52
BE b13 a2 b33 b43 a5
CDE b14 b24 a3 a4 a5
AE a1 b25 b35 b45 a5

16
Tách bảo toàn thông tin
 Bước 2 (Biến đổi bảng)
Xét A  C: Thay cột 3 dòng 2 thành b31

Thay cột 3 dòng 5 thành b31

A B C D E
AD a1 b21 b31 a4 b41
AB a1 a2 b32 b42 b52
BE b13 a2 b33 b43 a5
CDE b14 b24 a3 a4 a5
AE a1 b25 b35 b45 a5
17
Tách bảo toàn thông tin
 + Xét B  C: A B C D E
 Thay cột 3 dòng 3 thành b31
AD a1 b21 b31 a4 b41
 + Xét C  D:
 Thay cột 4 đều là a4 AB a1 a2 b31 a4 b52
 + Xét DE  C:
 Thay cột 3 dòng 3 thành a3 BE a1 a2 a3 a4 a5
 Thay cột 3 dòng 5 thành a3
 + Xét DE  A: CDE a1 b24 a3 a4 a5
 Thay cột 1 dòng 3 thành a1
AE a1 b25 a3 a4 a5
 Thay cột 1 dòng 4 thành a1

Suy ra dòng 3 chỉ có bộ ai (a1, a2, a3, a4, a5)


Kết luận phân tách  là bảo toàn thông tin.
18

You might also like