Bài tập PHỤ THUỘC HÀM – CHUẨN HÓA CSDL Bài tập 1 1/ Cho quan hệ sau: r( A B C D E) a 1 b 1 c 1 d 1 e 1 a 1 b 2 c 2 d 2 d 1 a 2 b 1 c 3 d 3 e 1 a 2 b 1 c 4 d 3 e 1 a 3 b 2 c 5 d 1 e 1 Phụ thuộc hàm nào sau đây thỏa r: A→D,AB→D,C→BDE,E→A,A→E 2/ Cho Q + ={ABCD} a) Tìm tất các các tập con của Q b) Tìm tất cả các phụ thuộc hàm có thể có của Q (không liệt kê phụ thuộc hàm hiển nhiên) 3/ Tìm bao đóng F + của quan hệ phanCong(PHICONG,MAYBAY,NGAYKH,GIOKH) 4/ Cho F = {AB→C,B→D,CD→E,CE→GH,G→A} a) Hãy chứng tỏ phụ thuộc hàm AB→E,AB→G được suy diễn từ F nhờ luật dẫn Armstrong b) Tìm bao đóng của AB(với bài toán không nói gì về lược đồ quan hệ Q ta ngầm hiểu Q + là tập thuộc tính có trong F nghĩa là Q + ={ABCDEGH}) 5/ Cho F = {A→D,AB→DE,CE→G,E→H}. Hãy tìm bao đóng của AB. 6/ Cho F={AB→E,AG→I,BE→I,E→G,GI→H}. a) Hãy chứng tỏ phụ thuộc hàm AB→GH được suy diễn từ F nhờ luật dẫn Armstrong b) Tìm bao đóng của {AB} 7/ Cho F={A→D,AB→E,BI→E,CD→I,E→C} tìm bao đóng của {AE} + ={ACDEI} Bài tập 2 – Phủ thối thiểu – Khóa của lược đồ CSDL 1) Cho lược đồ quan hệ Q(MSCD,MSSV,CD,HG) và tập phụ thuộc F như sau: F = {MSCD → CD; CD → MSCD; CD,MSSV → HG; MSCD,HG → MSSV; CD,HG → MSSV; MSCD,MSSV → HG} 1 Hãy tìm phủ tối thiểu của F 2) Chứng minh các tính chất sau: a) Tính cộng đầy đủ X → Y và Z → W ⇒ XZ → YW b) Tính tích lũy X → Y và Y → ZW ⇒ X → YZW 3) Cho G={AB→C,A→B,B→C,A→C}. F={AB→C,A→B,B→C} có tương đương với G không? 4) Cho lược đồ CSDL Kehoach(NGAY,GIO,PHONG,MONHOC,GIAOVIEN) F={NGAY,GIO,PHONG → MONHOC MONHOC,NGAY → GIAOVIEN NGAY,GIO,PHONG → GIAOVIEN MONHOC → GIAOVIEN} a) Tính {NGAY,GIO,PHONG} + ; {MONHOC} + b) Tìm phủ tối thiểu của F c) Tìm tất cả các khóa của Kehoach 5) Cho lược đồ CSDL Q(TENTAU,LOAITAU,MACHUYEN,LUONGHANG,BENCANG,NGAY) F={TENTAU → LOAITAU MACHUYEN → TENTAU, LUONGHANG TENTAU,NGAY → BENCANG, MACHUYEN} a) Hãy tìm tập phủ tối thiểu của F b) Tìm tất cả các khóa của Q 6) Q(A,B,C,D,E,G) Cho F={AB→C;C→A;BC→D;ACD→B;D→EG;BE→C;CG→BD;CE → AG} X={B,D}, X + =? Y={C,G}, Y + =? 7) cho lược đồ quan hệ Q và tập phụ thuộc hàm F a) F={AB→E;AG→I;BE→I;E→G;GI→ H} chứng minh rằng AB → GH. b) F={AB→C;B→D;CD→E;CE→GH;G→A}chứng minh rằng AB → E; AB → G 8) Cho quan hệ r A B C D x u x Y y x z x z y y y 2 y z w z Trong các phụ thuộc hàm sau đây, PTH nào không thỏa A → B; A → C; B → A; C → D; D → C; D → A 9) Hãy tìm tất cả các khóa cho lược đồ quan hệ sau: Q(BROKER,OFFICE,STOCK,QUANTITY,INVESTOR,DIVIDENT) F={STOCK → DIVIDENT INVESTOR → BROKER INVESTOR,STOCK → QUANTITY BROKER → OFFICE } 10)Xét lược đồ quan hệ và tập phụ thuộc dữ liệu: Q(C,T,H,R,S,G) f={ f 1 : C→ T; f 2 : HR→ C; f 3 : HT→ R; f 4 : CS→ G; f 5 : HS→ R} Tìm phủ tối thiểu của F 11) Q(A,B,C,D,E,H) F={A → E; C → D; E → DH} Chứng minh K={A,B,C} là khóa duy nhất của Q 12) Q(A,B,C,D) F={AB→C; D→B; C→ABD} Hãy tìm tất cả các khóa của Q 13) Q(A,B,C,D,E,G) F={AB→C;C→ A;BC→D;ACD→B;D→EG;BE→C;CG→BD;CE→G} Hãy tìm tất cả các khóa của Q. 14)Xác định phủ tối thiểu của tập phụ thuộc hàm sau: a) Q(A,B,C,D,E,G), F={AB→C;C→A;BC→D;ACD→B;D→EG;BE→C;CG→BD;CE→AG} b) Q(A,B,C) F={A→B,A→C,B→A,C→A,B→C} 15)Xác định phủ tối thiểu của các tập phụ thuộc hàm sau: a) Q 1 (ABCDEGH) F 1 ={A→ H,AB→C,BC→D;G→B} b) Q 2 (ABCSXYZ) F 2 ={S→A;AX→B;S→B;BY→C;CZ→X} c) Q 3 (ABCDEGHIJ) F 3 ={BG→D;G→J;AI→C;CE→H;BD→G;JH→A; D→I } d) Q 4 (ABCDEGHIJ) F 4 ={BH→I;GC→A;I→J;AE→G;D→B;I→H} 16) Chứng minh rằng: 3 {ABE, AG I, BE I, EG, GIH} |= (AB GH) 17)Cho 1 lược đồ quan hệ R(U,F) với U={BDIOQS} và F= {SD, IB, IS Q, BO} a. Trong những phụ thuộc hàm sau, phụ thuộc nào thuộc F+: BI SQ, IS DOB, BIS QD? b. Tìm khóa của lược đồ 18) Cho Q(A,B,C,D,E,I), F={ACD→EBI;CE→AD}. Hỏi Q có đạt chuẩn BC không? 19)Cho lược đồ quan hệ R= {Q,F} với Q={ABCDEFGH} và F= {ABCH, CDE, HD, BFGH, EF, HAB} Hãy chứng minh F tuơng đương với G={ ABEFG, BF GH, AB CD, CDEF, HAB, EF} 20) Cho lược đồ quan hệ R= {Q,F} với Q={ABCGWXYZ} và F= {XYZYB, YACG, CW, BG, XZG} Tìm phủ tối thiểu của F Bài tập 3 – Chuẩn hóa CSDL 1/ Cho biết dạng chuẩn của các lược đồ quan hệ sau: a) Q(ABCDEG); F={A→BC, C→DE, E→G} b) Q(ABCDEGH); F={C→AB, D→E, B→G} c) Q(ABCDEGH) F={A→BC, D→E, H→G} d) Q(ABCDEG); F={AB→C, C→B, ABD→E, G→A} e) Q(ABCDEGHI); F={AC→B,BI→ACD,ABC→D,H→I,ACE→BCG,CG→AE} 2/ Kiểm tra sự bảo toàn thông tin ? Q(ABCDE) R 1 (AD);R 2 (AB);R 3 (BE); R 4 (CDE);R 5 (AE) F={A → C; B → C;C → D;DE → C;CE → A} 3/ Cho lược đồ quan hệ Q(A,B,C,D) và tập phụ thuộc hàm F = {A→B;B→C;A→D;D→C} Và một lược đồ CSDL như sau: C ={Q 1 (AB);Q 2 (AC);Q 3 (BD)} a) C có bảo toàn thông tin đối với F b) C có bảo toàn phụ thuộc hàm ? 4/ Kiểm tra dạng chuẩn Q(C,S,Z) F={CS→Z;Z→C} 4 5/ Phân rã Q(G,H,A,B,C,D) F={GH→AD;AG→B;CD→GH; C→A; BH→C} 6/ Cho lược đồ CSDL Kehoach(NGAY,GIO,PHONG,MONHOC,GIAOVIEN) F={NGAY,GIO,PHONG→MONHOC MONHOC,NGAY→GIAOVIEN NGAY,GIO,PHONG→GIAOVIEN MONHOC→GIAOVIEN} a) Xác định dạng chuẩn cao nhất của Kehoach b) Nếu Kehoach chưa đạt dạng chuẩn 3, hãy phân rã Kehoach thành lược đồ CSDL dạng chuẩn 3 vừa bảo toàn phụ thuộc hàm vừa bảo toàn thông tin. c) Nếu Kehoach chưa đạt dạng chuẩn BC, hãy phân rã KeHoach thành lược đồ CSDL dạng BC 7/ Cho lược đồ quan hệ Q(A,B,C,D) và tập phụ thuộc hàm F F = {A→B;B→C; D→B} C = {Q 1 (A,C,D); Q 2 (B,D)} a) Xác định các F i (những phụ thuộc hàm F được bao trong Q i ) b) Lược đồ CSDL C có đạt dạng chuẩn BC ? Nếu không có thể phân rã tiếp các Q i của C để biến C thành dạng chuẩn BC ? 8/ Giả sử ta có lược đồ quan hệ Q(C,D,E,G,H,K) và tập phụ thuộc hàm F như sau; F = {CK→ H; C →D; E→C; E →G; CK →E} a) Từ tập F, hãy chứng minh EK → DH b) Tìm tất cả các khóa của Q. c) Xác định dạng chuẩn của Q. d) Hãy tìm cách phân rã Q thành một lược đồ CSDL đạt dạng chuẩn BC (hoặc dạng chuẩn 3). tìm tập phụ thuộc hàm và khóa cho mỗi lược đồ quan hệ con. 9/ Cho lược đồ quan hệ Q(S,I,D,M) F = {f 1 :SI → DM; f 2 :SD→ M; f 3 :D→ M} 5 a) Tính bao đóng D + , SD + , SI + b) Tìm tất cả các khóa của Q c) Tìm phủ tối thiểu của F d) Xác định dạng chuẩn cao nhất của Q e) Nếu Q chưa đạt dạng chuẩn 3, hãy phân rã Q thành lược đồ CSDL dạng chuẩn 3 vừa bảo toàn phụ thuộc hàm vừa bảo toàn thông tin. f) Nếu Q chưa đạt dạng chuẩn BCNF, hãy phân rã Q thành lược đồ CSDL dạng BCNF g) Kiểm tra phép tách Q thành các lược đồ con (SID,SIM) có bảo toàn thông tin ? h) Kiểm tra phép tách Q thành các lược đồ con (SID,SIM) có bảo toàn phụ thuộc hàm ? 10/ Cho lược đồ quan hệ R(W,A,Z,Y,Q,P) R 1 (A,Z); R 2 (W,Y,Q,P) R 3 (Y,Q,P,A) F = {W →AYQP, A →Z, YQP →A} Hãy kiểm tra tính kết nối không mất thông tin. 11/ Cho lược đồ quan hệ Q(Môn, GiảngViên,Giờ giảng, Phòng, SinhViên, Hạng) với F ={M→GV; G,P→M; G,GV→P; M,SV→H; G,SV→P} C = {Q 1 (M,G,P); Q 2 (M,GV);Q 3 ( M,SV,H)} Kiểm tra xem lược đồ cơ sở dữ liệu sau đây có bảo toàn thông tin đối với F ? 12/ Kiểm Tra Dang Chuẩn a) Q(A,B,C,D) F={CA→D; A→B} b) Q(S,D,I,M) F={SI→D;SD→M} c) Q(N,G,P,M,GV) F={N,G,P→M;M→GV} d) Q(S,N,D,T,X) F={S→N; S→D; S→T; S→X} 13/ Phân rã lược đồ thành dạng BCK a) Q(S,D,I,M) F={S,I→D;S,D→M} 6 b) Q(A,B,C,D) F={A→B;B→C;D→B} c) Q(C,S,Z) F={C,S→Z; Z→C} 14/ Phân rã lược đồ thành dạng 3NF vừa bảo toàn phụ thuộc hàm vừa bảo toàn thông tin a) Q(A,B,C), F={A→B;A→C;B→A;C→A;B→C} b) Q(MSCD,MSSV,CD,HG) F={MSCD→CD; CD→MSCD; CD,MSSV→HG; MSCD,HG→MSSV; CD,HG→MSSV; MSCD,MSSV→HG} c) Q(A,B,C,D) F={ AB→C; C→B} 15) Hãy xác định phụ thuộc hàm và chuẩn hóa bảng INVOICE sau nếu bảng chỉ chứa giá trị đơn và một hóa đơn có thể mua nhiều mặt hàng khác nhau: Tên thuộc tính Giá trị mẫu INV_NUM 211347 PRO_NUM E3422 SALE_DATE 06/25/04 PROD_DESCRIPTION B&D rotary sander 6, in.disk VEND_CODE 211 VEND_NAME Neverfail, Inc. NUMBER_SOLD 2 PROD_PRICE $49.95 2. Xác định tất cả các phụ thuộc hàm và chuẩn hóa bảng STUDENT có cấu trúc sau: Tên Thuộc tính Giá trị mẫu STU_NUM 21343 STU_LNAME Stephanos STU_FNAME Vander DEPT_CODE ACCT DEPT_NAME Accounting DEPT_PHONE 4356 COLLEGE_NAME Bussiness Administration 7 ADV_LASTNAME Grastrand ADV_OFFICE HKB201 ADV_BUILDING Howard Kallenberger Building ADV_PHONE 2115 STU_GPA 2.87 STU_HOURS 96 SRU_CLASS Junior 3. Một câu lạc bộ tối đã tự thiết kế cho họ 1 CSDL với mục đích giúp giám đốc câu lạc bộ có thể gửi thiếp mời qua mail cho các thành viên (member) của câu lạc bộ, lập kế hoạch cho các bữa ăn, theo dõi ai tham dự tiệc tối, Sau đây là các nguyên tắc nghiệp vụ cần được thực thi trong CSDL: - Mỗi buổi tối phục vụ nhiều thành viên, và mỗi thành viên có thể tham dự nhiều buổi tối - Mỗi thành viên nhận được nhiều thiếp mời, và mỗi thiếp mời được gửi qua mail cho nhiều thành viên. - Mỗi buổi tối đều chỉ có1 món khai vị (entrée), nhưng món khai vị có thể dùng cho nhiều buổi tối . Ví dụ, một buổi tối có thể gồm món cá khai vị, cơm và ngũ cốc, hay buổi tối khác có thể gồm khai vị cá, khoai tây và đậu. Vì người câu lạc bộ không phải là chuyên gia CSDL, nên anh ta đã tạo ra 1 CSDL với cấu trúc như sau: Tên thuộc tính Giá trị mẫu MEMBER_NUM 214 MEMBER_NAME Alice B.VanderVoort MEMBER_ADDRESS 325 Meadow Park MEMBER_CITY Murkywater MEMBER_ZIPCODE 12345 INVITE_NUM 8 INVITE_DATE 8/1/1999 ACCEPT_DATE 8/9/1999 DINNER_DATE 8/23/1999 DINNER_ATTEND Y DINNER_CODE 5 DINNER_DESCRIPTION Sea Delight ENTRÉE_CODE 3 ENTREE _DESCRIPTION Stuffed crab DESSERT_CODE 8 DESSERT_DESCRIPTION Chocolate mousse with raspberry sauce 8 Xác định các phụ thuộc hàm và chuẩn hóa bảng thành 3NF 16) Cho một quan hệ R ={A, B, C, D, E, F, G, H, I, J} và tập phụ thuộc hàm F = { A,B C A D, E B F FG, H D I, J } Yêu cầu: - Tìm {A}+ ={D, E, I ,J } - Tìm khóa của quan hệ R. - Tách quan hệ R thành BCNF. - Kiểm tra xem việc tách trên có mất mát thông tin không? 2. Lặp lại yêu cầu ở bài 1 với tập phụ thuộc hàm sau: G= {A,B C B, D E, F A, D G, H A I HJ} 3. Cho một quan hệ R ={CourseNo, SecNo, OfferingDept, Credit_Hours, CourseLevel, InstructorSSN, Semester, Year, Days_Hours, RoomNo, NoOfStudents} và tập phụ thuộc hàm: F ={ CourseNo OfferingDept, Credit_Hours, CourseLevel; CourseNo, SecNo, Semester, Year Days_Hours, RoomNo, NoOfStudents, InstructorSSN; RoomNo, Days_Hours, Semester, Year � InstructorSSN, CourseNo, SecNo } Yêu cầu: - Tìm khóa của quan hệ R. - Quan hệ trên thuộc dạng chuẩn mấy? - Tách quan hệ về dạng 3NF. - Kiểm tra xem việc tách trên có mất mát thông tin không? 9 . Bài tập PHỤ THUỘC HÀM – CHUẨN HÓA CSDL Bài tập 1 1/ Cho quan hệ sau: r( A B C D E) a 1 b 1 c 1 d 1 e 1 a 1 b 2 c 2 d 2 d 1 a 2 b 1 c 3 d 3 e 1 a 2 b 1 c 4 d 3 e 1 a 3 b 2 c 5 d 1 e 1 Phụ thuộc. và tập phụ thuộc hàm F = {A→B;B→C;A→D;D→C} Và một lược đồ CSDL như sau: C ={Q 1 (AB);Q 2 (AC);Q 3 (BD)} a) C có bảo toàn thông tin đối với F b) C có bảo toàn phụ thuộc hàm ? 4/ Kiểm tra dạng chuẩn. Q(A,B,C,D) và tập phụ thuộc hàm F F = {A→B;B→C; D→B} C = {Q 1 (A,C,D); Q 2 (B,D)} a) Xác định các F i (những phụ thuộc hàm F được bao trong Q i ) b) Lược đồ CSDL C có đạt dạng chuẩn BC ? Nếu