Hướng dẫn giải bài tập CSDL

15 529 0
Hướng dẫn giải bài tập CSDL

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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

Ngày đăng: 31/05/2016, 10:44

Từ khóa liên quan

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

Tài liệu liên quan