Bài tập môn Cơ sở dữ liệu

ppt 32 trang phuongnguyen 8780
Bạn đang xem 20 trang mẫu của tài liệu "Bài tập môn Cơ sở dữ liệu", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptbai_tap_mon_co_so_du_lieu.ppt

Nội dung text: Bài tập môn Cơ sở dữ liệu

  1. Seminar môn CSDL: Chuyên đề:Tối ưu hóa câu hỏi Nhóm: 8 Giảng viên: ThS. Nguyễn Thị Kim Phụng
  2. THÀNH VIÊN NHÓM 8  Nguyễn Lâm Tú  Phan Đăng Vinh  Trần Nguyên Trọng Tín  Nguyễn Trung Hiền  Nguyễn Thành Luân  Nguyễn Kim  Nguyễn Văn Sơn  Lê Tuấn Vương  Lê Đình Bằng  Lê Thái Bình
  3. THUẬT TOÁN  Bước 1: Áp dụng các phép biển đổi tương đương  Bước 2: Áp dụng :biến đổi tương đương dãy các phép chọn  Bước 3: Đối với các phép chọn biến đổi tương đương nhằm đưa phép chọn càng sâu càng tốt  Bước 4: Đối với các phép chiếu biến đổi tương đương nhằm đưa phép chiếu càng sâu càng tốt  Bước 5:  Tập trung các phép chọn để biến đổi tương đương dãy các phép chọn  Kết hợp phép tích và phép chọn để chuyển thành phép kết
  4. CSDL: RƯỢU VANG KHACH_HANG(SHKH,HOTEN,LOAI) RUOU_VANG(SHRV,VUNGNHO,NAMSX,DORUOU) NHA_SX(SHNSX,HOTEN,THANHPHO) SAN_PHAM(SHRV,SHNSX) (SHKH:số hiệu khách hàng SHRV:số hiệu rượu vang SHNSX:số hiệu nhà sản xuất ) Câu hỏi :Cho biết tên các vùng nho của các loại rượu vang được sản xuất ở Bordeaux vào năm 1976?
  5. CHO BIẾT TÊN CÁC VÙNG NHO CỦA CÁC LOẠI RƯỢU VANG ĐƯỢC SẢN XUẤT Ở BORDEAUX VÀO NĂM 1976 VÀ ĐỘ RƯỢU KHÔNG QUÁ 14O?  Chưa tối ưu: SHRV SHNSX ((RUOU_VANG SAN_PHAM) NHA_SX:NAM_SX=‘1987’  DO_RUOU<=14  THANH_PHO=‘Bordeaux’)[VUNG_NHO]
  6. CHO BIẾT TÊN CÁC VÙNG NHO CỦA CÁC LOẠI RƯỢU VANG ĐƯỢC SẢN XUẤT Ở BORDEAUX VÀO NĂM 1976 VÀ ĐỘ RƯỢU KHÔNG QUÁ 14O? Q B A: NAM_SX=‘1987’ DO_RUOU<=14  THANH_PHO=‘Bordeaux’ B: VUNG_NHO A SHNSX SHRV NHA_SX SAN_PHAM RUOU_VANG
  7. CHO BIẾT TÊN CÁC VÙNG NHO CỦA CÁC LOẠI RƯỢU VANG ĐƯỢC SẢN XUẤT Ở BORDEAUX VÀO NĂM 1976?  Tối ưu: (((RUOU_VANG:NAM_SX=‘1987’  SHNSX DO_RUOU<=14 ) SHRVSAN_PHAM) NHA_SX:THANH_PHO=‘Bordeaux’))[VUNG_NH O]
  8. CHO BIẾT TÊN CÁC VÙNG NHO CỦA CÁC LOẠI RƯỢU VANG ĐƯỢC SẢN XUẤT Ở BORDEAUX VÀO NĂM 1976? Q B SHNSX A: NAM_SX=‘1987’ DO_RUOU<=14 C: THANH_PHO=‘Bordeaux’ B: VUNG_NHO SHRV C SAN_PHAM A NHA_SX RUOU_VANG
  9. CSDL: QUẢN LÝ THƯ VIỆN Sach(Msach, Tensach, TacGia,MNXB) NhaXuatBan(MNXB,Diachi,TenNXB) DocGia(Sothe, TenDocGia,DiaChi,NamSinh) MuonSach(Sothe, Msach, Ngaymuon) Tối Ưu hóa những câu hỏi sau Câu 1: Cho danh sách những cuốn sách đã mượn trước ngày 01/01/2007? Câu 2: Danh Sách tên những độc giả đã mược sách của NXB Kim Dong?
  10. CHO DANH SÁCH NHỮNG CUỐN SÁCH ĐÃ MƯỢN TRƯỚC NGÀY 01/01/2007? Chưa tối ưu: (Sach X Muonsach):((Sach.Msach=Muonsach.Msach ^ NgayMuon<‘01/01/2007’)[TenSach] B A  Sach.Msach=Muonsach.Msach ^ NgayMuon<‘01/01/2007’ A B  Tensach SACH muonsach
  11. CHO DANH SÁCH NHỮNG CUỐN SÁCH ĐÃ MƯỢN TRƯỚC NGÀY 01/01/2007? Tối Ưu: MSACH ((Sach [TenSach,Msach] (Muonsach: (NgayMuon<‘01/01/2007’))[Msach])[TenSach] Tensach MSACH A : NgayMuon<‘01/01/2007’ B MSach B : Tensach,Msach SACH A muonsach
  12. DANH SÁCH TÊN NHỮNG ĐỘC GIẢ MƯỢN SÁCH CỦA NXB KIM ĐỒNG? Chưa tối ưu: B: Msach,Tendocgia TenDocGia A: TenNXB=‘KimDong’ MSACH B MSach SoThe A MNXB DocGia muonsach NhaXuatBan sach Q1  (DocGia > < Q2 )[Tendocgia]
  13. DANH SÁCH TÊN NHỮNG ĐỘC GIẢ MƯỢN SÁCH CỦA NXB KIM ĐỒNG? TenDocGia Tối Ưu: MSACH Msach, MSach tendocgia B: Sothe,Tendocgia A: TenNXB=‘KimDong’ SoThe MNXB B Msach, A MNXB,MSach Sothe DocGia NhaXuatBan muonsach sach SOTHE Q1  (DocGia[Sothe,Tendocgia] MuonSach[Msach,Sothe])[Msach,Tendocgia] MNXB Q2  ((Nhaxuatban:TenNXB=‘KimDong’) Sach[Msach,MNXB])[Msach] MSACH (Q1 Q2 )[Tendocgia]
  14. CSDL: QUẢN LÝ BÁN HÀNG  KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH, DOANHSO, NGDK)  Tân từ: Quan hệ khách hàng sẽ lưu trữ thông tin của khách hàng thành viên gồm có các thuộc tính:  mã khách hàng, họ tên, địa chỉ, số điện thoại, ngày sinh, ngày đăng ký và doanh số (tổng trị giá các  hóa đơn của khách hàng thành viên này).  NHANVIEN (MANV,HOTEN, NGVL, SODT)  Tân từ: Mỗi nhân viên bán hàng cần ghi nhận họ tên, ngày vào làm, điện thọai liên lạc, mỗi nhân viên  phân biệt với nhau bằng mã nhân viên.
  15. CSDL: QUẢN LÝ BÁN HÀNG  SANPHAM (MASP,TENSP, DVT, NUOCSX, GIA)  Tân từ: Mỗi sản phẩm có một mã số, một tên gọi, đơn vị tính, nước sản xuất và một giá bán.  HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA)  Tân từ: Khi mua hàng, mỗi khách hàng sẽ nhận một hóa đơn tính tiền, trong đó sẽ có số hóa đơn,  ngày mua, nhân viên nào bán hàng, trị giá của hóa đơn là bao nhiêu và mã số của khách hàng nếu là  khách hàng thành viên.  CTHD (SOHD,MASP,SL)  Tân từ: Diễn giải chi tiết trong mỗi hóa đơn gồm có những sản phẩm gì với số lượng là bao nhiêu.  (sơ đồ thể hiện mối quan hệ giữa các bảng)
  16. IN RA HÓA ĐƠN, TRỊ GIÁ CÁC HÓA ĐƠN DO NHÂN VIÊN CÓ TÊN “NGUYEN VAN B” LẬP TRONG NGÀY 28/10/2006? 8. ((Khachhang >< Hoadon):Khachhang.MAKH=Hoadon.MAKH ^NGHD=’01/01/2007’)[MAKH,HOTEN tối ưu: ((Khachhang[MaKH,HoTen] MAKH (Hoadon:NGHD=‘1/1/2007’)[MaKH]) [MAKH,HOTEN]
  17. IN RA HÓA ĐƠN, TRỊ GIÁ CÁC HÓA ĐƠN DO NHÂN VIÊN CÓ TÊN “NGUYEN VAN B” LẬP TRONG NGÀY 28/10/2006? MANV 9.((Nhanvien Hoadon):hoten=‘Nguyen van B’ ^ NGHD = ‘10/28/2006’))[SOHD,TRIGIA] Tối ưu: MANV ((Nhanvien:hoten=‘Nguyen Van B’)[MANV] (HoaDon:NGHD=‘10/28/2006’)[SOHD,MANV,TRIGIA]) [SOHD,TRIGIA]
  18. IN RA DANH SÁCH CÁC SẢN PHẨM (MASP,TENSP)ĐƯỢC KHÁCH HÀNG CÓ TÊN “NGUYEN VAN A”MUA THÁNG 10/2006 chưa tối ưu: MAKH (((KHACHHANG SOHD MASP HOADON) CTHD) SANPHAM:HOTEN=‘Nguyen Van A’  month(NGHD)=‘10’  year(NGHD)=‘2006’)[MASP,TENSP]
  19. IN RA DANH SÁCH CÁC SẢN PHẨM (MASP,TENSP)ĐƯỢC KHÁCH HÀNG CÓ TÊN “NGUYEN VAN A”MUA THÁNG 10/2006 Q B A HOTEN=‘Nguyen Van A’  month(NGHD)=10  year=2006 A MASP B [MASP,TENSP ] SOHD SANPHAM MAKH CTHD KHACHHANG HOADON
  20. IN RA DANH SÁCH CÁC SẢN PHẨM (MASP,TENSP)ĐƯỢC KHÁCH HÀNG CÓ TÊN “NGUYEN VAN A”MUA THÁNG 10/2006  Tối ưu: (chọn càng sớm càng tốt ) MAKH (((KHACHHANG:HOTEN=‘Nguyen Van A’) (HOADON:month(NGHD)=10  SOHD MASP year(NGHD)=2006) CTHD) SANPHAM) [MASP,TENSP]
  21. IN RA DANH SÁCH CÁC SẢN PHẨM (MASP,TENSP)ĐƯỢC KHÁCH HÀNG CÓ TÊN “NGUYEN VAN A”MUA THÁNG 10/2006 Q B MASP A HOTEN=‘Nguyen Van A’ SOHD C month(NGHD)=10  Year(NGHD) =2006 SANPHAM MAKH B [MASP,TENSP ] CTHD A C KHACHHANG HOADON
  22. TÌM CÁC SỐ HÓA ĐƠN ĐÃ MUA CÁC SẢN PHẨM CÓ MÃ SỐ “BB01”HOẶC “BB02”  Chưa tối ưu: (CTHD:MASP=‘BB01’)[SOHD] (CTHD:MASP=‘BB02’) [SOHD]
  23. TÌM CÁC SỐ HÓA ĐƠN ĐÃ MUA CÁC SẢN PHẨM CÓ MÃ SỐ “BB01”HOẶC “BB02” Q1 Q2 B B A: MASP=‘BB01’ C: MASP=‘BB02’ B: SOHD A C CTHD CTHD Q Q1 Q2
  24. TÌM CÁC SỐ HÓA ĐƠN ĐÃ MUA CÁC SẢN PHẨM CÓ MÃ SỐ “BB01”HOẶC “BB02”  Tối ưu (kết hợp giữa chiếu và hội ) (CTHD:MASP=‘BB01’ V MASP=‘BB02’)[SOHD] Q B B: SOHD C: MASP=‘BB01’ v MASP=‘BB02’ C CTHD
  25. IN RA DANH SÁCH CÁC SẢN PHẨM (MASP,TENSP) DO ‘TRUNG QUOC’ SẢN XUẤT KHÔNG BÁN ĐƯỢC TRONG NĂM 2006? Chưa tối ưu: Q Sanpham[Masp,Tensp] Masp R ((Sanpham CTHD Hoadon) : year(Nghd)=2006) [Masp,Tensp] T=Q-R
  26. IN RA DANH SÁCH CÁC SẢN PHẨM (MASP,TENSP) DO ‘TRUNG QUOC’ SẢN XUẤT KHÔNG BÁN ĐƯỢC TRONG NĂM 2006? R Q Masp Tensp Masp T=Q-R Tensp Year(Nghd)=2006 Sohd Sanpham Hoadon CTHD Sanpham
  27. IN RA DANH SÁCH CÁC SẢN PHẨM (MASP,TENSP) DO ‘TRUNG QUOC’ SẢN XUẤT KHÔNG BÁN ĐƯỢC TRONG NĂM 2006? Đã tối ưu: Q Sanpham[Masp,Tensp] Sohd R ( (Sanpham (CTHD HoaDon: year (Nghd)=2006)[Masp,Tensp]) T=Q-R
  28. IN RA DANH SÁCH CÁC SẢN PHẨM (MASP,TENSP) DO ‘TRUNG QUOC’ SẢN XUẤT KHÔNG BÁN ĐƯỢC TRONG NĂM 2006? R Q Masp Tensp Masp T=Q-R Masp Tensp SanPham Sanpham CTHD Year(Nghd)=2006 HoaDon
  29. IN RA DANH SÁCH CÁC SẢN PHẨM (MASP,TENSP) DO ‘TRUNG QUOC’ SẢN XUẤT KHÔNG BÁN ĐƯỢC TRONG NĂM 2006? Chưa tối ưu: Q ((Sanpham :nuocsx= ‘trung quoc’) [Masp,Tensp]) Masp R (((Sanpham CTHD Hoadon) : year(Nghd) =2006 ^ nuocsx=‘trung quoc’) [Masp,Tensp]) T=Q-R
  30. IN RA DANH SÁCH CÁC SẢN PHẨM (MASP,TENSP) DO ‘TRUNG QUOC’ SẢN XUẤT KHÔNG BÁN ĐƯỢC TRONG NĂM 2006? R T=Q-R Q Masp Tensp Masp Tensp Year(Nghd)=2006 and Nuocsx=‘trung quoc’ Nuocsx=‘trung quoc’ Sohd Sanpham Hoadon CTHD Sanpham
  31. IN RA DANH SÁCH CÁC SẢN PHẨM (MASP,TENSP) DO ‘TRUNG QUOC’ SẢN XUẤT KHÔNG BÁN ĐƯỢC TRONG NĂM 2006? Đã tối ưu: Q ((Sanpham :nuocsx= ‘trung quoc’) [Masp,Tensp]) Masp R ((Sanpham:Nuocsx=‘trung quoc’) ((hoaDon : year(Nghd) =2006) CTHD)) [Masp,Tensp] T=Q-R
  32. IN RA DANH SÁCH CÁC SẢN PHẨM (MASP,TENSP) DO ‘TRUNG QUOC’ SẢN XUẤT KHÔNG BÁN ĐƯỢC TRONG NĂM 2006? R Q T=Q-R Masp Tensp Masp Tensp Masp Nuocsx=‘trung quoc’ Nuocsx=‘trung quoc CTHD Year(Nghd)=2006 Sanpham Sanpham HoaDon