Bài tập về CSDL đây. Tài liệu này bao gồm 8 đề thi, bài tập về CSDL và có hướng dẫn giải đề luôn, vừa xem vừa thực hành tại chỗ .Bài tập về CSDL đây. Tài liệu này bao gồm 8 đề thi, bài tập về CSDL và có hướng dẫn giải đề luôn, vừa xem vừa thực hành tại chỗ .
Ngườisoạn:NguyễnThịTânHà HƯỚNGDẪN GIẢIBÀITẬPÔNTHICSDL ĐỀSỐ1: CâuII: CholượcđồquanhệQ(A,B,C,D,E,G,H)vàtậpphụthuộchàm: F={E→C;H→E;A→D;A,E→H;D,G→B;D,G→C} 1.HãyxácđinhtấtcảcáckhóacủaQ 2.HãychobiếtQcóđạt3NFkhông? 3.TìmphủtốithiểucủaF. 4.PhânrãQvềdạngchuẩn3,yêucầuphânrãbảotoànthôngtinvàphụthuộchàm. HƯỚNGDẪN: 1. Tìmkhóa? TN={AG} TG={DEH} TN + F ={AG} + F =AGDBC≠Q + Xi TNUXi (TNUXi) + Siêukhóa Khóa ø AG AGDBC D AGD AGDBC E AGE AGEDBCH=Q + AGE AGE H AGH AGHDEBC=Q + AGH AGH DE AGDE AGDEBCH=Q + AGDE DH AGDH AGDHBCE=Q + AGDH EH AGEH AGEHDBC=Q + AGEH DEH AGDEH AGDEHBC=Q + AGDEH VậyTK={AGE,AGH} 2. 3NF? Xétpth:E→C,tathấyvếtráikhôngchứakhóavàvếphảikhônglàthuộctính khóa=>Qkhôngđạt3NF 3. Tìmphủtốithiểu? Bước1:F’=F,táchF’thànhmộttậpphụthuộchàmmàvếphảichícómộtthuộc tính F’={E→C; H→E; A→D; A,E→H; D,G→B; D,G→C} Bước2:Loạibỏnhữngthuộctínhdưthừa F’={E→C; H→E; A→D; A,E→H; D,G→B; D,G→C} Bước3: F’={E→C; H→E; A→D; A,E→H; D,G→B; D,G→C} *XétE→C:E + {E→C}=E,C∉E + ⇔E→C∉F + ⇒Khôngthểbỏphtnày. *CácpthH→E;A→D;A,E→H;D,G→BđềukhôngbỏđượcvìcácthuộctínhE, D,H,Bchỉxuấthiện1lầnbênvếphải. *D,G→C:DG + {D,G→C}=DGB,C∉DG + ⇔D,G→C∉F + ⇒Khôngthểbỏ phtnày. VậyF’={E→C; H→E; A→D; A,E→H; D,G→B; D,G→C} LàphủtốithiếucủaF. 4. Phânrã? VậyTK={AGE,AGH} Bước1,Bước2:Khônglàm Bước3:Q1(EC)vớiF1={E→C} Q2(HE)vớiF2={H→E} Q3(AD)vớiF3={A→D} Q4(AEH)vớiF4={A,E→H} Q5(DGB)vớiF5={D,G→B} Q6(DGC)vớiF6={D,G→C} Bước4:VìkhôngcóLĐQHconnàochứa1khóacủaQnênbổsung1khóacủa Qvàophânrã:Q7(AGE),F7={ø} =============================================== ĐỀSỐ2 CâuII CholượcđồquanhệQ(ABCDEG)vàtậpphụthuộchàm F={B→C;DEG→B;A→D;A→E;A→G} 1.HãyxácđinhtấtcảcáckhóacủaQ 2.HãychobiếtQcóđạt3NFkhông? 3.TìmphủtốithiểucủaF. 4.PhânrãQvềdạngchuẩn3,yêucầuphânrãbảotoànthongtinvàphụthuộchàm. HƯỚNGDẪN 1. Tìmkhóa? TN={A} TG={BDEG} TN + F ={A} + F =ADEGBC=Q + VậyQchỉcó1khóaduynhấtlàA 2. 3NF? Xétpth:B→C,tathấyvếtráikhôngchứakhóavàvếphảikhônglàthuộctínhkhóa =>Qkhôngđạt3NF 3. Tìmphủtốithiểu? Bước1:F’=F,táchF’thànhmộttậpphụthuộchàmmàvếphảichícómộtthuộc tính F’={B→C; DEG→B; A→D; A→E; A→G} Bước2:Loạibỏnhữngthuộctínhdưthừa F’={B→C; DEG→B; A→D; A→E; A→G} Bước3: F’={B→C; DEG→B; A→D; A→E; A→G} *CácpthB→C;DEG→B;A→D;A→E;A→Gđềukhôngbỏđượcvìcác thuộctínhC,B,D,E,Gchỉxuấthiện1lầnbênvếphải. VậyF’={B→C; DEG→B; A→D; A→E; A→G} LàphủtốithiếucủaF. 4. Phânrã? TK={A} Bước1,Bước2:Khônglàm Bước3:Q1(BC)vớiF1={B→C} Q2(DEGB)vớiF2={DEG→B} Q3(AD)vớiF3={A→D} Q4(AE)vớiF4={A→E} Q5(AG)vớiF5={A→G} Bước4:VìcóQ3,Q4,Q5chứakhóacủaQnênkhôngbổsung. =============================================== ĐỀSỐ3 CâuII: CholượcđồquanhệQ(ABCDEG)vàtậpcácphụthuộchàm F={AB→C,AC→D,D→EG,G→B,A→D,CG→A} 1.HãyxácđinhtấtcảcáckhóacủaQ 2.HãychobiếtQcóđạt3NFkhông? 3.TìmphủtốithiểucủaF. 4.PhânrãQvềdạngchuẩn3,yêucầuphânrãbảotoànthôngtinvàphụthuộchàm. HƯỚNGDẪN 1. Tìmkhóa? TN={ø} TG={ABCDG} Xi TNUXi (TNUXi) + Siêukhóa Khóa ø ø ø A A ADEGBC=Q + A A B B B C C C D D DEGB G G GB AB AB ADEGBC=Q + AB AC AC ADEGBC=Q + AC AD AD ADEGBC=Q + AD AG AG ADEGBC=Q + AG BC BC BC BD BD BDEG BG BG BG CD CD CDEGBA=Q + CD CD CG CG CGABDE=Q + CG CG DG DG DGBE ABC ABC ADEGBC=Q + ABC ABD ABD ADEGBC=Q + ABD ABG ABG ADEGBC=Q + ABG ACD ACD ADEGBC=Q + ACD ACG ACG ADEGBC=Q + ACG ADG ADG ADEGBC=Q + ADG BCD BCD CDEGBA=Q + BCD BCG BCG CGABDE=Q + BCG BDG BDG BDGE CDG CDG CDEGBA=Q + CDG ABCD ABCD CDEGBA=Q + ABCD ABCG ABCG CDEGBA=Q + ABCG ABDG ABDG CDEGBA=Q + ABDG ACDG ACDG CDEGBA=Q + ACDG BCDG BCDG CDEGBA=Q + BCDG ABCDG ABCDG CDEGBA=Q + ABCDG VậyTK={A,CD,CG} 2. 3NF? Xétpth:G→B,tathấyvếtráikhôngchứakhóavàvếphảikhônglàthuộctínhkhóa =>Qkhôngđạt3NF 3. Tìmphủtốithiểu? Bước1:F’=F,táchF’thànhmộttậpphụthuộchàmmàvếphảichícómộtthuộc tính F’={AB→C, AC→D, D→E, D→G, G→B, A→D, CG→A} Bước2:Loạibỏnhữngthuộctínhdưthừa F’={AB→C, AC→D, D→E, D→G, G→B, A→D, CG→A} ● AB→C:cóBdưthừavìA→D→G→BA→B(BẩntrongA) ● AC→D:cóCdưthừavìA→D Bước3: F’={A→C, A→D, D→E, D→G, G→B, A→D, CG→A} ● A→D:bỏpthnàyvìtrùnglắp ● CácpthA→C;D→E;D→G;G→B;A→D;CG→Ađềukhôngbỏđượcvì cácthuộctínhC,E,G,B,D,Achỉxuấthiện1lầnbênvếphải. VậyF’={A→C, D→E, D→G, G→B, A→D, CG→A} LàphủtốithiếucủaF. 4. Phânrã? DựavàophủtốithiểuF’ TK={A,CD,CG} Bước1,Bước2:Khônglàm Bước3:Q1(AC)vớiF1={A→C} Q2(DE)vớiF2={D→E} Q3(DG)vớiF3={D→G} Q4(GB)vớiF4={G→B} Q5(AD)vớiF5={A→D} Q6(CGA)vớiF6={CG→A} Bước4:VìcóQ1chứakhóacủaQnênkhôngbổsung. =============================================== ĐỀSỐ4 CâuII: ChoquanhệQ(GHIKLM)vàtậpcácphụthuộchàm F={GH→L,I→M,L→K,HM→G,GK→I,H→L} 1.HãyxácđinhtấtcảcáckhóacủaQ 2.HãychobiếtQcóđạt3NFkhông? 3.TìmphủtốithiểucủaF. 4.PhânrãQvềdạngchuẩn3,yêucầuphânrãbảotoànthôngtinvàphụthuộchàm. HƯỚNGDẪN 1. Tìmkhóa? TN={H} TG={GIKLM} TN + F ={H} + F =HLK≠Q + Xi TNUXi (TNUXi) + Siêukhóa Khóa ø H HLK G HG HGLKIM=Q + HG HG I HI HILMGK=Q + HI HI K HK HKL L HL HLK M HM HMLKGI=Q + HM HM GI HGI HGLKIM=Q + HGI GK HGK HGLKIM=Q + HGK GL HGL HGLKIM=Q + HGL GM HGM HGLKIM=Q + HGM IK HIK HGLKIM=Q + HIK IL HIL HGLKIM=Q + HIL IM HIM HGLKIM=Q + HIM KL HKL HKL KM HKM HGLKIM=Q + HKM LM HLM HGLKIM=Q + HLM GIK HGIK HGLKIM=Q + HGIK GIL HGIL HGLKIM=Q + HGIL GIM HGIM HGLKIM=Q + HGIM GKL HGKL HGLKIM=Q + HGKL GKM HGKM HGLKIM=Q + HGKM GLM HGLM HGLKIM=Q + HGLM IKL HIKL HGLKIM=Q + HIKL IKM HIKM HGLKIM=Q + HIKM ILM HILM HGLKIM=Q + HILM KLM HKLM HGLKIM=Q + HKLM GIKL HGIKL HGLKIM=Q + HGIKL GIKM HGIKM HGLKIM=Q + HGIKM GILM HGILM HGLKIM=Q + HGILM GKLM HGKLM HGLKIM=Q + HGKLM IKLM HIKLM HGLKIM=Q + HIKLM GIKLM HGIKLM HGLKIM=Q + HGIKLM VậyTK={HG,HI,HM} G I K L M Cách2:TìmchutrìnhcủaTậpTG TathấyG,IvàMtạothành1chutrình,vìvậymỗiđiểmtrênchutrìnhnàykếthợpvới TNtạothànhkhóacủaQ. VậyTK={HG,HI,HM} 2. 3NF? Xétpth:L→K,tathấyvếtráikhôngchứakhóavàvếphảikhônglàthuộctínhkhóa =>Qkhôngđạt3NF 3. Tìmphủtốithiểu? Bước1:F’=F,táchF’thànhmộttậpphụthuộchàmmàvếphảichícómộtthuộc tính F’={GH→L, I→M, L→K, HM→G, GK→I, H→L} Bước2:Loạibỏnhữngthuộctínhdưthừa F’={GH→L, I→M, L→K, HM→G, GK→I, H→L} ● GH→L:cóGdưthừavìcóH→L Bước3: F’={H→L, I→M, L→K, HM→G, GK→I, H→L} ● H→L:bỏpthnàyvìtrùnglắp ● CácpthI→M;L→K;HM→G;GK→I;H→Lđềukhôngbỏđượcvìcácthuộc tínhM,K,G,I,Lchỉxuấthiện1lầnbênvếphải. VậyF’={I→M, L→K, HM→G, GK→I, H→L} LàphủtốithiếucủaF. 4. Phânrã? DựavàophủtốithiểuF’ TK={HG,HI,HM} Bước1,Bước2:Khônglàm Bước3:Q1(IM)vớiF1={I→M} Q2(LK)vớiF2={L→K} Q3(HMG)vớiF3={HM→G} Q4(GKI)vớiF4={GK→I} Q5(HL)vớiF5={H→L} Bước4:VìcóQ3chứakhóacủaQnênkhôngbổsung. =============================================== ĐỀSỐ5 CâuII: CholượcđồquanhệQvàtậpphụthuộchàmFđượcchonhư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} 1.HãyxácđinhtấtcảcáckhóacủaQ 2.HãychobiếtQcóđạt3NFkhông? 3.TìmphủtốithiểucủaF. 4.PhânrãQvềdạngchuẩn3,yêucầuphânrãbảotoànthongtinvàphụthuộchàm. HƯỚNGDẪN 1. Tìmkhóa? TN={GM} TG={AC} TN + F ={GM} + F =GMANBCDEHKL=Q + VậyQcó1khóaduynhấtlàGM 2. 3NF? Xétpth:C→D,E,tathấyvếtráikhôngchứakhóavàvếphảikhônglàthuộctính khóa=>Qkhôngđạt3NF 3. Phủtốithiểu? Bước1:F’=F,táchF’thànhmộttậpphụthuộchàmmàvếphảichícómộtthuộ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 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ỏ được vì các thuộc tính D, E, H, K, L, A, N, B, C chỉ xuất hiện 1 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 của F. ... Q9( AC ) với 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,SOT IET, DIEMTHI, SOBL, SOTIEN) F={ MAHV → HOTEN, NGAYSINH, MALOP, ... 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ỏ được vì các thuộc tính HOTEN, NGAYSINH, MALOP, NGAYKG, TENLOP, TENMH, SOTIET, DIEMTHI, MAHV, SOTIEN chỉ xuất hiện 1 lần bên vế phải. Vậy F’ = { MAHV → HOTEN, MAHV → NGAYSINH, ... Q10(SOBL, SOTIEN ) với F10 = { SOBL → SOTIEN } Bước 4: Vì không có LĐQH con nào chứa 1 khóa của CSS nên bổ sung 1 khóa của CSS vào phân rã: Q11( MAMH, SOBL ), F11 = {ø} =============================================== ĐỀ SỐ 8 CÂU II : Cho lược đồ quan hệ 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} . Phânrãthànhcáclượcđồconđạtdạngchuẩn3: Bước1,Bước2:Khônglàm Bước3: Q1(SOHD,KHACH)vớiF1={SOHD→KHACH},cóK1={SOHD} Q2(SOHD,NGAYLAP)vớiF2={SOHD→NGAYLAP},cóK2={SOHD} Q3(SOHD,MATHANG,DONGIA)vớiF3={SOHD,MATHANG→DONGIA}, cóK3={SOHD,MATHANG} Q4(SOHD,MATHANG,SOLUONG)vớiF4={SOHD,MATHANG→ SOLUONG},cóK4={SOHD,MATHANG} Bước4:VìcóQ3chứakhóacủaQnênkhôngbổsung. . Phânrã? DựavàophủtốithiểuF’ TK={MAMH,SOBL} Bước1,Bước2:Khônglàm Bước3:Q1(MAHV,HOTEN)vớiF1={MAHV→HOTEN} Q2(MAHV,NGAYSINH)vớiF2={MAHV→NGAYSINH} Q3(MAHV,MALOP)vớiF3={MAHV→MALOP} Q4(MALOP,NGAYKG)vớiF4={MALOP→NGAYKG} Q5(MALOP,TENLOP)vớiF5={MALOP→TENLOP} Q6(MAMH,TENMH)vớiF6={MAMH→TENMH} Q7(MAMH,SOTIET)vớiF7={MAMH→SOTIET} Q8(MAHV,MAMH,DIEMTHI)vớiF8={MAHV,MAMH→DIEMTHI} Q9(SOBL,MAHV)vớiF9={SOBL→MAHV} Q10(SOBL,SOTIEN)vớiF10={SOBL→SOTIEN} Bước4:VìkhôngcóLĐQHconnàochứa1khóacủaCSSnênbổsung1khóacủa CSSvàophânrã:Q11(MAMH,SOBL),F11={ø} =============================================== ĐỀSỐ8 CÂUII:. Tìmkhóa? TN={AG} TG={DEH} TN + F ={AG} + F =AGDBC≠Q + Xi TNUXi (TNUXi) + Siêukhóa Khóa ø AG AGDBC D AGD AGDBC E AGE AGEDBCH=Q + AGE AGE H AGH AGHDEBC=Q + AGH AGH DE AGDE AGDEBCH=Q + AGDE DH AGDH AGDHBCE=Q + AGDH EH AGEH AGEHDBC=Q + AGEH DEH AGDEH AGDEHBC=Q + AGDEH VậyTK={AGE,AGH} 2.