HƯỚNG DẪNGIẢI BÀI TẬP ÔN THI CSDLĐỀ SỐ 1:Câu II: Cho lược đồ quan hệ Q(A,B,C,D,E,G,H) và tập phụ thuộc hàm: F = { E → C; H → E; A→ D; A,E → H; D,G → B; D,G → C } 1. Hãy xác đinh tất cả các khóa của Q 2. Hãy cho biết Q có đạt 3NF không ?3. Tìm phủ tối thiểu của F.4. Phân rã Q về dạng chuẩn 3, yêu cầu phân rã bảo toàn thông tin và phụ thuộc hàm.HƯỚNG DẪN:1.Tìm khóa?TN = {AG }TG = { DEH }TN+F = { AG }+F = AGDBC ≠ Q+XiTN U Xi(TN U Xi)+Siêu khóaKhóaøAG AGDBC DAGDAGDBC EAGEAGEDBCH = Q+AGEAGEHAGHAGHDEBC = Q+AGHAGHDEAGDEAGDEBCH = Q+AGDEDHAGDHAGDHBCE = Q+AGDHEHAGEHAGEHDBC = Q+AGEHDEHAGDEHAGDEHBC = Q+AGDEHVậy TK = { AGE, AGH }2.3NF?Xét pth: E → C, ta thấy vế trái không chứa khóa và vế phải không là thuộc tính khóa => Q không đạt 3NF3.Tìm phủ tối thiểu?Bước 1: F’ = F, tách F’ thành một tập phụ thuộc hàm mà vế phải chí có một thuộc tínhF’ = { E → C; H → E; A→ D; A,E → H; D,G → B; D,G → C }Bước 2: Loại bỏ những thuộc tính dư thừaF’ = { E → C; H → E; A→ D; A,E → H; D,G → B; D,G → C }Bước 3:F’ = { E → C; H → E; A→ D; A,E → H; D,G → B; D,G → C } Xét E → C: E+ { E → C } = E, C ∉ E+ ⇔ E → C ∉ F+ ⇒ Không thể bỏ pht này. Các pth H → E; A→ D; A,E → H; D,G → B đều không bỏ được vì các thuộc tính E, D, H, B chỉ xuất hiện 1 lần bên vế phải. D,G → C: DG+ { D,G → C } = DGB, C ∉ DG+ ⇔ D,G → C ∉ F+ ⇒ Không thể bỏ pht này.Vậy F’ = { E → C; H → E; A→ D; A,E → H; D,G → B; D,G → C }Là phủ tối thiếu của F.
Người soạn: Nguyễn Thị Tân Hà HƯỚNG DẪN GIẢI BÀI TẬP ÔN THI CSDL ĐỀ SỐ 1: Câu II: Cho lược đồ quan hệ Q(A,B,C,D,E,G,H) tập phụ thuộc hàm: F = { E → C; H → E; A→ D; A,E → H; D,G → B; D,G → C } Hãy xác đinh tất khóa Q Hãy cho biết Q có đạt 3NF không ? Tìm phủ tối thiểu F Phân rã Q về dạng chuẩn 3, yêu cầu phân rã bảo toàn thông tin phụ thuộc hàm HƯỚNG DẪN: Tìm khóa? TN = {AG } TG = { DEH } TN = { AG } = AGDBC ≠ Q + F + F + Xi ø D E H DE DH EH DEH Vậy TK = { AGE, AGH } 3NF? Xét pth: E → C, ta thấy vế trái không chứa khóa vế phải không thuộc tính khóa => Q không đạt 3NF Tìm phủ tối thiểu? Bước 1: F’ = F, tách F’ thành tập phụ thuộc hàm mà vế phải chí có thuộc tính F’ = { E → C; H → E; A→ D; A,E → H; D,G → B; D,G → C } Bước 2: Loại bỏ thuộc tính dư thừa F’ = { E → C; H → E; A→ D; A,E → H; D,G → B; D,G → C } Bước 3: F’ = { E → C; H → E; A→ D; A,E → H; D,G → B; D,G → C } * Xét E → C: E - { E → C } = E, C ∉ E ⇔ E → C ∉ F ⇒ Không thể bỏ pht * Các pth H → E; A→ D; A,E → H; D,G → B đều không bỏ vì thuộc tính E, D, H, B xuất lần bên vế phải * D,G → C: DG - { D,G → C } = DGB, C ∉ DG ⇔ D,G → C ∉ F ⇒ Không thể bỏ pht + + + + + + Vậy F’ = { E → C; H → E; A→ D; A,E → H; D,G → B; D,G → C } Là phủ tối thiếu F Phân rã? Vậy TK = { AGE, AGH } Bước 1, Bước 2: Không làm Bước 3: Q1( EC ) với F1 = { E → C } Q2( HE ) với F2 = { H → E } Q3( AD ) với F3 = { A→ D } Q4( AEH ) với F4 = { A,E → H } Q5( DGB ) với F5 = { D,G → B } Q6( DGC ) với F6 = { D,G → C } Bước 4: Vì LĐQH chứa khóa Q nên bổ sung khóa Q vào phân rã: Q7( AGE ), F7 = {ø} =============================================== ĐỀ SỐ Câu II Cho lược đồ quan hệ Q(ABCDEG) tập phụ thuộc hàm F= {B → C; DEG → B; A → D; A → E; A → G} Hãy xác đinh tất khóa Q Hãy cho biết Q có đạt 3NF không ? Tìm phủ tối thiểu F Phân rã Q về dạng chuẩn 3, yêu cầu phân rã bảo toàn thong tin phụ thuộc hàm HƯỚNG DẪN Tìm khóa? TN = { A } TG = { BDEG } TN = { A } = ADEGBC = Q Vậy Q có khóa A + F + F + 3NF? Xét pth: B → C, ta thấy vế trái không chứa khóa vế phải không thuộc tính khóa => Q không đạt 3NF Tìm phủ tối thiểu? Bước 1: F’ = F, tách F’ thành tập phụ thuộc hàm mà vế phải chí có thuộc tính F’ = { B → C; DEG → B; A → D; A → E; A→G} Bước 2: Loại bỏ thuộc tính dư thừa F’ = { B → C; DEG → B; A → D; A → E; A→G} Bước 3: F’ = { B → C; DEG → B; A → D; A → E; A→G} * Các pth B → C; DEG → B; A → D; A → E; A → G đều không bỏ vì thuộc tính C, B, D, E, G xuất lần bên vế phải Vậy F’ = { B → C; DEG → B; A → D; A → E; A→G} Là phủ tối thiếu F Phân rã? TK = {A} Bước 1, Bước 2: Không làm Bước 3: Q1( BC ) với F1 = { B → C } Q2( DEGB ) với F2 = { DEG → B } Q3( AD ) với F3 = { A→ D } Q4( AE ) với F4 = { A → E } Q5( AG ) với F5 = { A → G } Bước 4: Vì có Q3, Q4, Q5 chứa khóa Q nên không bổ sung =============================================== ĐỀ SỐ Câu II : Cho lược đồ quan hệ Q(ABCDEG) tập phụ thuộc hàm F = {AB→ C, AC→D, D→EG, G→B, A→D, CG→A} Hãy xác đinh tất khóa Q Hãy cho biết Q có đạt 3NF không ? Tìm phủ tối thiểu F Phân rã Q về dạng chuẩn 3, yêu cầu phân rã bảo toàn thông tin phụ thuộc hàm HƯỚNG DẪN Tìm khóa? TN = {ø} TG = { ABCDG } Xi ø A B C D G AB AC AD AG BC BD BG CD CG DG ABC ABD ABG ACD ACG ADG BCD BCG BDG CDG ABCD ABCG ABDG ACDG BCDG ABCDG Vậy TK = { A, CD, CG } 3NF? Xét pth: G→B, ta thấy vế trái không chứa khóa vế phải không thuộc tính khóa => Q không đạt 3NF Tìm phủ tối thiểu? Bước 1: F’ = F, tách F’ thành tập phụ thuộc hàm mà vế phải chí có thuộc tính F’ = { AB→ C, AC→D, D→E, D→G, G→B, A→D, CG→A } Bước 2: Loại bỏ thuộc tính dư thừa F’ = { AB→ C, AC→D, D→E, D→G, G→B, A→D, CG→A } • • AB→C: có B dư thừa vì A→D→G→B A C→D: có C dư thừa vì A→D A→B ( B ẩn A) Bước 3: F’ = { A→ C, A→D, D→E, D→G, G→B, A→D, CG→A } • • A→D: bỏ pth vì trùng lắp Các pth A→ C; D→E; D→G; G→B; A→D; CG→A đều không bỏ vì thuộc tính C, E, G, B, D, A xuất lần bên vế phải Vậy F’ = { A→ C, D→E, D→G, G→B, A→D, CG→A } Là phủ tối thiếu F Phân rã? Dựa vào phủ tối thiểu F’ TK = { A, CD, CG } Bước 1, Bước 2: Không làm Bước 3: Q1( AC ) với F1 = { A → C } Q2( DE ) với F2 = { D→E } Q3( DG ) với F3 = { D→G } Q4( GB ) với F4 = { G→B } Q5( AD ) với F5 = { A→D } Q6( CGA ) với F6 = { CG→A } Bước 4: Vì có Q1 chứa khóa Q nên không bổ sung =============================================== ĐỀ SỐ Câu II : Cho quan hệQ(GHIKLM) tập phụ thuộc hàm F = {GH→ L, I→M, L→K, HM→G, GK→I, H→L} Hãy xác đinh tất khóa Q Hãy cho biết Q có đạt 3NF không ? Tìm phủ tối thiểu F 4 Phân rã Q về dạng chuẩn 3, yêu cầu phân rã bảo toàn thông tin phụ thuộc hàm HƯỚNG DẪN Tìm khóa? TN = { H } TG = {GIKLM } TN = { H } = HLK ≠ Q + F + F + Xi ø G I K L M GI GK GL GM IK IL IM KL KM LM GIK GIL GIM GKL GKM GLM IKL IKM ILM KLM GIKL GIKM GILM GKLM IKLM GIKLM Vậy TK = { HG, HI, HM } G I K L M Cách 2: Tìm chu trình Tập TG Ta thấy G, I M tạo thành chu trình, vì điểm chu trình kết hợp với TN tạo thành khóa Q Vậy TK = { HG, HI, HM } 3NF? Xét pth: L→K, ta thấy vế trái không chứa khóa vế phải không thuộc tính khóa => Q không đạt 3NF Tìm phủ tối thiểu? Bước 1: F’ = F, tách F’ thành tập phụ thuộc hàm mà vế phải chí có thuộc tính F’ = { GH→ L, I→M, L→K, HM→G, GK→I, H→L } Bước 2: Loại bỏ thuộc tính dư thừa F’ = { GH→ L, I→M, L→K, HM→G, GK→I, H→L } • GH→L: có G dư thừa vì có H→L Bước 3: F’ = { H→ L, I→M, L→K, HM→G, GK→I, H→L } • • H→ L: bỏ pth vì trùng lắp Các pth I→M; L→K; HM→G; GK→I; H→L đều không bỏ vì thuộc tính M, K, G, I, L xuất lần bên vế phải Vậy F’ = { I→M, L→K, HM→G, GK→I, H→L } Là phủ tối thiếu F Phân rã? Dựa vào phủ tối thiểu F’ TK = { HG, HI, HM } Bước 1, Bước 2: Không làm Bước 3: Q1( IM ) với F1 = { I→M } Q2( LK ) với F2 = { L→K } Q3( HMG ) với F3 = { HM→G } Q4( GKI ) với F4 = { GK→I } Q5( HL ) với F5 = { H→L } Bước 4: Vì có Q3 chứa khóa Q nên không bổ sung =============================================== ĐỀ SỐ Câu II : Cho lược đồ quan hệ Q tập phụ thuộc hàm F cho sau: Q(A,B,C,D,E,G,H,K,L,M,N), F={ C → D,E; G → H,K; A,G → L; M → A,N; A → B,C} Hãy xác đinh tất khóa Q Hãy cho biết Q có đạt 3NF không ? Tìm phủ tối thiểu F Phân rã Q về dạng chuẩn 3, yêu cầu phân rã bảo toàn thong tin phụ thuộc hàm HƯỚNG DẪN Tìm khóa? TN = { GM } TG = { AC } TN = {GM } = GMANBCDEHKL = Q Vậy Q có khóa GM + F + F + 3NF? Xét pth: C → D,E, ta thấy vế trái không chứa khóa vế phải không thuộc tính khóa => Q không đạt 3NF Phủ tối thiểu? Bước 1: F’ = F, tách F’ thành tập phụ thuộc hàm mà vế phải chí có thuộc tính F’ = { C → D; C → E; G → H; G → K; A,G → L; M → A; M → N; A → B; A→C} Bước 2: Loại bỏ thuộc tính dư thừa F’ = { C → D; C → E; G → H; G → K; A,G → L; M → A; M → N; A → B; A→C} Bước 3: F’ = { C → D; C → E; G → H; G → K; A,G → L; M → A; M → N; A → B; A→C} Các pth C → D; C → E; G → H; G → K; A,G → L; M → A; M → N; A → B; A → C đều không bỏ vì thuộc tính D, E, H, K, L, A, N, B, C xuất lần bên vế phải Vậy F’ = { C → D; C → E; G → H; G → K; A,G → L; M → A; M → N; A → B; A→C} Là phủ tối thiếu F Phân rã? Dựa vào phủ tối thiểu F’ TK = { GM } Bước 1, Bước 2: Không làm Bước 3: Q1( CD ) với F1 = { C → D } Q2( CE ) với F2 = { C → E } Q3( GH ) với F3 = { G → H } Q4( GK ) với F4 = { G → K } Q5( AGL ) với F5 = { A,G → L } Q6( MA ) với F6 = { M → A } Q7( MN ) với F7 = { M → N } Q8( AB ) với F8 = { A → B } Q9( AC ) với F9 = { A → C } Bước 4: Vì LĐQH chứa khóa Q nên bổ sung khóa Q vào phân rã: Q10( GM ), F10 = {ø} =============================================== ĐỀ SỐ BÀI 2: Cho lược đồ quan hệ CCS tập phụ thuộc hàm F cho sau sau: CCS(MAHV,HOTEN,NGAYSINH,MALOP,TENLOP,NGAYKG,MAMH,TENMH,SOTIET, DIEMTHI, SOBL, SOTIEN) F={ MAHV → HOTEN, NGAYSINH, MALOP, MALOP → NGAYKG, TENLOP, MAMH → TENMH,SOTIET, MAHV,MAMH → DIEMTHI, SOBL → MAHV,SOTIEN} Hãy xác đinh tất khóa Q Hãy cho biết Q có đạt 3NF không ? Tìm phủ tối thiểu F Phân rã Q về dạng chuẩn 3, yêu cầu phân rã bảo toàn thong tin phụ thuộc hàm HƯỚNG DẪN Tìm khóa? TN = { MAMH, SOBL } TG = { MAHV, MALOP } TN = { MAMH, SOBL } = { MAMH, SOBL, TENMH, SOTIET, MAHV, SO TIEN, DIEMTHI, HOTEN, NGAYSINH, MALOP, NGAYKG, TENLOP } = CSS + F + F + Vậy CSS có khóa { MAMH, SOBL } 3NF? Xét pth: MAHV → HOTEN, NGAYSINH, MALOP, ta thấy vế trái không chứa khóa vế phải không thuộc tính khóa => Q không đạt 3NF Tìm phủ tối thiểu? Bước 1: F’ = F, tách F’ thành tập phụ thuộc hàm mà vế phải chí có thuộc tính F’ = { MAHV → HOTEN, MAHV → NGAYSINH, MAHV → MALOP, MALOP → NGAYKG, MALOP → TENLOP, MAMH → TENMH, MAMH → SOTIET, MAHV,MAMH → DIEMTHI, SOBL → MAHV, SOBL → SOTIEN } Bước 2: Loại bỏ thuộc tính dư thừa F’ = { MAHV → HOTEN, MAHV → NGAYSINH, MAHV → MALOP, MALOP → NGAYKG, MALOP → TENLOP, MAMH → TENMH, MAMH → SOTIET, MAHV,MAMH → DIEMTHI, SOBL → MAHV, SOBL → SOTIEN } Bước 3: F’ = { MAHV → HOTEN, MAHV → NGAYSINH, MAHV → MALOP, MALOP → NGAYKG, MALOP → TENLOP, MAMH → TENMH, MAMH → SOTIET, MAHV,MAMH → DIEMTHI, SOBL → MAHV, SOBL → SOTIEN } Các pth MAHV → HOTEN, MAHV → NGAYSINH, MAHV → MALOP, MALOP → NGAYKG, MALOP → TENLOP, MAMH → TENMH, MAMH → SOTIET, MAHV,MAMH → DIEMTHI, SOBL → MAHV, SOBL → SOTIEN đều không bỏ vì thuộc tính HOTEN, NGAYSINH, MALOP, NGAYKG, TENLOP, TENMH, SOTIET, DIEMTHI, MAHV, SOTIEN xuất lần bên vế phải Vậy F’ = { MAHV → HOTEN, MAHV → NGAYSINH, MAHV → MALOP, MALOP → NGAYKG, MALOP → TENLOP, MAMH → TENMH, MAMH → SOTIET, MAHV,MAMH → DIEMTHI, SOBL → MAHV, SOBL → SOTIEN } Là phủ tối thiếu F Phân rã? Dựa vào phủ tối thiểu F’ TK = { MAMH, SOBL } Bước 1, Bước 2: Không làm Bước 3: Q1(MAHV, HOTEN ) với F1 = { MAHV → HOTEN } Q2(MAHV, NGAYSINH ) với F2 = { MAHV → NGAYSINH } Q3(MAHV, MALOP ) với F3 = { MAHV → MALOP } Q4(MALOP, NGAYKG ) với F4 = { MALOP → NGAYKG } Q5(MALOP, TENLOP ) với F5 = { MALOP → TENLOP } Q6(MAMH, TENMH ) với F6 = { MAMH → TENMH } Q7(MAMH, SOTIET ) với F7 = { MAMH → SOTIET } Q8(MAHV,MAMH, DIEMTHI ) với F8 = { MAHV,MAMH → DIEMTHI } Q9(SOBL, MAHV ) với F9 = { SOBL → MAHV } Q10(SOBL, SOTIEN ) với F10 = { SOBL → SOTIEN } Bước 4: Vì LĐQH chứa khóa CSS nên bổ sung khóa CSS vào phân rã: Q11( MAMH, SOBL ), F11 = {ø} =============================================== ĐỀ SỐ CÂU II : Cho lược đồ quan hệ HoaDon tập phụ thuộc hàm F sau: HoaDon(SOHD, KHACH, NGAYLAP, MATHANG, DONGIA, SOLUONG) F={SOHD →KHACH, NGAYLAP, SOHD,MATHANG →DONGIA,SOLUONG} Tìm khóa cho Hoadon Hãy cho biết lược đồ quan hệ HoaDon có đạt dạng chuẩn ? Tại sao? Nếu lược đồ chưa đạt dạng chuẩn phân rã thành lược đồ đạt dạng chuẩn 3, xác định khóa cho lược đồ này.) HƯỚNG DẪN Tìm khóa? TN = { SOHD, MATHANG } TG = { ø } Vậy HoaDon có khóa { SOHD, MATHANG } Tìm dạng chuẩn? 2NF: Tập thuộc tính không khóa: N = {KHACH, NGAYLAP, DONGIA, SOLUONG} o Xét pht SOHD, MATHANG →KHACH Є F: có MATHANG dư thừa vì có SOHD→KHACH SOHD, MATHANG →KHACH phụ thuộc hàm không đầy đủ Vậy HoaDon không đạt 2NF Dạng chuẩn LĐQH HoaDon 1NF • Phân rã? F={SOHD →KHACH, SOHD → NGAYLAP, SOHD,MATHANG →DONGIA, SOHD,MATHANG → SOLUONG} Phân rã thành lược đồ đạt dạng chuẩn 3: Bước 1, Bước 2: Không làm Bước 3: Q1(SOHD, KHACH) với F1 = { SOHD →KHACH }, có K1 = {SOHD} Q2(SOHD, NGAYLAP) với F2 = { SOHD → NGAYLAP }, có K2 = {SOHD} Q3(SOHD,MATHANG, DONGIA) với F3 = {SOHD,MATHANG →DONGIA}, có K3 = {SOHD, MATHANG} Q4(SOHD,MATHANG, SOLUONG) với F4 = {SOHD,MATHANG → SOLUONG}, có K4 = {SOHD, MATHANG} Bước 4: Vì có Q3 chứa khóa Q nên không bổ sung [...]... HoaDon và tập các phụ thuộc hàm F như sau: HoaDon(SOHD, KHACH, NGAYLAP, MATHANG, DONGIA, SOLUONG) F={SOHD →KHACH, NGAYLAP, SOHD,MATHANG →DONGIA,SOLUONG} 1 Tìm khóa cho Hoadon 2 Hãy cho biết lược đồ quan hệ HoaDon có đạt dạng chuẩn nào ? Tại sao? 3 Nếu lược đồ chưa đạt dạng chuẩn 3 hãy phân rã thành các lược đồ con đạt dạng chuẩn 3, xác định khóa chính cho các lược đồ con này.) HƯỚNG DẪN 1 Tìm... MAHV,SOTIEN} 1 Hãy xác đinh tất cả các khóa của Q 2 Hãy cho biết Q có đạt 3NF không ? 3 Tìm phủ tối thiểu của F 4 Phân rã Q về dạng chuẩn 3, yêu cầu phân rã bảo toàn thong tin và phụ thuộc hàm HƯỚNG DẪN 1 Tìm khóa? TN = { MAMH, SOBL } TG = { MAHV, MALOP } TN = { MAMH, SOBL } = { MAMH, SOBL, TENMH, SOTIET, MAHV, SO TIEN, DIEMTHI, HOTEN, NGAYSINH, MALOP, NGAYKG, TENLOP } = CSS + F + F + Vậy CSS... F9 = { A → C } Bước 4: Vì không có LĐQH con nào chứa 1 khóa của Q nên bổ sung 1 khóa của Q vào phân rã: Q10( GM ), F10 = {ø} =============================================== ĐỀ SỐ 6 BÀI 2: Cho lược đồ quan hệ CCS và tập phụ thuộc hàm F được cho như sau như sau: CCS(MAHV,HOTEN,NGAYSINH,MALOP,TENLOP,NGAYKG,MAMH,TENMH,SOTIET, DIEMTHI, SOBL, SOTIEN) F={ MAHV → HOTEN, NGAYSINH, MALOP, MALOP → NGAYKG, TENLOP,... SOBL } 2 3NF? Xét pth: MAHV → HOTEN, NGAYSINH, MALOP, ta thấy vế trái không chứa khóa và vế phải không là thuộc tính khóa => Q không đạt 3NF 3 Tìm phủ tối thiểu? Bước 1: F’ = F, tách F’ thành một tập phụ thuộc hàm mà vế phải chí có một thuộc tính F’ = { MAHV → HOTEN, MAHV → NGAYSINH, MAHV → MALOP, MALOP → NGAYKG, MALOP → TENLOP, MAMH → TENMH, MAMH → SOTIET, MAHV,MAMH → DIEMTHI, SOBL → MAHV, SOBL... con đạt dạng chuẩn 3, xác định khóa chính cho các lược đồ con này.) HƯỚNG DẪN 1 Tìm khóa? TN = { SOHD, MATHANG } TG = { ø } Vậy HoaDon có 1 khóa duy nhất là { SOHD, MATHANG } 2 Tìm dạng chuẩn? 2NF: Tập thuộc tính không khóa: N = {KHACH, NGAYLAP, DONGIA, SOLUONG} o Xét pht SOHD, MATHANG →KHACH Є F: có MATHANG dư thừa vì có SOHD→KHACH SOHD, MATHANG →KHACH là phụ thuộc hàm không đầy đủ Vậy HoaDon