Bộ đề môn Cơ sở dữ liệu - Tổng hợp đề 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).

pdf2 trang | Chia sẻ: candy98 | Lượt xem: 820 | Lượt tải: 0download
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