ĐỀ THI SỐ 7<br />
Cho lược đồ CSDL quản lý bán hàng<br />
KHACHHANG (MAKH, HOTEN, DCHI, SODT, TONGTIENMUA)<br />
Tân từ: Mỗi khách hàng sẽ có một mã số (MAKH) để phân biệt với nhau, cần lưu trữ họ<br />
tên, địa chỉ, số điện thoại và tổng tiền mua của khách hàng (tổng trị giá các hóa đơn mà<br />
khách hàng đã mua)<br />
SANPHAM (MASP,TENSP, DVT, NUOCSX, DONGIA)<br />
Tân từ: Mỗi sản phẩm có một mã số (MASP), một tên gọi, đơn vị tính, nước sản xuất và<br />
một đơn giá bán.<br />
HOADON (SOHD, NGHD, MAKH, TRIGIA)<br />
Tân từ: Mỗi lần mua hàng sẽ ghi nhận số hóa đơn (SOHD), ngày mua (NGHD), trị giá<br />
(TRIGIA) của hóa đơn và khách hàng (MAKH) nào mua.<br />
CTHD (SOHD,MASP,SL)<br />
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à<br />
bao nhiêu.<br />
Câu 1: Mô tả chặt chẽ ràng buộc sau: (1 điểm)<br />
Tổng tiền mua của khách hàng bằng tổng trị giá các lần mua hàng (hóa đơn) của khách<br />
hàng đó.<br />
Câu 2: Thực hiện câu truy vấn sau bằng đại số quan hệ: (1 điểm)<br />
In ra danh sách các sản phẩm (mã sản phẩm, tên sản phẩm) được bán ra trong ngày 20<br />
tháng 8 năm 2006, có đơn giá từ 10.000 đến 50.000 do “TrungQuoc” sản xuất.<br />
Câu 3: Thực hiện câu truy vấn sau bằng ngôn ngữ SQL: (1.5 điểm)<br />
a. Tìm số hóa đơn có trị giá cao nhất. (0.75 điểm)<br />
b. Tính doanh số bán hàng (tổng các trị giá hóa đơn) của từng tháng trong năm<br />
2005 (0.75 điểm)<br />
* Chú ý: hàm month(Ngay), year(Ngay) để lấy tháng và năm của Ngay<br />
<br />
ĐÁP ÁN ĐỀ SỐ 7<br />
Câu 1: (1 điểm)<br />
Nội dung: (0.5 điểm)<br />
Tổng tiền mua của khác hàng bằng tổng trị giá các lần mua hàng (hóa đơn) của khách hàng đó.<br />
k KHACHHANG,<br />
k.TongTienMua = Sum(h HOADON h.Makh = k.Makh) (h.Trigia)<br />
Cuối k<br />
hoặc cách khác: k.TongTienMua = ∑(h HOADON h.Makh = k.Makh) (h.Trigia)<br />
Bối cảnh: KHACHHANG, HOADON<br />
Bảng tầm ảnh hưởng: (0.5 điểm)<br />
<br />
KHACHHANG<br />
HOADON<br />
<br />
Thêm<br />
+<br />
<br />
Xóa<br />
-<br />
<br />
+<br />
<br />
+<br />
<br />
Sửa<br />
+<br />
(TongTienMua)<br />
+<br />
(TriGia, Makh)<br />
<br />
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 bán ra trong ngày 20 tháng 8<br />
năm 2006, có giá từ 10.000 đến 50.000 do “TrungQuoc” sản xuất.<br />
Câu 2: (1 điểm)<br />
Masp<br />
Sohd<br />
((SANPHAM: (Nuocsx=‘TrungQuoc”)(10.000Gia50.000))<br />
CTHD<br />
(HOADON: Nghd=’20/10/2006’)) [Masp, Tensp]<br />
Câu 3: Thực hiện câu truy vấn sau bằng ngôn ngữ SQL: (1.5 điểm)<br />
a. Tìm số hóa đơn có trị giá cao nhất. (0.75 điểm)<br />
b. Tính doanh số bán hàng (tổng các trị giá hóa đơn) của từng tháng trong năm 2005 (0.75 điểm)<br />
Câu 3: (0.75 điểm)<br />
a.<br />
SELECT Sohd<br />
FROM<br />
HOADON<br />
WHERE Trigia = (Select max(Trigia) From HOADON)<br />
SELECT<br />
FROM<br />
WHERE<br />
b.<br />
SELECT<br />
FROM<br />
WHERE<br />
GROUP BY<br />
<br />
Sohd<br />
HOADON<br />
Trigia >= ALL (Select DISTINCT Trigia From HOADON)<br />
<br />
month(Nghd) as Thang, Sum(Trigia) as DoanhSo<br />
HOADON<br />
year(Nghd)=2005<br />
month(Nghd)<br />
<br />