Bộ đề môn Cơ sở dữ liệu - Tổng hợp đề 6

Cho lược đồ cơ sở dữ liệu Quản lý thi tốt nghiệp tại một trường PTTH như sau: PHONGTHI (SoPT, DiaChiPT, SucChua) Tân từ: mỗi phòng thi có một số duy nhất để phân biệt với các phòng thi khác, địa chỉ phòng thi, có sức chứa là bao nhiêu sinh viên (SucChua). THISINH(SoBD, HoTen, NgaySinh, GioiTinh, DiaChi, SoPT) Tân từ: mỗi thí sinh có một số báo danh duy nhất để phân biệt với các thí sinh khác (SoBD), họ tên thí sinh, ngày sinh, giới tính (Nam/Nữ), địa chỉ. Mỗi thí sinh chỉ thi tại một phòng thi (SoPT) cho tất cả các môn thi tốt nghiệp. MONTHI(MaMT, TenMT, Buoi, NgayThi) Tân từ: mỗi môn thi tốt nghiệp có một mã số duy nhất để phân biệt với các môn thi khác (MaMT), tên môn thi (TenMT), thi vào buổi sáng hay chiều (Buoi), vào ngày thi nào (NgayThi). KETQUA(SoBD, MaMT,DiemThi,VangThi) Tân từ: Mỗi thí sinh thi một môn sẽ có một kết quả thi cho môn đó. Điểm thi phải lớn hơn hoặc bằng 0 và nhỏ hơn hoặc bằng 10. Cột VangThi có giá trị là 1 nếu thí sinh vắng thi, VangThi = 0 nếu thí sinh có dự thi. Yêu cầu: 1. Hãy phát biểu một cách chặt chẽ RBTV “Tổng số thí sinh thi tại một phòng thi phải nhỏ hơn hay bằng sức chứa (SucChua) của phòng thi đó.” (1 điểm). Thực hiện các câu truy vấn sau bằng ngôn ngữ đại số quan hệ: 2. Với các thí sinh thi ở phòng ‘P07’ (SoPT = ‘P07’), hãy liệt kê số báo danh, họ tên thí sinh, tên môn thi, điểm thi với tình trạng là có dự thi (VangThi = 0). (0.75 điểm).

pdf2 trang | Chia sẻ: candy98 | Lượt xem: 688 | 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 đề 6, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
ĐỀ THI SỐ 6 Cho lược đồ cơ sở dữ liệu Quản lý thi tốt nghiệp tại một trường PTTH như sau: PHONGTHI (SoPT, DiaChiPT, SucChua) Tân từ: mỗi phòng thi có một số duy nhất để phân biệt với các phòng thi khác, địa chỉ phòng thi, có sức chứa là bao nhiêu sinh viên (SucChua). THISINH(SoBD, HoTen, NgaySinh, GioiTinh, DiaChi, SoPT) Tân từ: mỗi thí sinh có một số báo danh duy nhất để phân biệt với các thí sinh khác (SoBD), họ tên thí sinh, ngày sinh, giới tính (Nam/Nữ), địa chỉ. Mỗi thí sinh chỉ thi tại một phòng thi (SoPT) cho tất cả các môn thi tốt nghiệp. MONTHI(MaMT, TenMT, Buoi, NgayThi) Tân từ: mỗi môn thi tốt nghiệp có một mã số duy nhất để phân biệt với các môn thi khác (MaMT), tên môn thi (TenMT), thi vào buổi sáng hay chiều (Buoi), vào ngày thi nào (NgayThi). KETQUA(SoBD, MaMT,DiemThi,VangThi) Tân từ: Mỗi thí sinh thi một môn sẽ có một kết quả thi cho môn đó. Điểm thi phải lớn hơn hoặc bằng 0 và nhỏ hơn hoặc bằng 10. Cột VangThi có giá trị là 1 nếu thí sinh vắng thi, VangThi = 0 nếu thí sinh có dự thi. Yêu cầu: 1. Hãy phát biểu một cách chặt chẽ RBTV “Tổng số thí sinh thi tại một phòng thi phải nhỏ hơn hay bằng sức chứa (SucChua) của phòng thi đó.” (1 điểm). Thực hiện các câu truy vấn sau bằng ngôn ngữ đại số quan hệ: 2. Với các thí sinh thi ở phòng ‘P07’ (SoPT = ‘P07’), hãy liệt kê số báo danh, họ tên thí sinh, tên môn thi, điểm thi với tình trạng là có dự thi (VangThi = 0). (0.75 điểm). Thực hiện các câu truy vấn sau bằng ngôn ngữ SQL: 3. Với các thí sinh thi ở phòng ‘P07’ (SoPT = ‘P07’) vào ngày ‘21/5/2006’, hãy liệt kê số báo danh, họ tên thí sinh, tên môn thi, điểm thi với tình trạng là có dự thi (VangThi = 0). Sắp thứ tự tăng dần theo số báo danh, tên môn thi. (1.25 điểm) 4. Cho biết phòng thi (SoPT) có số lượng thí sinh thi đông nhất (0.5 điểm). ĐÁP ÁN Câu 1: (1 điểm)  Nội dung: Tổng số thí sinh thi tại một phòng thi phải nhỏ hơn hay bằng sức chứa (SucChua) của phòng thi đó. p  PHONGTHI, Count(ts  THISINH  ts.SoPT = p.SoPT) (ts.SoBD)  p.SucChua Cuối p hoặc cách khác: Count(ts  SINHVIEN  ts.SoPT = p.SoPT) (*)  p.SucChua  Bối cảnh: PHONGTHI, THISINH  Bảng tầm ảnh hưởng: Thêm Xóa Sửa PHONGTHI - - + (SucChua) THISINH + + + (SoPT) Câu 2: (0.75 điểm) ( (THISINH: SoPT= 'P07') (KETQUA:VangThi=0) MONTHI) [SoBD, HoTen, TenMT, DiemThi] Câu 3: (1.25 điểm) SELECT ts.SoBD, HoTen, TenMT, DiemThi FROM THISINH ts, MONTHI m, KETQUA k WHERE ts.SoBD = k.SoBD AND k.MaMT = m.MaMT AND k.VangThi=0 AND ts.SoPT = 'P07' AND m.NgayThi = #21/5/2006# ORDER BY ts.SoBD, TenMT ASC Câu 4: (0.5 điểm) SELECT ts.SoPT, count(ts.SoBD) as SoTSThi FROM THISINH ts GROUP BY ts.SoPT HAVING count(ts.SoBD)  all (SELECT count(SoBD) FROM THISINH GROUP BY SoPT) MaMT SoBD