Thực hành quản lý thông tin lab 6 LỚP IE103 M21 HỌ VÀ TÊN Nguyễn Thanh Hiếu MSSV 20521328 Dựa vào CSDL đã thiết kế ở BTTH số 2, hãy thực hiện các yêu cầu sau Câu 1 Liệt kê các thực thể có mặt trong CSDL trên Các thực thể có trong CSDL là SINHVIEN, DETAI, HOCVI, HOCHAM, GIAOVIEN, CHUYENNGANH, HOIDONG Câu 2 Mô tả lược đồ quan hệ cho CSDL trên Vẽ sơ đồ Diagram cho các quan hệ trên (sử dụng chức năng tạo Diagram trong SQL Server) Mô tả lược đồ quan hệ SINHVIEN(MSSV, TENSV, SODT, LOP, DIACHI) DETAI(.
Thực hành quản lý thông tin lab HỌ VÀ TÊN: Nguyễn Thanh Hiếu LỚP: IE103.M21 MSSV: 20521328 Dựa vào CSDL thiết kế BTTH số 2, thực yêu cầu sau: Câu 1: Liệt kê thực thể có mặt CSDL - Các thực thể có CSDL là: SINHVIEN, DETAI, HOCVI, HOCHAM, GIAOVIEN, CHUYENNGANH, HOIDONG Câu 2: Mô tả lược đồ quan hệ cho CSDL Vẽ sơ đồ Diagram cho quan hệ (sử dụng chức tạo Diagram SQL Server) Mô tả lược đồ quan hệ: - SINHVIEN(#MSSV, TENSV, SODT, LOP, DIACHI) - DETAI(#MSDT, TENDT) - HOCVI(#MSHV, TENHV) - HOCHAM(#MSHH, TENHH) - SV_DETAI(#MSSV, #MSDT) - GIAOVIEN(#MSGV, TENGV, DIACHI, SODT, #MSHH, NAMHH) - CHUYENNGANH(#MSCN, TENCN) - GV_HV_CN(#MSGV, #MSHV, #MSCN, NAM) - GV_HDDT(#MSGV, #MSDT, DIEM) - GV_PBDT(#MSGV, #MSDT, DIEM) - GV_UVDT(#MSGV, #MSDT, DIEM) - HOIDONG(#MSHD, PHONG, TGBD, NGAYHD, TINHTRANG, #MSGV) - HOIDONG_GV(#MSHD, #MSGV) - HOIDONG_DT(#MSHD, #MSDT, QUYETDINH) SINHVIEN MSSV TENSV SODT LOP SV_DETAI MSSV MSDT GV_PBDT MSGV MSDT DETAI MSDT TENDT GV_UVDT MSGV MSDT DIEM DIEM HOIDONG_DT GV_HDDT MSHD MSGV MSDT MSDT QUYETDINH DIEM HOIDONG MSHD PHONG HOIDONG_GV MSHD TGBD MSGV NGAYHD TINHTRANG GV_HV_CN MSGV CHUYENNGANH MSHV MSCN MSGV MSCN TENCN TENGV NAM GIAOVIEN DIACHI SODT MSHH HOCVI MSHV TENHV HOCHAM MSHH TENHH Câu 3: Hiện thực ràng buộc sau Yêu cầu phát biểu ràng buộc, vẽ bảng tầm ảnh hưởng, sau thực SQL Server 3.1 Một sinh viên tham gia đề tài Bảng tầm ảnh hưởng SINHVIEN DETAI SV_DT Thêm +(MSSV, MSDT) Sửa +(MSSV, MSDT) Xóa - (*) - (*) - create trigger TG_THEMSV_thamgia1detai on SV_DETAI FOR INSERT AS BEGIN declare @sldt int, @msdt char(60), @mssv char(8) select @mssv = MSSV from inserted select @sldt = COUNT(MSDT) from SV_DETAI where MSSV=@mssv if(@sldt>1) begin print N'Loi, sinh vien chi tham gia de tai' rollback transaction end end create trigger TG_SUASV_thamgia1detai on SV_DETAI FOR UPDATE AS BEGIN declare @sldt int, @msdt char(60), @mssv char(8) select @mssv = MSSV from inserted select @sldt = COUNT(MSDT) from SV_DETAI where MSSV=@mssv if(@sldt>1) begin print N'Loi, sinh vien chi tham gia de tai' rollback transaction end end 3.2 Một đề tài khơng có sinh viên tham gia Bảng tầm ảnh hưởng SINHVIEN DETAI SV_DT Thêm + Sửa + create trigger TGTHEM_DTkhongqua3SV on SV_DETAI for INSERT as begin if (select count(t1.mssv) from SV_DETAI t1, INSERTED t2 where t1.msdt = t2.msdt) >3 begin print 'Khong the qua tren de tai' rollback transaction end end create trigger TGSUA_DTkhongqua3SV on SV_DETAI for INSERT, UPDATE as Xóa -(*) -(*) - begin if (select count(t1.mssv) from SV_DETAI t1, INSERTED t2 where t1.msdt = t2.msdt) >3 begin print 'Khong the qua tren de tai' rollback transaction end end 3.3 Điểm đề tài thang điểm từ đến 10 Thêm Sửa GV_HDDT + +(DIEM) GV_PBDT + +(DIEM) GV_UVDT + +(DIEM) alter table GV_HDDT ADD CONSTRAINT CHECK_1 CHECK(0