intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Một số bài tập mẫu môn cơ sở dữ liệu

Chia sẻ: Pt Pt | Ngày: | Loại File: PDF | Số trang:10

1.422
lượt xem
304
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'một số bài tập mẫu môn cơ sở dữ liệu', công nghệ thông tin, cơ sở dữ liệu phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Một số bài tập mẫu môn cơ sở dữ liệu

  1. Đáp án Một số bài tập mẫu môn cơ sở dữ liệu
  2. Simpo PDF Merge and Split Unregistered VersionÁN ĐÁN - http://www.simpopdf.com 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 1
  3. Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 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 2
  4. Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 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 |>
  5. Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 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à. Tí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à. Tí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 Dap an Bai tap mon CSDL trang 4
  6. Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com ĐÁN ÁN MỘT SỐ BÀI TẬP MẪU MÔN CSDL Câu 1: Cho sơ đồ ER biểu diễn một phần cơ sở dữ liệu của thư viện như sau Xây dựng lược đồ cơ sở dữ liệu quan hệ từ sơ đồ ER trên. Xác định khóa chính và khóa ngoại cho từng lược đồ quan hệ. Giải: Các quan hệ phát sinh sau khi chuyển từ sơ đồ E/R là: SACH(ISBN, TuaSach, TacGia, NgonNgu, TomTat, NamXuatBan) Khóa chính: ISBN Khóa ngoại: không có CUONSACH(MaCuonSach, TinhTrang, ISBN) Khóa chính: MaCuonSach Khóa ngoại: ISBN tham chiếu tới SACH(ISBN) DOCGIA(MaTheDocGia, Ho, Ten, NgayLapThe,NgayHetHan) Khóa chính: MaTheDocGia Khóa ngoại: không có MUON(MaCuonSach, MaTheDocGia, NgayMuon, NgayTra) Khóa chính: MaCuonSach, MaTheDocGia Khóa ngoại: MaCuonSach tham chiếu tới SACH(MaCuonSach) MaTheDocGia tham chiếu tới DOCGIA(MaTheDocGia) 1
  7. Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com Câu 2 : Từ lược đồ cơ sở dữ liệu quan hệ ở câu 1 sử dụng ngôn ngữ đại số quan hệ, truy vấn các thông tin sau: a. Cho biết danh sách các t ựa sách có ngôn ngữ là ‘tiếng Việt’ và xuất bản sau năm 2000. b. Cho biết danh sách độc giả chưa mượn bất kỳ cuốn sách nào. Giải: p TuaSach (s NgonNgu = ‘tiếng Việt’ Ù NamXuatBan >= 2000 SACH) a) p Ho, Ten DOCGIA |>C, CD ->A, C->E, C->B} Tìm bao đóng (CD) Tìm tất cả các khóa của quan hệ trên Giải: Bao đóng {CD}+ = {CDAEB} = R+ TN = {D} TG = {A, B, C} 2
  8. Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com {TN U Xi}+ Xi TN U Xi Siêu khóa Khóa Æ D D A A,D A,D B B,D B,D R+ C C,D C,D C,D R+ A,B A,B,D A,B,D A,B,D R+ A,C A,C,D A,C,D R+ B,C B,C,D B,C,D R+ A,B,C A,B,C,D A,B,C,D Khóa quan hệ này là : K1 = {C,D} và K2 = {A,B,D} Câu 5 : a) Cho biết quan hệ R ở câu 4 có đạt dạng chuẩn 3 không. Tại sao? Giải: Ta có: tập thuộc tính không khóa là {E} Xét khóa K1, ta có {C,D} É C, và C -> E. Nhận thấy thuộc tính không khóa không phụ thuộc đầy đủ vào khóa. Vậy R không đạt dạng chuẩn 2, nên cũng không đạt dạng chuẩn 3. --- Hết --- 3
  9. Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com BAØI MAÃU XAÙC ÑÒNH DAÏNG CHUAÅN Baøi 1: Cho quan heä Q vôùi taäp thuoäc tính Q+ = (A,B,C,D,E,G,H) vaø taäp phuï thuoäcc haøm F = {A→D,AB→DE,CE→G,E→H} a) Tìm khoùa. b) Xaùc ñònh daïng chuaån cho quan heä naøy. Giaûi: a) Tìm khoùa: TN = {A,B,C} TG = {E} (Xi U TN)+ Xi (Xi U TN) Sieâu khoùa Khoùa + Q {A,B,C} {A,B,C} {A,B,C} Æ Q+ E {E,A,B,C} {E,A,B,C} Vaäy khoùa laø : {A,B,C} b) Xaùc ñònh daïng chuaån: Ta thaáy A Ì khoùa, A→D; D laø thuoäc tính khoâng khoùa Þ thuoäc tính khoâng khoùa khoâng phuï thuoäc ñaày ñuû vaøo khoùa Þ Q khoâng ñaït chuaån 2 Baøi 2: Cho quan heä Phancong(PHICONG,MAYBAY,NGAYKH,GIOKH) Coù caùc ñieàu kieän raøng buoäc qui ñònh sau: § Moãi maùy bay coù moät giôø khôûi haønh duy nhaát. § Neáu bieát phi coâng, bieát ngaøy giôø khôûi haønh thì bieát ñöôïc maùy bay do phi coâng aáy laùi. § Neáu bieát maùy bay, bieát ngaøy khôûi haønh thì bieát phi coâng laùi chuyeán bay aáy. a) Tìm khoùa cho quan heä Phancong. b) Quan heä naøy thoûa daïng chuaån naøo ? Giải: a) Tìm khoùa: Q+ = {phicong, maybay, ngaykh, giokh} F = {maybay ® giokh, Phicong, ngaykh, giokh ® maybay Maybay, ngaykh ® phicong} TN = {ngaykh} Bai tap CSDL – Bai mau xac dinh dang chuan trang 1
  10. Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com TG = {maybay,phicong,giokh} (Xi U TN)+ Xi (Xi U TN) Sieâu khoùa Khoùa Ngaykh Ngaykh Æ Maybay, Maybay, Maybay, Q+ Maybay ngaykh ngaykh ngaykh Phicong, Phicong, Phicong ngaykh ngaykh Giokh, giokh, Giokh ngaykh ngaykh Maybay, Maybay, Maybay, Q+ phicong, phicong, phicong ngaykh ngaykh Maybay, Maybay, Maybay, Q+ giokh, giokh, giokh ngaykh ngaykh Phicong, Phicong, Phicong, Phicong, Q+ giokh, giokh, giokh, giokh ngaykh ngaykh ngaykh Maybay, Maybay, Maybay, phicong, phicong, Q+ phicong, ngaykh, ngaykh, giokh giokh giokh Khoùa laø: K1 = {maybay,ngaykh}; K2 = {phicong,giokh,ngaykh} b) Xaùc ñònh daïng chuaån: Ta thaáy quan heä treân khoâng coù thuoäc tính khoâng khoùa Þ Ñaït daïng chuaån 2. Xeùt tieáp coù ñaït daïng chuaån 3 khoâng? Ta coù F1tt = F Ta thaáy moïi phuï thuoäc haøm Î F1tt ñeàu coù veá phaûi Î {giokh, maybay, phicong} laø thuoäc tính khoùa. Vaäy quan heä Phancong ñaït daïng chuaån 3. Xeùt tieáp coù ñaït daïng chuaån BC khoâng? Ta thaáy maybay ® giokh, maø maybay Ï taäp sieâu khoùa Þ Khoâng ñaït daïng chuaån BC. Bai tap CSDL – Bai mau xac dinh dang chuan trang 2
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2