Bài tập về đại số quan hệ
Số trang: 20
Loại file: ppt
Dung lượng: 786.00 KB
Lượt xem: 17
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Đại số quan hệ dùng phổ biến trong lí thuyết cơ sở dữ liệu quan hệ là một bộ các toán tử và các quy tắc tương ứng có thể được sử dụng để thao tác trên các toán học (relation) và tạo ra kết quả là một quan hệ khác. Trước đây, đại số quan hệ ít được quan tâm cho đến khi Edgar F. Codd đưa ra mô hình dữ liệu quan hệ (relational model) vào năm 1970. Từ đó đến nay, đại số quan hệ được xem là nền tảng cho các ngôn ngữ truy vấn cơ...
Nội dung trích xuất từ tài liệu:
Bài tập về đại số quan hệ Bài tậpCho lược đồ CSDL quản lý bán hàng như sau:KHACHTV (MAKH,HOTEN, DCHI,SODT,NGSINH,DOANHSO,NGGN)NHANVIEN (MANV,HOTEN,NGSINH,NGVL,HESO,MUCLUONG)SANPHAM (MASP,TENSP, DVT, NUOCSX, GIA)HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA)CTHD (SOHD,MASP,SL) 1 Phần 1: Đại số quan hệ1. In ra số hóa đơn cùng trị giá của các hóa đơn do nhân viên có tên “Nguyễn Văn A” lập trong ngày 10/10/20052. In ra danh sách các sản phẩm (mã sản phẩm, tên sản phẩm) được khách hàng có tên “Nguyễn Văn A” mua.3. Tìm các số hóa đơn đã mua cùng lúc 2 sản phẩm có mã số “SP01” và “SP02”4. In ra danh sách các sản phẩm không bán được trong năm 2005 2 Phần 2: SQL1. Tìm số hoá đơn có trị giá cao nhất trong năm 2005.2. Tính tổng số lượng sản phẩm có mã số “SP01” được bán ra trong tháng 10/2005.3. Từng sản phẩm, tính tổng số lượng bán ra trong tháng 10/2005.4. Tìm sản phẩm (mã sản phẩm, tên sản phẩm) có số lượng bán ra cao nhất trong ngày 10/10/2005. 3 Phần 3: Ràng buộc toàn vẹnBối cảnh một quan hệ:1. Tất cả các sản phẩm có giá từ 1.000 đồng trở lên2. Ngày gia nhập của khách hàng thành viên phải lớn hơn ngày sinh của người đó.3. Các nhân viên có cùng hệ số lương thì phải cùng mức lương 4 Phần 3: Ràng buộc toàn vẹnBối cảnh nhiều quan hệ:4. Ngày nhân viên bán hàng phải lớn hơn hoặc bằng ngày đầu tiên vào làm của nhân viên đó.5. Mỗi hóa đơn phải có ít nhất một chi tiết hóa đơn.6. Doanh số của một khách hàng thành viên là tổng các trị giá hóa đơn mà khách hàng thành viên đó đã mua 5 Phần 1: Đại số quan hệCâu 1:In ra số hóa đơn cùng trị giá của các hóa đơn do nhân viên có tên “Nguyễn Văn A” lập trong ngày 10/10/2005Viết bằng SQL:SELECT SOHD,TRIGIAFROM NHANVIEN INNER JOIN HOADON ON NHANVIEN.MANV=HOADON.MANVWHERE HOTEN=’NguyenVanA’ AND NGHD=’10/10/2005’HoặcSELECT SOHD,TRIGIAFROM NHANVIEN, HOADONWHERE HOTEN=’NguyenVanA’ AND NGHD=’10/10/2005’ AND NHANVIEN.MANV=HOADON.MANVViết bằng Đại số quan hệ: MANV ( NHANVIEN : (hoten = NguyenVanA ) HOADON : (nghd = #10 / 10 / 2005# ))[ sohd , trigia ] 6 Phần 1: Đại số quan hệCâu 2: In ra danh sách các sản phẩm (mã sản phẩm, tên sản phẩm) được khách hàng có tên “Nguyễn Văn A” mua Viết bằng SQL: SELECT Distinct SP.MASP,SP.TENSP FROM SANPHAM SP,CTHD CT,HOADON HD,KHACHTV KH WHERE SP.MASP=CT.MASP AND CT.SOHD=HD.SOHD AND KH.MAKH=HD.MAKH AND KH.HOTEN=‘NguyenVanA’ Viết bằng Đại số quan hệ: MASP SOHD ((( SANPHAM CTHD ) HOADON ) MAKH ( KHACHTV : (hoten = NguyenVanA )))[masp, tensp ] 7 Phần 2: Đại số quan hệCâu 3: Tìm các số hóa đơn đã mua cùng lúc 2 sản phẩm có mã số “SP01” và “SP02” Viết bằng SQL: SELECT SOHD FROM CTHD WHERE MASP=’SP01’ AND SOHD IN (SELECT SOHD FROM CTHD WHERE MASP=’SP02’) Viết bằng Đại số quan hệ: R1( SOHD) ← (CTHD : ( MASP = SP 01 ))[SOHD] R 2( SOHD) ← (CTHD : ( MASP = SP 02 ))[SOHD] KETQUA ← R1 ∩ R 2 8 Phần 1: Đại số quan hệCâu 4:In ra danh sách các sản phẩm không bán được trong năm 2005. SELECT MASP, TENSP Viết bằng SQL FROM SANPHAM WHERE MASP NOT IN ( SELECT DISTINCT MASP FROM CTHD,HOADON WHERE CTHD.SOHD=HOADON.SOHD AND R1 ← SANPHAM [ MASP, TENSP ] YEAR(NGHD)=2005) Viết bằng Đại MASP SOHD số quan hệ R 2 ← ( SANPHAM CTHD HOADON : ( year ( NGHD) = 2005))[ MASP, TENSP ] KETQUA ← R1 − R 2 9 Phần 2: SQLCâu 1: Tìm số hoá đơn có trị giá cao nhất trong năm 2005.SELECT SOHDFROM HOADONWHERE YEAR(NGHD)=2005 AND TRIGIA = ( SELECT MAX(TRIGIA) FROM HOADON WHERE YEAR(NGHD)=2005 )HoặcSELECT SOHDFROM HOADONWHERE YEAR(NGHD)=2005 AND TRIGIA >= ALL ( SELECT distinct TRIGIA FROM HOADON WHERE YEAR(NGHD)=2005 ) 10 Phần 2: SQLCâu 2: Tính tổng số lượng sản phẩm có mã số “SP01” bán ra t ...
Nội dung trích xuất từ tài liệu:
Bài tập về đại số quan hệ Bài tậpCho lược đồ CSDL quản lý bán hàng như sau:KHACHTV (MAKH,HOTEN, DCHI,SODT,NGSINH,DOANHSO,NGGN)NHANVIEN (MANV,HOTEN,NGSINH,NGVL,HESO,MUCLUONG)SANPHAM (MASP,TENSP, DVT, NUOCSX, GIA)HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA)CTHD (SOHD,MASP,SL) 1 Phần 1: Đại số quan hệ1. In ra số hóa đơn cùng trị giá của các hóa đơn do nhân viên có tên “Nguyễn Văn A” lập trong ngày 10/10/20052. In ra danh sách các sản phẩm (mã sản phẩm, tên sản phẩm) được khách hàng có tên “Nguyễn Văn A” mua.3. Tìm các số hóa đơn đã mua cùng lúc 2 sản phẩm có mã số “SP01” và “SP02”4. In ra danh sách các sản phẩm không bán được trong năm 2005 2 Phần 2: SQL1. Tìm số hoá đơn có trị giá cao nhất trong năm 2005.2. Tính tổng số lượng sản phẩm có mã số “SP01” được bán ra trong tháng 10/2005.3. Từng sản phẩm, tính tổng số lượng bán ra trong tháng 10/2005.4. Tìm sản phẩm (mã sản phẩm, tên sản phẩm) có số lượng bán ra cao nhất trong ngày 10/10/2005. 3 Phần 3: Ràng buộc toàn vẹnBối cảnh một quan hệ:1. Tất cả các sản phẩm có giá từ 1.000 đồng trở lên2. Ngày gia nhập của khách hàng thành viên phải lớn hơn ngày sinh của người đó.3. Các nhân viên có cùng hệ số lương thì phải cùng mức lương 4 Phần 3: Ràng buộc toàn vẹnBối cảnh nhiều quan hệ:4. Ngày nhân viên bán hàng phải lớn hơn hoặc bằng ngày đầu tiên vào làm của nhân viên đó.5. Mỗi hóa đơn phải có ít nhất một chi tiết hóa đơn.6. Doanh số của một khách hàng thành viên là tổng các trị giá hóa đơn mà khách hàng thành viên đó đã mua 5 Phần 1: Đại số quan hệCâu 1:In ra số hóa đơn cùng trị giá của các hóa đơn do nhân viên có tên “Nguyễn Văn A” lập trong ngày 10/10/2005Viết bằng SQL:SELECT SOHD,TRIGIAFROM NHANVIEN INNER JOIN HOADON ON NHANVIEN.MANV=HOADON.MANVWHERE HOTEN=’NguyenVanA’ AND NGHD=’10/10/2005’HoặcSELECT SOHD,TRIGIAFROM NHANVIEN, HOADONWHERE HOTEN=’NguyenVanA’ AND NGHD=’10/10/2005’ AND NHANVIEN.MANV=HOADON.MANVViết bằng Đại số quan hệ: MANV ( NHANVIEN : (hoten = NguyenVanA ) HOADON : (nghd = #10 / 10 / 2005# ))[ sohd , trigia ] 6 Phần 1: Đại số quan hệCâu 2: In ra danh sách các sản phẩm (mã sản phẩm, tên sản phẩm) được khách hàng có tên “Nguyễn Văn A” mua Viết bằng SQL: SELECT Distinct SP.MASP,SP.TENSP FROM SANPHAM SP,CTHD CT,HOADON HD,KHACHTV KH WHERE SP.MASP=CT.MASP AND CT.SOHD=HD.SOHD AND KH.MAKH=HD.MAKH AND KH.HOTEN=‘NguyenVanA’ Viết bằng Đại số quan hệ: MASP SOHD ((( SANPHAM CTHD ) HOADON ) MAKH ( KHACHTV : (hoten = NguyenVanA )))[masp, tensp ] 7 Phần 2: Đại số quan hệCâu 3: Tìm các số hóa đơn đã mua cùng lúc 2 sản phẩm có mã số “SP01” và “SP02” Viết bằng SQL: SELECT SOHD FROM CTHD WHERE MASP=’SP01’ AND SOHD IN (SELECT SOHD FROM CTHD WHERE MASP=’SP02’) Viết bằng Đại số quan hệ: R1( SOHD) ← (CTHD : ( MASP = SP 01 ))[SOHD] R 2( SOHD) ← (CTHD : ( MASP = SP 02 ))[SOHD] KETQUA ← R1 ∩ R 2 8 Phần 1: Đại số quan hệCâu 4:In ra danh sách các sản phẩm không bán được trong năm 2005. SELECT MASP, TENSP Viết bằng SQL FROM SANPHAM WHERE MASP NOT IN ( SELECT DISTINCT MASP FROM CTHD,HOADON WHERE CTHD.SOHD=HOADON.SOHD AND R1 ← SANPHAM [ MASP, TENSP ] YEAR(NGHD)=2005) Viết bằng Đại MASP SOHD số quan hệ R 2 ← ( SANPHAM CTHD HOADON : ( year ( NGHD) = 2005))[ MASP, TENSP ] KETQUA ← R1 − R 2 9 Phần 2: SQLCâu 1: Tìm số hoá đơn có trị giá cao nhất trong năm 2005.SELECT SOHDFROM HOADONWHERE YEAR(NGHD)=2005 AND TRIGIA = ( SELECT MAX(TRIGIA) FROM HOADON WHERE YEAR(NGHD)=2005 )HoặcSELECT SOHDFROM HOADONWHERE YEAR(NGHD)=2005 AND TRIGIA >= ALL ( SELECT distinct TRIGIA FROM HOADON WHERE YEAR(NGHD)=2005 ) 10 Phần 2: SQLCâu 2: Tính tổng số lượng sản phẩm có mã số “SP01” bán ra t ...
Tìm kiếm theo từ khóa liên quan:
hệ thống dữ liệu quản trị dữ liệu bài tập cơ sở dữ liệu bài tập quản lý dữ liệu hệ cơ sở dữ liệuTài liệu liên quan:
-
Đáp án đề thi học kỳ 2 môn cơ sở dữ liệu
3 trang 318 1 0 -
PHÂN TÍCH THIẾT KẾ HỆ THỐNG XÂY DỰNG HỆ THỐNG ĐẶT VÉ TÀU ONLINE
43 trang 283 2 0 -
6 trang 176 0 0
-
Giáo trình Nhập môn Cơ sở dữ liệu - GV. Nguyễn Thế Dũng
280 trang 159 0 0 -
Hướng dẫn tạo file ghost và bung ghost
12 trang 156 0 0 -
Trắc nghiệm và đáp án hệ cơ sở dữ liệu - ĐH Công Nghiệp Tp. Hồ Chí Minh
63 trang 118 0 0 -
Tìm hiểu về nguyên lý của các hệ cơ sở dữ liệu: Phần 2
139 trang 107 0 0 -
Hướng dẫn sử dụng Mapinfo Professional-Phần cơ bản
57 trang 86 0 0 -
Bài giảng Khái niệm về hệ cơ sở dữ liệu: Bài 2 - Hệ quản trị cơ sở dữ liệu
13 trang 81 0 0 -
150 trang 72 0 0