BÀI TẬP GIỮA KỲ Mơn: CSDL Nâng cao Lưu ý § Sinh viên khi nộp bài cần lưu file sql có cấu trúc như sau : _.sql o Ví dụ:Sinh viên có tên là Nguyen Văn A, mã số sinh viên là 16258, thì file của sinh viên khi nộp lên cho giảng viên có tên như sau: NguyenVanA_16258.sql Yêu cầu 1.1 Hãy tạo CSDL có tên là TVDHXD_ và sử dụng CSDL đó 1.2 Viết lệnh DDL để tạo các bảng sau cho cơ sở dữ liệu trên Lớp (Lop) Tên cột MaLop TenLop Kiểu Int NVarChar Độ rộng 100 Ràng buộc Khóa chính, tự tăng(identity) NOT NULL, Khơng trùng Ý nghĩa Mã lớp Tên lớp Ràng buộc Khóa chính, tự tăng(identity) Ý nghĩa Mã sinh viên NOT NULL NOT NULL NULL, Mặc định Tên sinh viên Mã lớp Giới tính Sinh viên (SinhVien) • Tên cột MaSV Kiểu Int TenSV MaLop GioiTinh NVarChar Int Bit Độ rộng 100 Giá trị cột MaLop phải tồn cột MaLop bảng Lop Sách (Sach) Tên cột MaSach TenSach SoTrang Loại SoLuong Kiểu Int NVarChar Int NVarChar Int Độ rộng 100 30 Ràng buộc Khóa chính, tự tăng(identity) NOT NULL, khơng trùng NOT NULL, >0 NULL NOT NULL, >=0, mặc định = Ý nghĩa Mã sách Tên sách Số trang Loại Số lượng Mượn (Muon) Tên cột MaMuon MaSach MaSV NgayMuon NgayTra Kiểu Int Int Int Date (SQL Server 2005: datetime) Date (SQL Server 2005 : datetime) Độ rộng Ràng buộc Khóa chính, tự tăng(identity) NOT NULL NOT NULL NOT NULL, giá trị mặc định ngày NULL, NgayTra phải sau NgayMuon Ý nghĩa Mã mượn Mã sách Mã sinh viên Ngày mượn Ngày trả, sách chưa trả trường = NULL • Giá trị cột MaSach phải tồn cột MaSach bảng Sach • Giá trị cột MaSV phải tồn cột MaSV bảng SinhVien 1.3 Sinh viên chèn dữ liệu như sau Lớp (Lop) MaLop TenLop 59PM1 59PM2 59PM3 TenSV Tuấn Quang Trang Lâm Lan MaLop 2 Sinh viên (SinhVien) MaSV GioiTinh NULL Sách (Sach) MaSach TenSach Cơ sở liệu Lập trình hướng đối tượng SQL Server 2012 Lập trình PHP Nhận dạng xử lý tiếng nói SoTrang 100 80 250 80 300 Loai NULL NULL NULL NULL NULL SoLuong Mượn (Muon) MaMuon MaSach 1 4 MaSV 2 2 NgayMuon 03/23/2015 04/02/2015 09/10/2015 10/22/2015 12/22/2015 12/29/2015 12/30/2015 NgayTra 05/24/2015 06/22/2015 NULL NULL 01/03/2016 NULL NULL 1.4 Sinh viên thực hiện các truy vấn sau 1) Cập nhật trường Loại của bảng SACH bằng một câu lệnh duy nhất theo quy tắc: o Loại = ‘Mỏng’ nếu số trang < 90 o Loại = ‘Dày’ nếu số trang >=90 2) Liệt kê danh sách các sinh viên mượn nhiều hơn một cuốn sách gồm các thơng tin : Mã Sinh Viên, Tên Sinh Viên 3) Liệt kê những cuốn sách đã được mượn q 100 ngày mà chưa trả(so sánh với ngày giờ hiện tại – sinh viên lưu ý ngày giờ máy tính của sinh viên có thể khơng đúng) gồm các thơng tin : Mã Sách, Tên Sách, Tên Sinh Viên Mượn, Ngày Mượn 4) Cho biết những sách được mượn từ ngày 01/01/2015 đến 31/10/2015 gồm : Mã Sách, Tên Sách 5) Liệt kê danh sách các sinh viên của lớp 59PM1 gồm : Mã Sinh Viên, Tên Sinh Viên, Giới Tính Trong đó Giới Tính là Nam/Nữ/Khơng biết tuỳ theo trường GioiTinh là 1/0/NULL (Để kiểm tra NULL dùng is NULL) 6) Thống kê số sinh viên của từng lớp gồm các thơng tin : Mã Lớp, Tên Lớp, Số Sinh Viên 7) Cho biết lớp có nhiều sinh viên nhất gồm: Mã Lớp, Tên Lớp, Số Sinh Viên 8) Thống kê số lượng sách đã từng được mượn của sinh viên thuộc lớp 58PM2 gồm các thơng tin : Mã Lớp, Tên Lớp, Số Sác Đã Mượn 9) Cho biết tổng số lượt mượn của các sách có loại là “Mỏng” 10) Cho biết sách thuộc loại “Dày” được muợn nhiều nhất gồm các thơng tin: Mã sách, Tên Sách, Số Trang 11) Cho biết các cuốn sách cố số lượt mượn lớn hơn trung bình số lượt mượn của tất cả các cuốn sách Thơng tin đưa ra gồm có: Mã Sách, Tên Sách, Số Lượt Mượn 12) Cho biết danh sách sinh viên đã từng mượn một cuốn sách nào đó gồm: Mã Sinh Viên, Tên Sinh Viên, Trong đó giá trị mã sách cần xem danh sách sinh viên là tham số được đưa vào khi thực thi