Bài tập về chuẩn hóa lập trình

7 2.7K 12
Bài tập về chuẩn hóa lập trình

Đang tải... (xem toàn văn)

Thông tin tài liệu

Bài tập về chuẩn hóa lập trình

NHP MễN C S D LIU QUAN H Son bi b mụn Cụng ngh phn mm - 2007 http://www.ebook.edu.vn Trang 1 5. BI TậP Về chuN HO MC TIấU CA BI NY GIP NGI HC ắ Phõn bit cỏc dng chun ca quan h. ắ Xỏc nh mt lc dng chun no. ắ Vn dng gii cỏc bi tp v chun húa quan h (a cỏc lc quan h (quan h) t dng chun thp lờn dng chun cao hn). ắ Kim tra c mt phộp tỏch lc aqua nh c ú mt thụng tin khụng. A/ NHC LI Lí THUYT I. CC NH NGHA, TNH CHT 1. Dng chun 1 (1NF - first normal form) Mt lc quan h = (U, F) c gi l dng chun mt (1NF) nu v ch nu tt c min giỏ tr ca cỏc thuc tớnh ca R u nguyờn t (khụng th phõn chia c). Chỳ ý: Tớnh khụng th phõn chia c ch cú tớnh cht tng i. nh ngha ny cho thy ngay rng bt k quan h chun húa no cng 1NF. 2. Dng chun 2 ( 2NF- Second normal form) Trc khi nghiờn cu dng chun th 2 , ta xột Vớ d sau õy: Xột CSDL gm 2 lc quan h THI(MONTHI,GIAOVIEN) v SINHVIEN(MONTHI, MSSV, TEN, TUOI, DCHI, DIEM) phn ỏnh thụng tin v kt qa thi ca mt n v no ú. Trong quan h THI thỡ MONTHI l khúa v trong quan h SINHVIEN thỡ MOMTHI v MSSV l khúa. quan h th hai d nhn thy rng MONTHI, MSSV,DIEM xỏc nh kt qu thi ca sinh viờn cũn MSSV,TEN, TUOI, DCHI xỏc nh i tng d thi Xột cỏc hin hnh ca 2 lc quan h THI v SINHVIEN nh sau: THI MONTHI GIAOVIEN Toỏn Thy Cụng Lý Thy Ha Húa Thy Giao SINHVIEN MONTHI MSSV TEN TUOI DCHI DIEM Toỏn 11 Lan 20 HN 8.0 Toỏn 12 Hue 21 HY 7.5 Húa 11 Lan 20 HN 7.0 Húa 12 Hue 21 HY 6.0 Lý 11 Lan 20 HN 5.0 Lý 13 An 22 BN 4.0 NHP MễN C S D LIU QUAN H Son bi b mụn Cụng ngh phn mm - 2007 http://www.ebook.edu.vn Trang 2 3. Dng chun 3 ( 3NF- Second normal form) nh ngha: Cho lc quan h =(U, F), lc c gi l dng chun 3, kớ hiu l 3NF, nu nh lc dng chun 1NF v cỏc thuc tớnh khụng khoỏ ca l khụng ph thuc hm bc cu vo khoỏ chớnh. 4. Dng chun Boyce Codd ( BCNF- Boyce Codd normal form) nh ngha: Cho lc quan h =(U, F), lc c gi l dng chun Boyce Codd, kớ hiu l BCNF, nu nh lc dng chun 1NF v nu XặY F+ ( Y X ) thỡ X phi l siờu khoỏ ca lc . 5. Tỏch lc quan h nh ngha: Phộp tỏch lc quan h = (U, F) l phộp thay th nú bng mt tp cỏc lc con i = (Ui, Fi), i=1, ,k vi iu kin Ui i=1, ., k , Ui= U, Fi= F/Ui, Fi l hỡnh chiu ca F lờn tp thuc tớnh Ui Phộp tỏch ú c ký hiu l ={U1, U2, , Uk} Kớ hiu = (U, F), ={U1, U2, , Uk} l mt phộp tỏch khi ú R l mt quan h trờn U, kớ hiu m(R)=R[U1] * R[U2] * . * R[Uk] nh ngha: phộp tỏch kt ni khụng mt thụng tin Cho lc quan h = (U, F) v phộp tỏch ={U1, U2, , Uk} i vi lc ú. phộp tỏch c gi l phộp tỏch kt ni khụng mt thụng tin nu mi quan h R trờn U thỡ ta cú m(R)= R, ngc li nu m(R) R thỡ ta núi phộp tỏch l phộp tỏch mt thụng tin. 6. Thut toỏn kim tra phộp tỏch kt ni cú mt thụng tin hay khụng? D liu vo: - Tp thuc tớnh U - Tp ph thuc hm F - Phộp tỏch ={U1, U2, , Uk} Ra: Xỏc nh liu phộp tỏch cú mt thụng tin hay khụng? Phng phỏp: Gi s U={A1, A2, , An}, ta xõy dng mt bng gm k dũng n ct (n=| U | , k=| |), ct th i ca bng ng vi thuc tớnh Ai, hng th j ca bng ng vi lc con i = (Ui, Fi), ti hng i v ct j ta in kớ hiu aj ( ta gi kớ hiu aj l tớn hiu chớnh) nu thuc tớnh aj Ui, nu khụng ta in bj ( ta gi bij l tớn hiu ph). Bõy gi ta bin i bng nh sau: Vi mi ph thuc hm XặY F, nu trong bng cú hai hng ging nhau trờn tp thuc tớnh X thi ta cn lm chỳng ging nhau trờn tp thuc tớnh Y theo quy tc sau: - Nu mt trong hai giỏ tr l tớn hiu ph thỡ ta sa li tớnh hờu ph thnh tớn hiu chớnh tc l sa bij thnh aj - Nu c hai l tớn hờu ph thỡ ta sa li hai tớn hiu ú bng mt trong cỏc kớ hiu bij , tc l sa li ch s cho ging nhau. Tip tc ỏp dng cỏc ph thuc hm trong bng ( k c cỏc ph thuc hm ó c s dng) cho ti khi khụng cũn ỏp dng c na. Quan sỏt trong bng cui cựng: nu xut hin ớt nht mt hng gm ton tớn hiu chớnh ( hng gm ton kớ hiu a) thỡ phộp tỏch kt ni l khụng mt thụng tin, trng hp ngc li l kt ni mt thụng tin. 7. Phng phỏp chun húa d liu NHẬP MÔN CƠ SỞ DỮ LIỆU QUAN HỆ Soạn bởi bộ môn Công nghệ phần mềm - 2007 http://www.ebook.edu.vn Trang 37.1. Thuật toán tách lược đồ thành 3NF Input: Lược đồ quan hệ α =(U, F) Output: Các lược đồ ở dạng 3NF (U1, K1) , ( U2, K2) ,…., (Un, Kn) thỏa mãn: a)  Quan hệ R trên U thì R[U1]*R[U2]* … * R[Un]=R b) K1, K2, …, Kn là các khoá của lược đồ con tưng ứng Phương pháp: 1. Tìm một khóa K của lược đồ α 2. Tìm một phủ G tối thiểu của F G={K1ÆA1, K2ÆA2, …, KpÆAp} 3. Ghép các phụ thuộc hàm có cùng vế trái trong G để thu được phủ G={K1ÆX1, K2ÆX2, …, KnÆXn} 4. Phép tách δ ={K1X1, K2X2, …, KnXn} nếu khoá K không có mặt trong thành phần nào của δ thì thêm thành phần K vào δ. 5. Return δ 7.2. Tách không mất thông tin thành các lược đồ ở dạng BCNF Cho lược đồ α = (U, F), và phép tách δ ={U1, U2, , Uk}, phép tách một lược đồ thành một tập các lược đồ ở dạng BCNF là phép tách thỏa mãn: - Phép tách δ là phép tách kết nối không mất thông tin - Tất cả các lược đồ con αi = (Ui, Fi) đều ở dạng BCNF Phương pháp : Xuất phát từ một phụ thuộc hàm XÆ A nào đó của F, phụ thuộc hàm XÆ A này vi phạm điều kiện BCNF, ta xây dựng phép tách δ ={U1, U2}, tương ứng với lược đồ α1 và α2 sao cho: - Phép tách đó là phép tách kết nối không mất thông tin - Phụ thuộc hàm XÆ A là phụ thuộc hàm của lược đồ α1 và nó thỏa mãn điều kiện cua BCNF trong lược đồ này - Nếu như các lược đồ α1 và α2 vẫn chưa ở dạng BCNF thì tiếp tục quá trình đó, thì các điều vi phạm BCNF đều bị loại bỏ, cuối cùng ta thu được một tập các lược đồ con đều ở dạng BCNF và quá trình tách luôn luôn đm bo phép tách kết nối không mất thông tin. Cơ sở của thuật toán trên là do gi thiết lược đồ α = (U, F) chưa ở dạng BCNF do đó tồn tại phụ thuộc hàm XÆ A, AÆ X, X không phải là siêu khoá U1=XA, U2 =U \ A Nhận xét X=U1 ∩ U2, U1 \ U2 =A, đã có XÆ A do đó U1 ∩ U2 Æ U1 \ U2 theo định lý ở phần trên thì phép tách δ ={U1 , U2} là phép tách có kết nối không mất thông tin. Vì U1 =XA và phụ thuộc hàm XÆ A là duy nhất trên lược đồ α1 = (U1, F1) nên X là siêu khoá. Nếu α1 , α2 chưa ở dạng BCNF thì ta áp dụng quá trình tách tương tự. Cuối cùng ta thu được một tập các lược đồ ở dạng BCNF và quá trình tách là không mất thông tin. Ví dụ: Cho lược đồ α = (U, F) với U=CRHTSG ( C : Course, T : Teacher, H Hour, R : Room, S : Student, G : Group) F ={CÆT , HR Æ C, CH Æ R, CSÆ G, HSÆ R} NHẬP MÔN CƠ SỞ DỮ LIỆU QUAN HỆ Soạn bởi bộ môn Công nghệ phần mềm - 2007 http://www.ebook.edu.vn Trang 4 Nhận xét - Lược đồ này có duy nhất một khoá 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 Như vậy phép tách cuối cùng là δ={ CSG, CT , CHR , CHS } III. MỘT SỐ LƯU Ý ¾ 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ÀI TẬP MẪU Bài số 1: 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? Hướng dẫn: α = (U, F) U1 =CSG F1={CSÆG} K=CS U2 =CTHRS F2={CÆT, HRÆC, CHÆR, HSÆR} K=HS U3 =CT F3={CÆT} K=C U4 =CHSR F4={ HRÆC, CHÆR, HSÆR} K=HS U5 =CHR F5={ HRÆC, HRÆC} K=HR, K=HC U6 =CHS F6={ HSÆC} K=HS NHP MễN C S D LIU QUAN H Son bi b mụn Cụng ngh phn mm - 2007 http://www.ebook.edu.vn Trang 5 p dng thut toỏn kim tra phộp tỏch cú mt thụng tin khụng, ta tin hnh tng bc. Gii: Xõy dng bng gm 3 dũng 5 ct - in cỏc tớn hiu vo bng A1 A2 A3 A4 A5 U1 A1 a2 b13 a4 b15 U2 b21 a2 a3 b24 b25 U3 a1 b32 b33 a4 a5 - Bin i bng trờn da vo tp ph thuc hm F + S dng ph thuc hm A1 ặ A2 A3 ta bin i bng + S dng ph thuc hm A2 A4ặ A5 + S dng ph thuc hm A2ặ A3 Trong bng ny cú hng cui cựng gm ton cỏc tớn hiu chớnh, do vy phộp tỏch l phộp tỏch kt ni khụng mt thụng tin. C/ BI TP T GII A1 A2 A3 A4 A5 U1 a1 a2 b13 a4 b15 U2 b21 a2 a3 b24 b25 U3 A1 a2 b13 a4 a5 A1 A2 A3 A4 A5 U1 a1 a2 b13 a4 a5 U2 b21 a2 a3 b24 b25 U3 a1 a2 b13 a4 a5 A1 A2 A3 A4 A5 U1 a1 a2 a3 a4 a5 U2 b21 a2 a3 b24 b25 U3 a1 a2 a3 a4 a5 NHẬP MÔN CƠ SỞ DỮ LIỆU QUAN HỆ Soạn bởi bộ môn Công nghệ phần mềm - 2007 http://www.ebook.edu.vn Trang 6Bài tập 1: 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={A→B, AC→D}, δ={AB, ACD} b) α=(U, F) với U=ABCDE, F={A→C, B→C, C→D, DE→C, CE→A}, δ={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={A→C, D→B, C→ABD} Bài tập 2: Cho lược đồ quan hệ α=(U, F) với U=ABCDEGH F={CD→H, E→B, D→G, BH→E, CH→DG, C→A } Hỏi rằng phép tách δ=(ABCDE, BCH, CDEGH) có kết nối mất thông tin không. Bài tập 3: Cho lược đồ quan hệ α=(U, F) với U=ABCD, F={D→B, C→A, B→ACD } Xác định dạng chuẩn cao nhất của lược đồ quan hệ trên Bài tập 4: Cho lược đồ quan hệ α =(U, F) với U=ABCD, F={CD→B, A→C, B→ACD } Xác định dạng chuẩn cao nhất của lược đồ quan hệ trên Bài tập 5: Cho α=(u, F) với U=ABCDE và F={A→C, B→C, A→D, DE→C, CE→A} 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 } Bài tập 6: Cho α=(u, F) với U=ABCDEF và F={AB→C, C→B, ABD→E, F→A} 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 } Bài tập 7: Cho α=(u, F) với U=ABCDEG F={D→G, C→A, CD→E, A→B} 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 } Bài tập 8: Cho α=(u, F) với NHẬP MÔN CƠ SỞ DỮ LIỆU QUAN HỆ Soạn bởi bộ môn Công nghệ phần mềm - 2007 http://www.ebook.edu.vn Trang 7U=ABCDE và F={A→C, B→C, C→D, DE→C, CE→A} 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} Bài tập 9: Cho (=(U, F) với U=XYZW và tập F={Y→W, W→Y, XY→Z} Dạng chuẩn cao nhất của lược đồ là gì? Bài tập 10: Cho (=(U, F) với U=ABCDEG và tập phụ thuộc hàm F={ AB→C, AC→E, EG→D, AB→G } δ={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? Bài tập 11: Xét quan hệ R(ABCDE) và tập phụ thuộc hàm F={ AB→CE, E→AB, C→D } Hãy tìm dạng chuẩn cao nhất của lược đồ? Bài tập 12: Xét quan hệ R(ABCDEG) và tập phụ thuộc hàm F={ A→B, C→DG , AC→E, D→G } - Hãy tìm khoá của lược đồ - Hãy tìm dạng chuẩn cao nhất của lược đồ Bài tập 13: Xét quan hệ R(ABCD) và tập phụ thuộc hàm F={ AB→D, AC→BD, B→C } Hãy tìm dạng chuẩn cao nhất của lược đồ Bài tập 14: Cho α=(u, F) với U=ABCDEF F={AB→C, C→B, ABD→E, F→A} Lược đồ có ở dạng BCNF không . AE} Bài tập 9: Cho (=(U, F) với U=XYZW và tập F={Y→W, W→Y, XY→Z} Dạng chuẩn cao nhất của lược đồ là gì? Bài tập 10: Cho (=(U, F) với U=ABCDEG và tập phụ. ở dạng chuẩn BCNF? Bài tập 11: Xét quan hệ R(ABCDE) và tập phụ thuộc hàm F={ AB→CE, E→AB, C→D } Hãy tìm dạng chuẩn cao nhất của lược đồ? Bài tập 12:

Ngày đăng: 16/08/2012, 09:16

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan