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