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

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

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

Thông tin tài liệu

Đáp án Một số bài tập mẫu môn sở dữ liệu Dap an Bai tap mon CSDL trang 1 ĐÁN ÁN MỘT SỐ BÀI TẬP MẪU MÔN CSDL Bài 1. Cho lược đồ CSDL sau: HANGHOA (MaHH, TenHH, DonGia) NHANVIEN (MaNV, TenNV) HOADON (MaHD, NgayHD, MaNV) CTHD (MaHD, MaCT, MaHH, SoLuong) 1.1. Viết các câu SQL cho biết: a) Doanh số bán trong năm 2008 theo mặt hàng. Biết rằng doanh số bán = SoLuong * DonGia. Kết quả hiển thò gồm Mã HH, Tên HH và tổng doanh số bá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) Nhân viên và số lượng hóa đơn bán trong tháng 08 năm 2008 do họ phụ trách. Thông tin gồm: Mã NV, Tên NV, Số lượng hóa đơn phụ trách, sắp xếp theo số lượng giảm dầ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) Hàng hóa đơn giá lớn nhất là hàng hóa nào? Nếu nhiều mặt hàng như thế, kết quả sắp xếp theo Tên HH. SELECT HH.MAHH, TENHH FROM HANGHOA HH WHERE DONGIA=(SELECT MAX(DONGIA) FROM HANGHOA) ORDER BY TENHH Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 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 sách nhân viên chưa từng phụ trách bán một hóa đơn nào cả. SELECT NV.MANV, TENNV FROM NHANVIEN NV WHERE MANV NOT IN (SELECT DISTINCT MANV FROM HOADON) e) Tổng doanh số bán trong tháng 08/2008 của mặt hàng tên ‘iPHONE 3G’. Biết rằng doanh số bán = SoLuong * DonGia. Thông tin gồ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 số bán trong các hóa đơn do nhân viên tên ‘Quynh Huong’ phụ trách. Thông tin gồm: MaHD, NgayHD, Doanh số. Kết quả sắp xếp theo doanh số giảm dầ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 sách nhân viên không phụ trách hóa đơn nào trong thá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) Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com Dap an Bai tap mon CSDL trang 3 h) Danh sách hàng hóa chưa từng được bán. SELECT HH.MAHH, TENHH FROM HANGHOA HH WHERE MAHH NOT IN (SELECT MAHH FROM CTHD) 1.2. Viết biểu thức đại số quan hệ cho biết mã số, tên của các nhân viên phụ trách các hóa đơn bán hàng mặt hàng ‘sua’. p MANV, TENNV (NHANVIEN |><| (HOADON |><| s TENHH=’sua’ (HANGHOA |><| CTHD))) 1.3. Viết biểu thức đại số quan hệ cho biết mã số, tên của các hàng hóa bán trong ngày 31/12/2007 p MAHH,TENHH (HANGHOA |><| (CTHD |><| s NGAYHD=’31/12/2007’ HOADON)) Bài 2: xác đònh phụ thuộc hàm. 2.1. Cho lược đồ quan hệ Q(ABCDEGH) và tập các phụ thuộc hàm F = { AB à C B à D CD à E CE à GH G à A } Phụ thuộc hàm BG à E được suy ra từ F không? Chứng minh. Tính bao đóng (BG) + = BGDACEH É E. Vậy BG à E được suy ra từ F 2.2. Cho lược đồ quan hệ Q( IJKLMNO) và tập các phụ thuộc hàm F = { IJ à K J à L KL à M KM à NO Nà I } Phụ thuộc hàm JN à M được suy ra từ F không? Chứng minh. Tính (JN) + =JNLIKMO É M nên JNàM được suy từ F Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com Dap an Bai tap mon CSDL trang 4 Bài 3: xác đònh dạng chuẩn của lược đồ quan hệ. 3.1. Cho lược đồ quan hệ Q(ABCDEGHI) và tập phụ thuộc hàm F F = { AB à DE C à ABDE G à H ABI à H BI à GH } - Xác đònh {IC} là khóa của lược đồ. - Xác đònh dạng chuẩn của lược đồ. Tính {IC} + = {ICABDE} { ICABDE } + = { ICABDEGH } = Q + => IC là siêu khóa, và các tập con của IC thỏa: {I} + = {I} => không là siêu khóa {C} + = {CABDE} => không là siêu khóa => IC là tối thiểu => IC là khóa Do f2: ABDE phụ thuộc không đầy đủ vào khóa à Không đạt dạng chuẩn 2 à Dạng chuẩn 1 3.2. Cho lược đồ quan hệ Q(CDVLGTPN) và tập phụ thuộc hàm F F = { V à CDLG CD à LG T à P CDN à P DN à TP } - Xác đònh {VN} là khóa của lược đồ. - Xác đònh dạng chuẩn của lược đồ. Tính {VN} + = {VNCDLG} { VNCDLG } + = { VNCDLGTP } = Attrs(Q) => VN là siêu khóa, và các tập con của VN thỏa: {V} + = {VCDLG} => không là siêu khóa {N} + = {N} => không là siêu khóa => VN là tối thiểu => VN là khóa Do f1 nên CDLG phụ thuộc không đầy đủ vào khóa à không đạt Dạng chuẩn 2 à Dạng chuẩn 1 Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 1 ĐÁN ÁN MỘT SỐ BÀI TẬP MẪU MÔN CSDL Câu 1: Cho đồ ER biểu diễn một phần sở dữ liệu của thư viện như sau Xây dựng lược đồ sở dữ liệu quan hệ từ đồ 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ừ đồ E/R là: SACH(ISBN, TuaSach, TacGia, NgonNgu, TomTat, NamXuatBan) Khóa chính: ISBN Khóa ngoại: không 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 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) Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 2 Câu 2 : Từ lượ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 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: a) p TuaSach (s NgonNgu = ‘tiếng Việt’ Ù NamXuatBan >= 2000 SACH) b) p Ho, Ten DOCGIA |><| (p MaTheDocGia DOCGIA - p MaTheDocGia MUON) Câu 3 : Từ lược đồ cơ sở dữ liệu quan hệ ở câu 1 sử dụng ngôn ngữ SQL, truy vấn các thông tin sau a. Cho biết với mỗi sách bao nhiêu cuốn sách. b. Cho biết độc giả mã thẻ độc giả = ‘DG0001’ đã mượn những cuốn sách tựa là gì. c. Cho biết trong năm 2007 mỗi độc giả đã mượn bao nhiêu cuốn sách. Giải: a) select ISBN, COUNT(MaCuonSach) from CUONSACH group by ISBN b) select DISTINCT TuaSach from SACH s, CUONSACH cs, MUON m where m.MaDocGia = ‘DG0001’ AND m.MaCuonSach = cs.MaCuonSach AND cs.ISBN = s.ISBN c) select Ho, Ten, COUNT(MaCuonSach) from DOCGIA dg, MUON m where dg.MaTheDocGia = m.MaTheDocGia AND YEAR(NgayMuon) = 2007 group by dg.MaTheDocGia, Ho, Ten Câu 4 : Cho quan hệ R(A,B,C,D,E) và tập phụ thuộc hàm F= {AB ->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} Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 3 X i TN U X i {TN U X i } + Siêu khóa Khóa Æ D D A A,D A,D B B,D B,D C C,D R + C,D C,D A,B A,B,D R + A,B,D A,B,D A,C A,C,D R + A,C,D B,C B,C,D R + B,C,D A,B,C A,B,C,D R + A,B,C,D Khóa quan hệ này là : K 1 = {C,D} và K 2 = {A,B,D} Câu 5 : a) Cho biết quan hệ R ở câu 4 đạ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 K 1 , ta {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 Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com Bai tap CSDL – Bai mau xac dinh dang chuan trang 1 BÀI MẪU XÁC ĐỊNH DẠNG CHUẨN Bài 1: Cho quan hệ Q với tập thuộc tính Q + = (A,B,C,D,E,G,H) và tập phụ thuộcc hàm F = {A→D,AB→DE,CE→G,E→H} a) Tìm khóa. b) Xác đònh dạng chuẩn cho quan hệ này. Giải: a) Tìm khóa: TN = {A,B,C} TG = {E} X i (X i U TN) (X i U TN) + Siêu khóa Khóa Ỉ {A,B,C} Q + {A,B,C} {A,B,C} E {E,A,B,C} Q + {E,A,B,C} Vậy khóa là : {A,B,C} b) Xác đònh dạng chuẩn: Ta thấy A Ì khóa, A→D; D là thuộc tính không khóa Þ thuộc tính không khóa không phụ thuộc đầy đủ vào khóa Þ Q không đạt chuẩn 2 Bài 2: Cho quan hệ Phancong(PHICONG,MAYBAY,NGAYKH,GIOKH) các điều kiện ràng buộc qui đònh sau: § Mỗi máy bay một giờ khởi hành duy nhất. § Nếu biết phi công, biết ngày giờ khởi hành thì biết được máy bay do phi công ấy lái. § Nếu biết máy bay, biết ngày khởi hành thì biết phi công lái chuyến bay ấy. a) Tìm khóa cho quan hệ Phancong. b) Quan hệ này thỏa dạng chuẩn nào ? Giải: a) Tìm khóa: Q + = {phicong, maybay, ngaykh, giokh} F = {maybay ® giokh, Phicong, ngaykh, giokh ® maybay Maybay, ngaykh ® phicong} TN = {ngaykh} Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com Bai tap CSDL – Bai mau xac dinh dang chuan trang 2 TG = {maybay,phicong,giokh} X i (X i U TN) (X i U TN) + Siêu khóa Khóa Ỉ Ngaykh Ngaykh Maybay Maybay, ngaykh Q + Maybay, ngaykh Maybay, ngaykh Phicong Phicong, ngaykh Phicong, ngaykh Giokh Giokh, ngaykh giokh, ngaykh Maybay, phicong Maybay, phicong, ngaykh Q + Maybay, phicong, ngaykh Maybay, giokh Maybay, giokh, ngaykh Q + Maybay, giokh, ngaykh Phicong, giokh Phicong, giokh, ngaykh Q + Phicong, giokh, ngaykh Phicong, giokh, ngaykh Maybay, phicong, giokh Maybay, phicong, ngaykh, giokh Q + Maybay, phicong, ngaykh, giokh Khóa là: K 1 = {maybay,ngaykh}; K 2 = {phicong,giokh,ngaykh} b) Xác đònh dạng chuẩn: Ta thấy quan hệ trên không thuộc tính không khóa Þ Đạt dạng chuẩn 2. Xét tiếp đạt dạng chuẩn 3 không? Ta F 1tt = F Ta thấy mọi phụ thuộc hàm Ỵ F 1tt đều vế phải Ỵ {giokh, maybay, phicong} là thuộc tính khóa. Vậy quan hệ Phancong đạt dạng chuẩn 3. Xét tiếp đạt dạng chuẩn BC không? Ta thấy maybay ® giokh, mà maybay Ï tập siêu khóa Þ Không đạt dạng chuẩn BC. Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com . Đáp án Một số bài tập mẫu môn cơ sở dữ liệu Dap an Bai tap mon CSDL trang 1 ĐÁN ÁN MỘT SỐ BÀI TẬP MẪU MÔN CSDL Bài 1. Cho lược đồ CSDL sau: HANGHOA. http://www.simpopdf.com 1 ĐÁ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 Unregistered Version - http://www.simpopdf.com 2 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

Ngày đăng: 27/06/2014, 06:20

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan