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 (135.12 KB, 10 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
<b>NỘI DUNG ÔN THI CAO HỌC</b>
<b>MÔN: HỆ CSDL</b>
<b>NĂM: 2018-2019</b>
<b>PHẦN 1: </b>
<b>1) Cho hai tập phụ thuộc hàm F và G </b>
<b>F = { D CE , EI AB , E D }</b>
<b>G = { D CE , DI ABC , E DC , EI C }</b>
Chứng minh rằng G tương đương với F ?
Giải
Chứng minh G được suy dẫn từ F+<sub> :</sub><sub> </sub>
Ta có<b> <sub> D CE F</sub></b>
Ta có (DI)+
F = {DICEAB } , vậy ABC (DI)+F<b> DI ABC F+</b>
Ta có (E)+
F = {EDC } , vậy DC (E)+F<b> E DC F+</b>
<b> E C F+ <sub> EI C F</sub>+</b>
Chứng minh F được suy dẫn từ G+<sub> :</sub><sub> </sub>
<b>Ta có D CE G </b>
Ta có (EI)+
G = {EICDAB } , vậy AB (EI)+G<b> EI AB G+</b>
Từ E DC G <b>,và theo luật phân rã E D G+</b>
<b>2) Cho lược đồ quan hệ R= {Q,F} với Q={ABCDEFGH} và </b>
F= {ABCH, CDE, HD, BFGH, EF, HAB}
Chứng minh F tuơng đương với G={ABEFG, BF GH, AB CD, CDEF,
HAB, EF}
<b>PHẦN 2: </b>
<b>1) Tìm một phủ tối thiểu của F (có diễn giải)</b>
<b>F = { AB DE , BD CH, AC B , AC D , ABC D , ABC H }</b>
B1 : Biến đổi F thành tập các phụ thuộc hàm vế phải chỉ có 1 thuộc tính
<b>F = { AB E , AB D , BD C , BD H , AC B , AC D , ABC D , ABC H }</b>
B2 : Biến đổi F thành tập các phụ thuộc hàm có vế trái khơng dư thừa
<b>Xét AB E . Trong các tập con thực sự của AB ta có :</b>
A+<sub> = {A} không chứa E</sub>
<b>Vậy AB E không dư thừa ở vế trái</b>
<b>Tương tự , AB D không dư thừa ở vế trái</b>
<b>Xét BD C . Trong các tập con thực sự của BD ta có :</b>
B+<sub> = {B} không chứa C</sub>
D+<sub> = {D} không chứa C </sub>
<b>Vậy BD C không dư thừa ở vế trái</b>
<b>Tương tự, BD H không dư thừa ở vế trái </b>
<b>Xét AC B . Trong các tập con thực sự của AC ta có :</b>
A+<sub> = {A} không chứa B</sub>
C+<sub> = {C} không chứa B</sub>
<b>Vậy AC B không dư thừa ở vế trái </b>
<b>Tương tự, AC D không dư thừa ở vế trái </b>
<b>Xét ABC D . Trong các tập con thực sự của ABC ta có :</b>
A+<sub> = {A} không chứa D</sub>
B+<sub> = {B} không chứa D</sub>
C+<sub> = {C} không chứa D</sub>
AB+<sub> = {ABEDCH} chứa D</sub>
AC+<sub> = {ACBDEH} chứa D</sub>
BC+<sub> = {BC} không chứa D</sub>
<b>Vậy ABC D dư thừa ở vế trái . </b>
<b>Ta thay thế ABC D bằng AB D hoặc AC D </b>
<b>Xét ABC H . Trong các tập con thực sự của ABC ta có :</b>
A+<sub> = {A} không chứa H</sub>
B+<sub> = {B} không chứa H</sub>
C+<sub> = {C} không chứa H</sub>
AB+<sub> = {ABEDCH} chứa H</sub>
AC+<sub> = {ACDBEH} chứa H</sub>
BC+<sub> = {BC} không chứa H</sub>
<b>Ta thay thế ABC H bằng AB H hoặc AC H</b>
Vậy ta có 2 tập phụ thuộc hàm tương đương với F có vế trái không dư thừa
như sau :
<b>F1 = { AB E , AB D , BD C , BD H , AC B , AC D , AB H }</b>
G1 = { AB E , AB D , BD C , BD H , AC B , AC D , AC H }
<i><b>(Vì chỉ cần tìm một phủ tối thiểu ,học sinh có thể chọn biến đổi tiếp từ F</b><b>1</b><b> hoặc G</b><b>1</b></i>
<i>Đáp án nêu cách biến đổi tiếp từ F1</i> <i>)</i>
<b>B3 : Loại khỏi F1 các phụ thuộc hàm dư thừa</b>
(AB)+
F1 \ {AB E}<b> = {ABDCH} không chứa E. Vậy AB E không dư thừa trong F1</b>
(AB)+
F1 \ {AB D}<b> = {ABEH} không chứa D. Vậy AB D không dư thừa trong F1</b>
(BD)+
F1 \ {BD C}<b> = {BDH} không chứa C. Vậy BD C không dư thừa trong F1</b>
(BD)+
F1 \ {BD H}<b> = {BDC} không chứa H. Vậy BD H không dư thừa trong F1</b>
(AC)+
F1 \ {AC B}<b> = {ACD} không chứa B. Vậy AC B không dư thừa trong F1</b>
(AC)+
F1 \ {AC D}<b> = {ACBEDH} chứa D. Vậy AC D dư thừa trong F1</b>
<b>Đặt F2 = F1 \ {AC D} </b>
(AB)+
F2 \ {AB H}<b> = {ABEDCH} chứa H. Vậy AB H dư thừa trong F2</b>
<b>Đặt F3 = F2 \ {AB H} </b>
Vậy một phủ tối thiểu của F là
<b>F3 = { AB E , AB D , BD C , BD H , AC B }</b>
<b>2) Tìm phủ tối thiểu của tập phụ thuộc hàm sau:</b>
F= {A→ E, ADF → BE, BCF → C, B → E, CE → DF}
Bước 1: biến đổi tất cả FD thành vế phải thuộc tính đơn
F1= {A→ E, ADF → B, ADF E, BCF → C, B → E, CE → D, CE F}
Vì BCF C là PTH tầm thường, nên đượcc loại bỏ khỏi tập F1.
F1= {A→ E, ADF → B, ADF E, B → E, CE → D, CE F}
Bước 2: Loại bỏ thuộc tính dư thừa ở vế trái của các FD
- Xét ADF B
Vì +¿<i><sub>AD</sub></i>=<i>ADE</i>
<i>F 1</i>
¿ ,
+¿=<i>AFE</i>
<i>AF<sub>F 1</sub></i>¿ ,
+¿=<i>DF</i>
<i>DF</i>¿<i><sub>F 1</sub></i> , nên phụ thuộc hàm ADF B không dư
thừa vế trái
Vì +¿<i><sub>A</sub></i>=<i>AE</i>
<i>F 1</i>
¿ nên phụ thuộc hàm ADF B có thuộc tính DF dư thừa vế trái
Sau khi loại bỏ thuộc tính dư thừa, tập phụ thuộc hàm mới sẽ là
F2= {A→ E, ADF → B, B → E, CE → D, CE F}
Vì +<i><sub>C</sub></i>¿=<i>C</i>
<i>F 2</i>
¿ và
+¿=<i>E</i>
<i>E</i>¿<i><sub>F 1</sub></i> , nên các phụ thuộc hàm CED, CEF đều không dư
thừa vế trái.
Bước 3: Loại bỏ phụ thuộc hàm dư thừa
F3= {A→ E, ADF → B, B → E, CE → D, CE F}
- Thử loại bỏ AE
F4= { ADF → B, B → E, CE → D, CE F}
Vì +¿<i><sub>A</sub></i>=<i>A</i>
<i>F 4</i>
¿ nên A E không dư thừa
Xét tương tự chó các PTH khác, tất cả PTH đều khơng dư thừa
Kết luận: F3 là phủ tối thiểu
<b>3) Tìm phủ tối thiểu của tập phụ thuộc hàm sau:</b>
F1={DE A; B C; E AD; AB D}
- Bước 1: tách vế phải thành một thuộc tính
F1={DE A; B C; E A; E D; AB D}
- Bước 2: Kiểm tra vế trái dư thừa
o Xét DE A
D+ <sub>= D (không chứa A => E không dư)</sub>
E+ <sub>= EAD (chứa A => D dư)</sub>
DE A (phụ thuộc hàm dư thừa)
o Xét AB D
A+ <sub>= A (không chứa D => B không dư)</sub>
B+ <sub>= BC (không chứa D => A không dư) </sub>
DE A không dư thừa vế trái
F2={B C; E A; E D; AB D}
- Bước 3: Kiểm tra phụ thuộc hàm dư thừa
o Xét B C: B+<sub>=B (không chứa C => BC không dư)</sub>
o Xét E A : E+<sub>=ED (không chứa A => E A không dư)</sub>
o Xét AB D : AB+=ABC (Không chứa D => AB D không dư)
F2={B C; E A; E D; AB D}
<b>PHẦN 3</b>
<b>Bài 1: Cho quan hệ R(ABCDEH) và tập các phụ thuộc hàm </b>
<b>F = { AB ED , BD CH , AC BD , ABC DH }</b>
<b>1) Tìm tất cả các khoá của R suy ra từ tập phụ thuộc hàm</b>
TN = {A } , TG = {BCD}
TG TN TG (TN TG)+ Siêu khoá Khoá
A A
B AB ABEDCH AB AB
C AC ACBDEH AC AC
D AD AD
BC ABC ABCEDH ABC
BD ABD ABDCHE ABD
CD ACD ACDBEH ACD
BCD ABCD DBCEAH ABCD
Kết luận : R có hai khố {AB} và {AC}
<b>2) Xác định dạng chuẩn cao nhất của R (có chứng minh)</b>
Tập thuộc tính khơng khố là {DEH}
Bước 1 : R đương nhiên đạt dạng chuẩn 1
Bước 2 : Xét các tập con thực sự của các khoá AB, AC
Ta thấy (A)+
F = {A} và (B)+F = {B}
(A)+
F = {A} và (C)+F = {C}
không chứa các thuộc tính khơng khố. Vây R đạt dạng chuẩn 2
<b>Bước 3 : Xét phụ thuộc hàm BD CH có vế trái (BD) khơng chứa siêu</b>
khố, vế phải chứa H là thuộc tính khơng khố . Vây R không đạt dạng
chuẩn 3
Kết luận : R đạt dạng chuẩn 2
<b>Bài 2: Khảo sát bảng dữ liệu chứa thơng tin của thí sinh nộp hồ sơ vào một trường đại</b>
học như sau:
THISINH
Số
Báo
Họ Tên Ngày
Sinh
Mã
trườn
Tên Trường Mã
Tỉn
Tên
tỉnh
danh g
PTTH
h
0560 Lê Thị Tý 1/1/1999 A12 Lê Hồng Phong 08 HCMC A
0342 Trần Hào 12/5/199
8
B12 Ngô Quyền 04 Hà nội B
0101 Trần Thị Ba 4/6/1999 C01 Lê Hồng Phong 49 Đà lạt C
0100 Ngô Văn Ba 18/5/199
9 B12 Ngô Quyền 04 Hà nội D
Mỗi thí sinh có một sơ báo danh duy nhất. Các thí sinh có thể trùng tên trùng họ và có
thể cùng học một trường THPT. Mỗi thí sinh đăng ký dự thi một trong các khối thi
A,B,C hoặc D và chỉ được phép thi 1 khối duy nhất. Mỗi trường có mã trường riêng
biệt, tên trường của các tỉnh thành có thể trùng nhau. Một tỉnh thành có thể nhiều
Tên TrườngMã Tỉnh
Số Báo danh Họ, Tên, Ngày Sinh, Mã trường PTTH, Tên
Trường, Mã Tỉnh, Tên tỉnh, Khối thi
Họ, Tên Tên Trường
Mã trường PTTH, Mã Tỉnh Tên Trường
Mã Tỉnh Tên tỉnh
a) Xác định dạng chuẩn của bảng.
b) Nếu bảng không đạt chuẩn 3 NF thì bạn sẽ phân rã quan hệ THISINH thành
các quan hệ nào để cơ sở dữ liệu tối ưu hơn.
Đáp án:
Khóa chính: Số Báo Danh
Vì bảng có khóa chính là khóa đơn, nên bảng đạt chuẩn 2NF.
Thuộc tính khóa là số báo danh, các thuộc tính cịn lại là thuộc tính khơng khóa
PTH 2 và 3 có vế trái khơng phải là khóa, vế phải khơng phải là thuộc tính khóa, nên vi
phạm chuẩn 3NF.
Chuẩn cao nhất của bảng là 2NF.
b) Phân rã lược đồ
TINH (Mã Tỉnh, Tên Tỉnh)
TRUONGHOC (Mã trường, Mã Tỉnh, Tên Trường)
THISINH(Số báo danh, Họ, Tên, Ngày Sinh, Mã trường, Khối thi)
KETQUATRANDAU(MatranDau, NgayThiDau, Gio, SanThiDau, MaTrongTai,
TenTrongTai, MaDoiBong, TenDoiBong, TySo)
Ma
TranDau
Ngay
ThiDau
Gio San
ThiDau
Ma
TrongTai
Ten
TrongTai
Ma
DoiBong
Ten
DoiBong
Ty
So
1 3/5/17 17g Hoa Lư T1 Nguyễn Ân D1 Hà Nội 3-2
1 3/5/17 17g Hoa Lư T1 Nguyễn Ân D2 Tp.HCM 3-2
2 5/5/17 19g Mỹ Đình T2 Lê Hà D1 Hà Nội 1-1
2 5/5/17 19g Mỹ Đình T2 Lê Hà D3 SLNA 1-1
a) Xác định khóa cho quan hệ KETQUATRANDAU biết các phụ thuộc hàm sau:
F={MaTranDauNgayThiDau, Gio, SanThiDau, MaTrongTai, TenTrongTai,
TySo
MaTrongTaiTenTrongTai
MadoiBongTenDoiBong
MaTranDau, MaDoiBongNgayThiDau, Gio, SanThiDau, MaTrongTai,
TenTrongTai, TenDoiBong, TySo}
b) Xác định dạng chuẩn cao nhất của quan hệ trên.
F={ABCDEFHI, EF, GH, AGBCDEFHI}
TN={AG}
TG={E}
Xi XiUTN XiUTN+ Siêu khóa Khóa
<sub>AG</sub> <sub>ABCDEFGHIFK=Q+</sub> <sub>AG</sub> <sub>AG</sub>
E AEG Q+ AEG
Khóa là K = {AG} hay K={MaTranDau, MaDoiBong}
Xét phụ thuộc hàm ABCDEFHIJK có A khơng là siêu khóa nên Q khơng
đạt BC, vế phải chứa các thuộc tính khơng phải là thuộc tính khóa nên Q
không đạt chuẩn 3
A+ = Q chứa các thuộc tính khơng là thuộc tính khóa nên Q khơng đạt 2.
Vậy Q đạt chuẩn 1
2) Xác định dạng chuẩn cao nhất cho quan hệ R.
3) Bạn đưa ra giải pháp để sửa quan hệ trên (tách quan hệ) đạt chuẩn cao hơn.
Bài giảng
1) Xác định tất cả khóa của lược đồ quan hệ R(A, B, C, D, E) và tập phụ thuộc hàm F={DEA;
B C; E AD; ABD}
TN={BE}
TG={AD}
Xi XiTN (XiTN)+ <sub>Siêu khóa</sub> <sub>Khóa</sub>
BE BCADE=Q
+
BE BE
A ABE Q+ ABE
D DBE Q+ DBE
AD ADBE Q+ ADBE
Xác định khóa chính BE
2) Dạng chuẩn cao nhất
Xét DEA có DE khơng là siêu khóa R khơng đạt BCNF
Xét DEA có DE khơng là siêu khóa, A khơng là thuộc tính khóa R khơng đạt 3NF
Xét khóa BE
B+ = BC có C khơng là thuộc tính khóa R khơng đạt chuẩn 2
Vậy chuẩn cao nhất là chuẩn 1
3) Bạn đưa ra giải pháp để sửa quan hệ trên (tách quan hệ) đạt chuẩn cao hơn.
Xét DEA có DE khơng là siêu khóa, A khơng là thuộc tính khóa
Tách thành
Q1 (D,E,A) , F=={DEA; E AD; }
Q2(B, C, D, E), F={ B C; ABD}
<b>Bài 6: Cho quan hệ HoaDon(Mahd, Masp, Ngayban, MotaSp, Mancc, Tenncc, </b>
Soluong, Dongia) và tập phụ thuộc hàm sau:
Quan hệ HoaDon có dữ liệu như sau:
<b>Mahd</b> <b>Masp Ngayban</b> <b>MotaSp</b> <b>Mancc</b> <b>Tenncc</b> <b>Soluon</b>
<b>g</b>
<b>Dongia</b>
Hd01 Tao 5/5/2017 Táo Mỹ Vna VinaMak 5 70000
Hd01 Bơ 5/5/2017 Bơ Đà Lạt Cop CopMark 10 30000
Hd02 Tao 6/5/2017 Táo Mỹ Vna VinaMak 6 70000
Mahd, Masp Ngayban, MotaSp,
ManccMancc, Tenncc,
Mahd, MaspMancc, Tenncc
<b>Yêu cầu:</b>
1) Xác định tất cả khóa của lược đồ quan hệ.
2) Quan hệ trên thuộc dạng chuẩn mấy?
3) Bạn đưa ra giải pháp để sửa quan hệ trên (tách quan hệ) đạt chuẩn cao hơn.
Giải
1) Xác định tất cả khóa của lược đồ quan hệ
Đặt A=Mahd, B=Masp, C=Ngayban, D=MotaSp, E=Mancc, F=Tenncc, G=Soluong,
Tập phụ thuộc hàm tương ứng:
F={ABCDEFGH, AC, EF, BDEFH}
TN={AB}
TG={E}
Xi XiTN (XiTN)+ <sub>Siêu khóa</sub> <sub>Khóa</sub>
AB ABCDEFG
H
AB AB
E ABE ABCDEFG
H
ABE
Xác định khóa chính AB (Mahd, Masp)
2) Dạng chuẩn cao nhất
Xét ABCDEFGH
AB+ = ABCDEFGH có AB là siêu khóa
Xét AC
A+ =AC, có A khơng là siêu khóa
Nên Hoadon khơng đạt chuẩn BCNF
C khơng là thuộc tính khóa
Nên Hoadon không đạt chuẩn 3NF và chuẩn 2
Vậy chuẩn cao nhất là chuẩn 1
3) Bạn đưa ra giải pháp để sửa quan hệ trên (tách quan hệ) đạt chuẩn cao hơn.
Xét DEA có DE khơng là siêu khóa, A khơng là thuộc tính khóa
Tách thành