Cho cơ sở dữ liệu như sau, thuộc tính gạch chân là khóa chính, gạch nét đứt là khóa ngoại:
Cho cơ sở dữ liệu như sau, thuộc tính gạch chân là khóa chính, gạch nét đứt là khóa ngoại:
SV(MSSV, HOTEN, PHAI, MaLop) lưu thông tin của SV.
PHIEUDK(SOPDK, NgayDK, MASSV) lưu thông tin về phiếu đăng ký môn học của SV.
MONHOC(MAMH, TENMH, TCLT, TCTH) lưu thông tin về môn học, TCLT: tín chỉ lý
thuyết, TCTH: tín chỉ thực hành.
CTPDK(SOPDK, MAMH) lưu thông tin chi tiết SV đăng ký các môn học.
Câu hỏi:
1) Tạo view V1 thực hiện công việc: hiển thị mã môn học, tên môn học, cùng tổng số SV đã
đăng ký môn học đó.
2) Tạo view V2 thực hiện công việc: hiển thị tên các môn học chưa được SV nào đăng ký.
3) Tạo procedure P1 thực hiện công việc: Nhận tham số truyền vào là ngày (ngày/tháng/năm),
trả về tổng số phiếu đã đăng ký môn học trong ngày đó.
4) Tạo function F1 nhận vào tham số là mã môn học, trả về số lượng SV đã đăng ký môn học
đó.
5) Tạo function F2 hiển thị mã môn học, tên môn học cùng tổng số SV đã đăng ký môn học đó
với mã môn học là tham số truyền va, nếu mã môn học truyền vào là NULL thì in ra tổng số
SV đăng ký cho tất cả các môn học.
6) Giả sử mỗi đợt đăng ký môn học, SV không được đăng ký quá 5 môn. Hãy tạo trigger T1
cho phép kiểm tra ràng buộc này.