Ra: phép tách không mất mát thông tin bao gồm một tập các sơ đồ con ở BCNF với các phụ thuộc hàm là hình chiếu của F lên sơ đồ đó.. Giải thuật: B1..[r]
(1)THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ I Phụ thuộc hàm:
Đ/N 1: Cho R(U) sơ đồ quan hệ, U tập thuộc tính X, Y U X xác định hàm Y hay Y phụ thuộc hàm vào X
với quan hệ r xác định R(U) với t1,t2 bất kỳ
mà t1[X] = t2[X] t1[Y] = t2[Y] Ký hiệu: XY
Đ/N 2:Bao đóng tập thuộc tínhX tập tất thuộc tính xác định hàm X thông qua tập F
ký hiệu X
+
X+= {A , X
A suy diễn từ F}
Thuật toán tính bao đóng của1 tập thuộctính
Vào: Tập hữu hạn thuộc tính U, tập phụ thuộc hàm F U X U Ra: X+
Thuật toán B0 X0= X.
Bi Tính Xitừ Xi-1
Nếu YZ suy diễn từ F, Y Xi-1, A Z , AXi-1
thì Xi= Xi-1A ngược lại, Xi= Xi-1 Nếu XiXi-1
thì thực Bi
ngược lai, thực Bn Bn: X+= Xi
Thuật toán tìm khố
Vào: U = {A1, A2, …, An} , F
Ra: khóa tối thiểu K xác định U F Thuật toán
B0 K0= U, n = |U| Bi Nếu (Ki-1\{Ai})U Ki= Ki-1\{Ai} ngược lại, Ki= Ki-1 Nếu i<n
(2)II Phép tách khơng mát thơng tin: Ví dụ:
Quản lý thu tiền học phí, U={ MaSV, Hoten, Malop, TenLop, MaNganh, TenNganh, Hocphi, NgayQĐ, Hocky, Ngaythu}
Tách U thành:
U1= {MaNganh, TenNganh, Hocphi} U2={MaLop, TenLop, Manganh} U3={MaSV, Hoten, Malop} U4={Hocky,NgayQD} U5={MaSV, Ngaythu} Đ/N: Cho lược đồ quan hệ
=(U,F), phép tách thành lược đồ {U1,
U2, …, Uk} gọi phép tách không mát thông tin đ/v tập phụ thuộc hàm F với quan hệ r xác định U thỏa mãn F thì:
r = r1*r2* … rk, r1=U1(r)
2 Thuật tốn kiểmtra tính khơng mát thơng tin: Bài toán
Vào: U=A1A2 An, F, phép tách (U1, U2, , Uk) Ra: Phép tách mát thơng tin hay khơng Thuật tốn
B1 Thiết lập bảng k hàng, n cột
Nếu Aj thuộc tính Ri điền aj vào (i,j) Nếu khơng điền bij
Bi Xét f = XY F
Nếu hàng t1, t2 thuộc bảng : t1[X] = t2[X]
thì t1[Y] = t2[Y], ưu tiên đồng giá trị a
Lặp thay đổi giá trị bảng Bn Nếu bảng có hàng gồm kí hiệu a1, a2, … , an
thì phép tách không mát thông tin ngược lại, phép tách khơng bảo tồn thơng tin
Vd: Chứng minh (U1,U2,U3,U4,U5) phép tách khơng thất thơng tin
Tìm phụ thuộc hàm:
F=MaSVHoten, MaSV Malop, MaLop TenLop, MaNganh,
(3)3 Chuẩn hóa lược đồ:
Đ/N: Một sơ đồ quan hệ R(U) với tập phụ thuộc hàm F gọi dạng chuẩn BCNF (Boye-Codd) với XA F+ AX (F+ tập phụ thuộc
hàm suy diễn từ F) X Khóa Ví dụ
R = {A,B,C} ; F = {ABC , CB} Khóa AB
R khơng phải BCNF CB, C khơng phải khóa
2 Thuật tốn tách khơng mát thơng tin BCNF Vào: Sơ đồ quan hệ R, tập phụ thuộc hàm F
Ra: phép tách không mát thông tin bao gồm tập sơ đồ BCNF với phụ thuộc hàm hình chiếu F lên sơ đồ
Giải thuật: B1 KQ =(U,F)
B2.Với S KQ, S không BCNF, xét XA FS, với điều kiện X không
chứa khóa S A X Thay S S1, S2 với S1=A X, S2 = S\A B3 Lặp (B2)cho đến S KQ BCNF
KQ gồm sơ đồ phép tách yêu cầu
F=MaSVHoten, MaSV Malop, MaLop TenLop, MaNganh,
MaNganhTenNganh, Hocky NgayQD, MaSV,Hocky Ngaythu Khóa là: MaSV,Hocky
(4)5 BÀI TẬP VỀ CHUẨN HÓA
MỤC TIÊU CỦA BÀI NÀY GIÚP NGƯỜI HỌC Phân biệt dạng chuẩn quan hệ Xác định lược đồ dạng chuẩn
Vận dụng giải tập chuẩn hóa quan hệ (Đưa lược đồ
quan hệ (quan hệ) từ dạng chuẩn thấp lên dạng chuẩn cao hơn)
Kiểm tra phép tách lược đồ aqua nhệ c ó thơng tin
khơng Ví dụ:
Cho lược đồ = (U, F) với
U=CRHTSG ( C : Course, T : Teacher, H Hour, R : Room, S : Student, G : Group)
F ={CT , HR C, CH R, CS G, HS R} Nhận xét
- Lược đồ có khố HS - Lược đồ chưa dạng BCNF
- Ta thấy lược đồ = (U, F) có phụ thuộc hàm CS G vi phạm điều kiện
BCNF nên ta tách lược đồ thành lược U1 =CGS, U2 =CTHRS
- Ta thấy lược đồ 2 = (U2, F2) có phụ thuộc hàm C T vi phạm điều
kiện BCNF nên ta tách lược đồ thành lược U3 =CT, U4 =CHRS
- Ta thấy lược đồ 4 = (U4, F4) có phụ thuộc hàm CH R vi phạm điều
kiện BCNF nên ta tách lược đồ thành lược U5 =CHR, U6 =CHS
= (U, F)
U1 =CSG
F1={CSG}
K=CS
U2 =CTHRS
F2={CT, HRC, CHR, HSR}
K=HS
U3 =CT
F3={CT}
K=C
U4 =CHSR
F4={ HRC, CHR, HSR}
K=HS
U5 =CHR
F5={ HRC, HRC}
K=HR, K=HC
U6 =CHS
F6={ HSC}
(5)Như phép tách cuối ={ CSG, CT , CHR , CHS } III.MỘT SỐ LƯU Ý
Tầm quan trọng việc chuẩn hóa liệu
Phân biệt dạng chuẩn, phương pháp tách quan hệ dạng chuẩn thấp lên
dạng chuẩn cao
Thuật toán kiểm tra phép tách có thơng tin khơng? B/ BÀI TẬP MẪU
Bài số 1: Kiểm tra phép tách có thông tin hay không?
Cho lược đồ quan hệ = (U, F) với
U={A1, A2, A3, A4, A5}
F={ A1 A2 A3 , A2 A4 A5 , A2 A3}
={ A1 A2 A4, A2 A3, A1 A4 A5}
Hỏi phép tách có kết nối không thông tin không? Hướng dẫn:
Áp dụng thuật tốn kiểm tra phép tách có thông tin không, ta tiến hành bước
Giải:
Xây dựng bảng gồm dòng cột
- Điền tín hiệu vào bảng
A1 A2 A3 A4 A5
U1 a1 a2 b13 a4 b15
U2 b12 a2 a3 b24 b25
U3 a1 b32 b33 a4 a5
- Biến đổi bảng dựa vào tập phụ thuộc hàm F + Sử dụng phụ thuộc hàm A1 A2 A3 ta biến đổi bảng
A1 A2 A3 A4 A5
U1 a1 a2 b13 a4 b15
(6)U3 a1 a2 b13 a4 a5
+ Sử dụng phụ thuộc hàm A2 A4 A5
A1 A2 A3 A4 A5
U1 a1 a2 b13 a4 a5
U2 b12 a2 a3 b24 b25
U3 a1 a2 b13 b4 a5
+ Sử dụng phụ thuộc hàm A2 A3
A1 A2 A3 A4 A5
U1 a1 a2 a3 a4 a5
U2 B12 a2 a3 b24 b25
U3 a1 a2 a3 a4 a5
Trong bảng có hàng cuối gồm tồn tín hiệu chính, phép tách phép tách kết nối không thông tin
C/ BÀI TẬP TỰ GIẢI Bài tập 1:
Dùng kỹ thuật bảng kiểm tra phép tách sau có thơng tin khơng a) =(U, F) với U=ABCD, F={AB, ACD}, ={AB, ACD}
b) =(U, F) với U=ABCDE, F={AC, BC, CD, DEC, CEA}, ={AD,
AB, BE, CDE}
c) Xác định giải thích dạng chuẩn cao lược đồ quan hệ =(U, F)
với U=ABCD, F={AC, DB, CABD} Bài tập 2:
Cho lược đồ quan hệ =(U, F) với
U=ABCDEGH
F={CDH, EB, DG, BHE, CHDG, CA }
Hỏi phép tách =(ABCDE, BCH, CDEGH) có kết nối thông tin
không Bài tập 3:
(7)U=ABCD, F={DB, CA, BACD }
Xác định dạng chuẩn cao lược đồ quan hệ Bài tập 4:
Cho lược đồ quan hệ =(U, F) với
U=ABCD, F={CDB, AC, BACD }
Xác định dạng chuẩn cao lược đồ quan hệ Bài tập 5:
Cho =(u, F) với
U=ABCDE
F={AC, BC, AD, DEC, CEA}
kiểm tra tính kết nối khơng thơng tin phép tách
={AD, AB, BE, CDE, AE }
Bài tập 6:
Cho =(u, F) với
U=ABCDEF
F={ABC, CB, ABDE, FA}
kiểm tra tính kết nối khơng thơng tin phép tách
={BC, AC, ABDE, ABDF } Bài tập 7:
Cho =(u, F) với
U=ABCDEG
F={DG, CA, CDE, AB}
kiểm tra tính kết nối khơng thông tin phép tách
={DG, AC, SCE, AB } Bài tập 8:
Cho =(u, F) với
U=ABCDE
F={AC, BC, CD, DEC, CEA}
kiểm tra tính kết nối khơng thơng tin phép tách
={AC, CD, BE, BC, AE} Bài tập 9:
Cho (=(U, F) với U=XYZW tập
(8)Dạng chuẩn cao lược đồ gì? Bài tập 10:
Cho (=(U, F) với
U=ABCDEG tập phụ thuộc hàm F={ ABC, ACE, EGD, ABG } ={DEG, ABDEG }
Phép tách có thơng tin khơng?
Hãy chứng minh quan hệ có thuộc tính đề dạng chuẩn BCNF? Bài tập 11:
Xét quan hệ R(ABCDE) tập phụ thuộc hàm F={ ABCE, EAB, CD }
Hãy tìm dạng chuẩn cao lược đồ? Bài tập 12:
Xét quan hệ R(ABCDEG) tập phụ thuộc hàm F={ AB, CDG , ACE, DG }
- Hãy tìm khố lược đồ
- Hãy tìm dạng chuẩn cao lược đồ
Bài tập 13:
Xét quan hệ R(ABCD) tập phụ thuộc hàm F={ ABD, ACBD, BC }
Hãy tìm dạng chuẩn cao lược đồ Bài tập 14:
Cho =(u, F) với
U=ABCDEF
F={ABC, CB, ABDE, FA}