Câu 1 (3.5 điểm) Cho lược đồ cơ sở dữ liệu Quản lý đặt mua báo như sau:
BAO (MaToBao, TenBao, DiaChiTS)
Tân từ: mỗi báo có một mã số duy nhất để phân biệt với các báo khác, tên báo, địa chỉ tòa
soạn chính. Ví dụ: báo “Tuổi trẻ”, báo “Công an”, báo “Thanh niên”,…
DOCGIA(MaDG, HoTen, NgaySinh, GioiTinh, DiaChi)
Tân từ: mỗi đọc giả có một mã số để phân biệt với các đọc giả khác, họ tên đọc giả, ngày
sinh, giới tính (Nam/Nữ), địa chỉ đọc giả.
DATMUA (MaDG, MaToBao, Quy, Nam, SoLuong, DonGia, ThanhTien)
Tân từ: mỗi đọc giả (MaDG) sẽ đặt mua các báo (MaToBao) theo từng quý (1, 2, 3, 4)
trong năm với số lượng đặt là bao nhiêu tờ (SoLuong), có đơn giá một tờ báo (DonGia),
thành tiền là số tiền đọc giả mua báo trong quý đó (ThanhTien = SoLuong x DonGia).
Yêu cầu:
1. Hãy phát biểu chặt chẽ ràng buộc: “Số tiền (ThanhTien) đọc giả trả khi đặt mua
báo trong một quý phải bằng số tờ đặt trong quý đó (SoLuong) x đơn giá
(DonGia).” (0.75 điểm).
2 trang |
Chia sẻ: candy98 | Lượt xem: 861 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Bộ đề môn Cơ sở dữ liệu - Tổng hợp đề 5, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Đề Thi Số 5
Câu 1 (3.5 điểm) Cho lược đồ cơ sở dữ liệu Quản lý đặt mua báo như sau:
BAO (MaToBao, TenBao, DiaChiTS)
Tân từ: mỗi báo có một mã số duy nhất để phân biệt với các báo khác, tên báo, địa chỉ tòa
soạn chính. Ví dụ: báo “Tuổi trẻ”, báo “Công an”, báo “Thanh niên”,
DOCGIA(MaDG, HoTen, NgaySinh, GioiTinh, DiaChi)
Tân từ: mỗi đọc giả có một mã số để phân biệt với các đọc giả khác, họ tên đọc giả, ngày
sinh, giới tính (Nam/Nữ), địa chỉ đọc giả.
DATMUA (MaDG, MaToBao, Quy, Nam, SoLuong, DonGia, ThanhTien)
Tân từ: mỗi đọc giả (MaDG) sẽ đặt mua các báo (MaToBao) theo từng quý (1, 2, 3, 4)
trong năm với số lượng đặt là bao nhiêu tờ (SoLuong), có đơn giá một tờ báo (DonGia),
thành tiền là số tiền đọc giả mua báo trong quý đó (ThanhTien = SoLuong x DonGia).
Yêu cầu:
1. Hãy phát biểu chặt chẽ ràng buộc: “Số tiền (ThanhTien) đọc giả trả khi đặt mua
báo trong một quý phải bằng số tờ đặt trong quý đó (SoLuong) x đơn giá
(DonGia).” (0.75 điểm).
Thực hiện câu truy vấn sau bằng đại số quan hệ:
2. Cho biết họ tên, địa chỉ các đọc giả đặt mua báo tuổi trẻ (TenBao=“Tuổi trẻ”) của
quý 1 năm 2006. (0.75 điểm)
Thực hiện các câu truy vấn sau bằng ngôn ngữ SQL:
3. Cho biết họ tên, địa chỉ các đọc giả đặt mua báo tuổi trẻ (TenBao=“Tuổi trẻ”) của
quý 1 năm 2006. (0.75 điểm)
4. Hãy cho biết tổng số tờ báo độc giả đặt mua trong năm 2005 theo từng báo. Thông
tin hiển thị gồm 2 cột: MaToBao và tổng số tờ đặt. (0.75 điểm)
5. Tương tự câu d nhưng thông tin hiển thị gồm 2 cột: TenBao và tổng số lượng đặt.
(0.5 điểm).
ĐÁP ÁN ĐỀ THI SỐ 5
Câu a) (0.75 điểm)
Nội dung:
Số tiền (ThanhTien) độc giả trả khi đặt mua báo trong một quý phải bằng số tờ đặt
trong quý đó (SoLuong) x đơn giá (DonGia).
d DATMUA,
d.ThanhTien = d.SoLuong * d.DonGia
Cuối d
Bối cảnh: DATMUA
Bảng tầm ảnh hưởng:
Thêm Xóa Sửa
DATMUA
+ - +
(SoLuong, DonGia,
ThanhTien)
Câu b) (0.75 điểm)
((BAO: TenBao=“Tuổi trẻ”) (DATMUA: Quy =1 Nam = 2006)
DOCGIA) [HoTen, DiaChi]
Câu c) (0.75 điểm)
SELECT HoTen, DiaChi
FROM BAO t, DATMUA dm, DOCGIA dg
WHERE t.TenBao= “Tuổi trẻ”
AND t.MaToBao = dm.MaToBao
AND dm.Quy=1 AND dm.Nam = 2006
AND dm.MaDG = dg.MaDG
Câu d) (0.75 điểm)
SELECT dm.MaToBao, sum(dm.SoLuong) as TongSoLuongDat
FROM DATMUA dm
WHERE dm.Nam = 2005
GROUP BY dm.MaToBao
Câu e) (0.5 điểm)
SELECT t.TenBao, sum(dm.SoLuong) as TongSoLuongDat
FROM DATMUA dm, BAO t
WHERE t.MaToBao = dm.MaToBao AND dm.Nam = 2005
GROUP BY t.TenBao
MaToBao MaDG