Đáp án một số bài tập mẫu môn cơ sở dữ liệu - Phần 2

ĐÁN ÁN MOÄT SOÁ BAØI TAÄP MAÃU MOÂN CSDL

pdf4 trang | Chia sẻ: longpd | Lượt xem: 5791 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Đáp án một số bài tập mẫu môn cơ sở dữ liệu - Phần 2, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Dap an Bai tap mon CSDL trang 1 ĐÁN ÁN MOÄT SOÁ BAØI TAÄP MAÃU MOÂN CSDL Baøi 1. Cho löôïc ñoà CSDL sau: HANGHOA (MaHH, TenHH, DonGia) NHANVIEN (MaNV, TenNV) HOADON (MaHD, NgayHD, MaNV) CTHD (MaHD, MaCT, MaHH, SoLuong) 1.1. Vieát caùc caâu SQL cho bieát: a) Doanh soá baùn trong naêm 2008 theo maët haøng. Bieát raèng doanh soá baùn = SoLuong * DonGia. Keát quaû hieån thò goàm Maõ HH, Teân HH vaø toång doanh soá baùn. SELECT hh.mahh, tenhh, sum(soluong*dongia) AS dsban FROM hanghoa hh, hoadon hd, cthd ct WHERE hh.mahh=ct.mahh AND hd.mahd=ct.mahd AND YEAR(ngayhd)=2008 GROUP BY hh.mahh, tenhh ORDER BY SUM(soluong*dongia) b) Nhaân vieân vaø soá löôïng hoùa ñôn baùn trong thaùng 08 naêm 2008 do hoï phuï traùch. Thoâng tin goàm: Maõ NV, Teân NV, Soá löôïng hoùa ñôn phuï traùch, saép xeáp theo soá löôïng giaûm daàn. SELECT nv.manv,tennv, count(mahd) AS so_luong_hd_ban FROM nhanvien nv,hoadon hd WHERE nv.manv=hd.manv AND YEAR(ngayhd)=2008 AND MONTH(ngayhd)=08 GROUP BY nv.manv,tennv ORDER BY COUNT(mahd) DESC c) Haøng hoùa coù ñôn giaù lôùn nhaát laø haøng hoùa naøo? Neáu coù nhieàu maët haøng nhö theá, keát quaû saép xeáp theo Teân HH. SELECT HH.MAHH, TENHH FROM HANGHOA HH WHERE DONGIA=(SELECT MAX(DONGIA) FROM HANGHOA) ORDER BY TENHH Dap an Bai tap mon CSDL trang 2 Hoac: SELECT HH.MAHH, TENHH FROM HANGHOA HH WHERE DONGIA >= ALL (SELECTDONGIA FROM HANGHOA) ORDER BY TENHH d) Danh saùch nhaân vieân chöa töøng phuï traùch baùn moät hoùa ñôn naøo caû. SELECT NV.MANV, TENNV FROM NHANVIEN NV WHERE MANV NOT IN (SELECT DISTINCT MANV FROM HOADON) e) Toång doanh soá baùn trong thaùng 08/2008 cuûa maët haøng coù teân ‘iPHONE 3G’. Bieát raèng doanh soá baùn = SoLuong * DonGia. Thoâng tin goàm: TenHH, TongDS. SELECT MaHH, TenHH, SUM(SOLUONG*DONGIA) AS DSBAN FROM CTHD CT, HANGHOA HH, HOADON HD WHERE HD.MAHD=CT.MAHD AND CT.MAHH=HH.MAHH AND TENHH=’iPHONE 3G’ AND YEAR(NGAYHD)=2008 AND MONTH(NGAYHD)=08 GROUP BY CT.MAHH, TenHH f) Doanh soá baùn trong caùc hoùa ñôn do nhaân vieân coù teân ‘Quynh Huong’ phuï traùch. Thoâng tin goàm: MaHD, NgayHD, Doanh soá. Keát quaû saép xeáp theo doanh soá giaûm daàn. SELECT HD.MAHD, NGAYHD, SUM(SOLUONG*DONGIA) AS DSBAN FROM HOADON HD, CTHD CT, NHANVIEN NV, HANGHOA HH WHERE HD.MAHD=CT.MAHD AND CT.MAHH=HH.MAHH AND NV.MANV=HD.MANV AND TENNV=’Quynh Huong’ GROUP BY HD.MAHD, NGAYHD g) Danh saùch nhaân vieân khoâng phuï traùch hoùa ñôn naøo trong thaùng 08/2008. SELECT NV.MANV, TENNV FROM NHANVIEN NV WHERE MANV NOT IN (SELECT DISTINCT MANV FROM HOADON WHERE YEAR(NGAYHD)=2008 AND MONTH(NGAYHD)=08) Dap an Bai tap mon CSDL trang 3 h) Danh saùch haøng hoùa chöa töøng ñöôïc baùn. SELECT HH.MAHH, TENHH FROM HANGHOA HH WHERE MAHH NOT IN (SELECT MAHH FROM CTHD) 1.2. Vieát bieåu thöùc ñaïi soá quan heä cho bieát maõ soá, teân cuûa caùc nhaân vieân phuï traùch caùc hoùa ñôn baùn haøng maët haøng ‘sua’. p MANV, TENNV (NHANVIEN |><| s TENHH=’sua’ (HANGHOA |><| CTHD))) 1.3. Vieát bieåu thöùc ñaïi soá quan heä cho bieát maõ soá, teân cuûa caùc haøng hoùa baùn trong ngaøy 31/12/2007 p MAHH,TENHH (HANGHOA |><| s NGAYHD=’31/12/2007’ HOADON)) Baøi 2: xaùc ñònh phuï thuoäc haøm. 2.1. Cho löôïc ñoà quan heä Q(ABCDEGH) vaø taäp caùc phuï thuoäc haøm F = { AB à C B à D CD à E CE à GH G à A } Phuï thuoäc haøm BG à E coù ñöôïc suy ra töø F khoâng? Chöùng minh. Tính bao ñoùng (BG)+ = BGDACEH É E. Vaäy BG à E ñöôïc suy ra töø F 2.2. Cho löôïc ñoà quan heä Q( IJKLMNO) vaø taäp caùc phuï thuoäc haøm F = { IJ à K J à L KL à M KM à NO Nà I } Phuï thuoäc haøm JN à M coù ñöôïc suy ra töø F khoâng? Chöùng minh. Tính (JN)+=JNLIKMO É M neân JNàM ñöôïc suy töø F Dap an Bai tap mon CSDL trang 4 Baøi 3: xaùc ñònh daïng chuaån cuûa löôïc ñoà quan heä. 3.1. Cho löôïc ñoà quan heä Q(ABCDEGHI) vaø taäp phuï thuoäc haøm F F = { AB à DE C à ABDE G à H ABI à H BI à GH } - Xaùc ñònh {IC} laø khoùa cuûa löôïc ñoà. - Xaùc ñònh daïng chuaån cuûa löôïc ñoà. Ti ́nh {IC}+ = {ICABDE} { ICABDE }+ = { ICABDEGH } = Q+ => IC laø sieâu khoùa, vaø caùc taäp con cuûa IC thoûa: {I}+ = {I} => khoâng laø sieâu khoùa {C}+ = {CABDE} => khoâng laø sieâu khoùa => IC laø toái thieåu => IC laø khoùa Do f2: ABDE phuï thuoäc khoâng ñaày ñuû vaøo khoùa à Khoâng ñaït daïng chuaån 2 à Daïng chuaån 1 3.2. Cho löôïc ñoà quan heä Q(CDVLGTPN) vaø taäp phuï thuoäc haøm F F = { V à CDLG CD à LG T à P CDN à P DN à TP } - Xaùc ñònh {VN} laø khoùa cuûa löôïc ñoà. - Xaùc ñònh daïng chuaån cuûa löôïc ñoà. Ti ́nh {VN}+ = {VNCDLG} { VNCDLG }+ = { VNCDLGTP } = Attrs(Q) => VN laø sieâu khoùa, vaø caùc taäp con cuûa VN thoûa: {V}+ = {VCDLG} => khoâng laø sieâu khoùa {N}+ = {N} => khoâng laø sieâu khoùa => VN laø toái thieåu => VN laø khoùa Do f1 neân CDLG phuï thuoäc khoâng ñaày ñuû vaøo khoùa à khoâng ñaït Daïng chuaån 2 à Daïng chuaån 1
Tài liệu liên quan