BÀI TẬP LỚN MÔN HỆ ĐIỀU HÀNH CƠ SỞ DỮ LIỆU Đề tài XÂY DỰNG PHẦN MỀM QUẢN LÝ SINH VIÊN

66 15 0
BÀI TẬP LỚN MÔN HỆ ĐIỀU HÀNH CƠ SỞ DỮ LIỆU Đề tài XÂY DỰNG PHẦN MỀM QUẢN LÝ SINH VIÊN

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC THỦY LỢI KHOA CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN MÔN HỆ ĐIỀU HÀNH CƠ SỞ DỮ LIỆU Đề tài XÂY DỰNG PHẦN MỀM QUẢN LÝ SINH VIÊN Giáo viên hướng dẫn: Sinh viên thực hiện: LÊ HỒNG ÁNH Nguyễn Ngọc Quỳnh Châu VŨ THỊ MƠ HOÀNG NGỌC LAN Lớp 61pm2 NHẬN XÉT CỦA GIẢNG VIÊN MỤC LỤC LỜI NÓI ĐẦU Ngày nay, tin học có bước tiến nhanh chóng ứng dụng lĩnh vực sống phạm vi tồn giới nói chung Việt Nam nói riêng.Tin học người ta quan tâm nhắc đến nhiều hết phần khơng thể thiếu sống văn minh,góp phần đẩy mạnh cơng cơng nghiệp hố đại hoá đất nước, tiến đến kinh tế tri thức Máy vi tính với phần mềm công cụ đắc lực giúp ta quản lý, tổ chức, xếp xử lý công việc cách nhanh chóng xác Ở Việt Nam nay, máy tính điện tử đặc biệt máy vi tính nhiều năm qua sử dụng rộng rãi Sự phát triển tin học, công nghệ phần mềm, phần cứng, tải liệu tham khảo đưa bước tiếp cận với công nghệ thông tin lĩnh vực nhằm đáp ứng nhu cầu người Quản lý sinh viên đề tài khơng cịn mẻ với tốn quản lý Việc đưa tin học vào ứng dụng để quản lý hữu ích, phải bỏ thời gian mà lại thu hiệu cao, xác tiện lợi nhanh chóng Việc đưa tin học vào ứng dụng để quản lý hữu ích, phải bỏ thời gian mà lại thu hiệu cao, xác tiện lợi nhanh chóng.Trong phạm vi kiểm tra nhóm chúng em đề cập đến vấn đề “Quản lýsinh viên” Với khoảng thời gian khơng nhiều, vừa phân tích thiết kế, nghiên cứu tìm hiểu khai thác ngơn ngữ mới, vừa thực chương trình khó khăn chúng em Bởi “Quản lý sinh viên” đề tài có nội dung rộng, mặt khác khả am hiểu hệ thống nhóm em cịn nhiều hạn chế thiếu sót Vậy nên e kình mong góp ý , bổ sung để nhóm em hoàn thiện cho tập tốt LỜI CẢM ƠN Thời giạn học kỳ trôi qua nháy mắt, em học hỏi nhiều kiến thức chuyên ngành mới, tiếp xúc với nhiều loại kiến thức thực tế, hiểu nguyên tắc trình làm việc học tập nghiên cứu Em xin cảm ơn cô Nguyễn Ngọc Quỳnh Châu đào tạo giảng dạy cẩn trọng em thời gian vừa qua, thái độ làm việc nghiêm túc, tinh thần học tập chuyên nghiệp, đạo đức nhà giáo cao khơng mệt mỏi có tác động tích cực đến em mang lại lợi ích cho em sống Trong trình học tập trường, cô không hướng dẫn tận tình q trình nghiên cứu mà cịn giúp em cải thiện đáng kể khả nghiên cứu kỹ khác, đồng thời người quan tâm chăm sóc bổ sung kiến thức cịn thiếu cho em, điều làm cho em ngày hoàn thiện Trong giai đoạn khó khăn hướng dẫn tận tình nhiệt tình giúp đỡ em để em mở rộng tầm nhìn nâng cao khả chuyên ngành Tình cảm cao quý học tập hình mẫu mà em tơn trọng suốt đời, thời gian vừa qua cô người dạy cho em nhiều kiến thức kỹ thuật mới, điều không cho em đặt mục tiêu cao mà giúp em hiểu nguyên tắc sống, đồng thời giữ tinh thần sống, em tin giúp em nhiều cho công việc sau em Từ khâu chọn đề tài đến hoàn thành bước hướng dẫn tận tâm tận tình nhiều công sức cô, phong thái cao quý cô, nghiêm khắc, kỷ luật khoan dung với người khác truyền nhiễm sâu sắc cho em, khiến em hiểu nhiều điều đời Em xin bày tỏ lịng kính trọng biết ơn cao đến cơ! I:MƠ TẢ BÀI TỐN => Xây dựng chương trình “Quản lý sinh viên” nhằn hỗ trợ cho việc quản lý khoa,lớp,niên khóa,thơng tin ,điểm mơn học sinh viên: -Quản lý khoa Mỗi khoa có mã khoa để quản lý ,một tên khoa ghi nhận năm thành lập khoa -Quản lý lớp Một lớp có mã lớp để quản lý,Thuộc khoa mở cho niên khóa định -Quản lý niên khóa Mỗi niên khóa có mã đề quản lý ,năm bắt đầu năm kết thuc niên khóa -Quản lý Mơn Học Mỗi mơn học giảng dạy khoa học kì năm -Quản lý thơng tin sinh viên Mỗi sinh viên có mã để quản lý,Họ Tên,Ngày Sinh,Giới Tính,Quê Quán,Dân Tộc,Email,Số Điện Thoại -Quản lý Điểm thi sinh viên môn học Mỗi kết thi nhận điểm sinh viên làm cho mơn học theo điểm hệ 10 II.XÁC ĐỊNH QUY TẮC /RÀNG BUỘC, XÂY DỰNG MƠ HÌNH HỰC THỂ LIÊN KẾT ER - Bao gồm mô tả ràng buộc sau: Mỗi khoa có mã khoa để quản lý ,một tên khoa ghi nhận năm thành lập khoa Mỗi niên khóa có mã đề quản lý ,năm bắt đầu năm kết thuc niên khóa Mỗi lớp có nhiều sinh viên có mã để quản lý,Họ Tên,Ngày Sinh,Giới Tính,Q Qn,Dân Tộc,Email,Số Điện Thoại 4.Mỗi mơn học giảng dạy khoa học kì năm Mối mơn cần mã để quản lý,tên mơn ,số tín chỉ.Mỗi kết thi nhận điểm sinh viên làm cho mơn học theo điểm hệ 10 5.Một lớp có mã lớp để quản lý,Thuộc khoa mở cho khóa học định.Với lớp lưu thông tin : mã Lớp, tên lớp TruongHoc(MaKhoa, TenKhoa, NamThanhLap, MaNK,NamBD,NamKT, MaSV,HoTen,NgaySinh,GioiTinh,QueQuan,DanToc,Email,SDT, MaMH,TenMH,SoTinChi, MaLop,TenLop) Các loại thực thể thuộc tính chúng: - Khoa (MaKhoa, TenKhoa, NamThanhLap) 10 ('SV33','MH01',3), ('SV33','MH04',8.5), ('SV34','MH01',7), ('SV34','MH04',6.5), ('SV34','MH05',7), ('SV35','MH01',7), ('SV35','MH04',7), ('SV35','MH05',6) select *from Ketqua Insert into GiangKhoa values ('MK01','MH01',1980,1), ('MK01','MH02',1980,2), ('MK01','MH05',1981,1), ('MK01','MH06',1981,2), ('MK02','MH02',1980,1), ('MK02','MH03',1980,2), ('MK02','MH06',1981,1), ('MK03','MH03',1984,1), ('MK03','MH01',1984,2), ('MK04','MH01',1988,1), ('MK04','MH04',1988,2), ('MK04','MH06',1988,2), ('MK05','MH04',1988,1), ('MK05','MH05',1988,1), ('MK05','MH08',1988,2), ('MK06','MH01',1996,1), ('MK06','MH06',1996,2), ('MK06','MH09',1996,2), ('MK07','MH01',1996,1), ('MK07','MH07',1996,2), ('MK07','MH10',1996,2), ('MK08','MH05',1988,1), ('MK08','MH08',1988,2), ('MK09','MH09',1988,1), ('MK09','MH10',1988,2), ('MK10','MH01',1996,1), ('MK10','MH07',1996,1), ('MK10','MH10',1996,2) 52 C:THỰC HIỆN CÁC CÂU LỆNH TRUY VẤN VÀ PHÂN QUYỀN LÊ HỒNG ÁNH select *from GiangKhoa Viết thử tục lưu trữ sinh viên khoa Create proc svkhoa @tenkhoa nvarchar(200) as begin declare @makhoa char(10) select @makhoa=Khoa.MaKhoa from Khoa where Khoa.TenKhoa=@tenkhoa Select SinhVien.MaSV,SinhVien.HoTen from SinhVien,Lop Where Lop.MaLop=SinhVien.MaLop and Lop.MaKhoa=@makhoa end exec svkhoa N'Công nghệ thông tin' viết hàm trả tên môn khoa dạy năm học create function bangmon(@namhoc int) returns table as return (select MonHoc.TenMH from MonHoc,GiangKhoa where MonHoc.MaMH=GiangKhoa.MaMH and GiangKhoa.NamHoc=@namhoc) select * from bangmon(1980); 53 viết trỏ đếm số sinh viên dân tộc kinh declare con_tro_sinh_vien cursor Dynamic Scroll for select count(*) from SinhVien where DanToc=N'Kinh' Open con_tro_sinh_vien; declare @SoSV int; set @SoSV =0; Fetch First from con_tro_sinh_vien While (@@FETCH_STATUS=0) Begin set @SoSV=@SoSV + Fetch Next from con_tro_sinh_vien End print N'Số sinh viên: ' + cast(@SoSV as char(4)); Close con_tro_sinh_vien; DeAllocate con_tro_sinh_vien; tạo khung nhìn MaSV,HoTen,TenLop,TenKhoa create view viewSV(MaSV,HoTen,TenLop,TenKhoa) as select SinhVien.MaSV,SinhVien.HoTen,Lop.TenLop,Khoa.TenKhoa from SinhVien,Lop,Khoa where SinhVien.MaLop=Lop.MaLop and Khoa.MaKhoa=Lop.MaKhoa select* from viewSV 54 trigg insert bảng KetQua Create Trigger Trig_SV on KetQua for insert as if (( select DiemThi from inserted) is not null) Begin print 'bạn thêm thành công' end Insert into KetQua values ('SV01','MH10',10) tạo giao dịch chuyển số tín mơn 'Tốn rời rạc' từ thành begin tran MH 55 update MonHoc set SoTinChi=2 where TenMH=N'Toán rời rạc' if(not exists(select * from MonHoc where TenMH=N'Toán rời rạc')) rollback tran MH else commit tran MH print N'chuyển thành công' select* from MonHoc phân quyền tạo login user nqchau anh sp_addlogin 'nqchau', '123456' sp_addlogin 'anh', '123456' tạo role giangvien Cấp quyền cho role giangvien xem,thêm ,sửa ,xóa bảng KetQua sp_addrole giangvien GRANT SELECT,DELETE,INSERT ,UPDATE ON KetQua to giangvien tạo role sinhvien Cấp quyền cho role sinhvien xem bảng KetQua sp_addrole sinhvien grant select on KetQua TO sinhvien Thêm user 'nqchau' vào role 'giangvien',Thêm user 'anh' vào role 'sinhvien' sp_addrolemember 'giangvien', 'nqchau' sp_addrolemember 'sinhvien', 'anh' VŨ THỊ MƠ /* Câu 1: viết thủ tục sp_update_sv có tham số dùng để cập nhật liệu cho sinh viên biết MaSV bảng SinhVien*/ create procedure cau1 @MaSV char(10), @MaLop varchar(30), @HoTen nvarchar(100),@NgaySinh date,@GioiTinh nvarchar(10),@QueQuan nvarchar(50), @DanToc nvarchar(30),@Email nvarchar(20),@SDT float as begin update SinhVien set MaSV=@MaSV , HoTen=@HoTen,NgaySinh=@NgaySinh,GioiTinh=@GioiTinh,QueQuan=@Q ueQuan,DanToc=@DanToc, 56 Email=@Email ,SDT=@SDT where MaSV=@MaSV end exec cau1 'SV01','L001',N'Hoàng Ngọc Lan','11/07/2001',N'nữ',N'Hà Nội',N'Kinh','lanhoaiquy@gmail.com',0399612138; select* from SinhVien; Câu Viết function Với mã sinh viên mã khoa ,kiểm tra xem sinh viên có thuộc khoa không(trả sai) create function kt_check_SV_IN_Khoa ( @masv varchar(10), @makhoa varchar(10) ) returns varchar(5) as begin declare @ketqua varchar(5); if(exists(select *from SinhVien left join Lop ON Lop.MaLop=SinhVien.MaLop left join Khoa on Lop.MaKhoa = Khoa.MaKhoa where SinhVien.MaSV=@masv and Khoa.MaKhoa = @makhoa ) ) set @ketqua='true' else set @ketqua='false' 57 return @ketqua end select dbo.kt_check_SV_IN_Khoa('SV06',N'Công Nghệ Thông Tin') Câu 3:viết trigger để ko cho phép cập nhật giá trị cột MaSV create trigger trig_cau3 on SinhVien for update as begin if(update(MaSV)) begin print N'Bạn không đc phép cập nhật cột masv' rollback tran; end else print N'bạn cập nhật thành công'; end select*from SinhVien update SinhVien set QueQuan =N'Hà Nội' where GioiTinh=N'Nam'; câu 4:tạo view kết thi lấy liệu MaSV ,HoTen,MaMon,Diem, từ bảng SinhVien,MonHoc,KetQua create view KQThi as select SinhVien.MaSV,HoTen,MonHoc.MaMH,TenMH,SoTinChi,DiemThi from SinhVien left join KetQua on SinhVien.MaSV = KetQua.MaSV left join MonHoc on KetQua.MaMH = MonHoc.MaMH 58 select *from KQThi câu sử dụng cursor để hiển thị danh sách MaSV,HoTen,GioiTinh declare con_tro_SV cursor DYNAMIC SCROLL for select MaSV,HoTen,GioiTinh from SinhVien open con_tro_SV; declare @HoTen nvarchar(50), @MaSV varchar(7), @GioiTinh nvarchar(3); FETCH NEXT from con_tro_SV into @MaSV,@HoTen, @GioiTinh while (@@FETCH_STATUS=0) begin print @MaSV + ' ' + @HoTen + ' ' + @GioiTinh FETCH NEXT from con_tro_SV into @MaSV,@HoTen, @GioiTinh end close con_tro_SV ; DeAllocate con_tro_SV; 59 câu 6: viết giao dịch thực chuyển số tín mơn Hệ quản trị csdl từ thành tín Begin Tran monhoc Update MonHoc set SoTinChi=4 where TenMH =N'Hệ quản trị csdl' IF(not exists (select * from MonHoc where TenMH =N'Hệ quản trị csdl')) Begin print N' Hủy thực chuyển' ROLLBACK TRAN monhoc End ELSE Begin print N'thực chuyển' commit tran monhoc End select * from MonHoc 60 câu 7:Phân quyền Tạo login giaovien,có pass :1234 sp_addlogin 'giaovien', '1234' tạo user 'VuMo' sp_grantdbaccess 'giaovien', 'VuMo' với tư cách admin tạo role 'gvien',cấp quyền select,insert,delete,update bảng KetQua cho role sp_addrole 'gvien' GRANT select,insert,delete,update ON KetQua to gvien thêm user 'VuMo' vào role 'gvien' sp_addrolemember 'gvien', 'VuMo' HOÀNG NGỌC LAN I,HÀM a, Viết hàm để trả số sinh viên thi lại mơn học (tham số vào mã môn) gọi hàm để hiển thị số sv thi lại môn hệ quản trị csdl Create function Func_cau1 (@MaMon char(5)) Returns int as begin declare @SV_thilai int Select @SV_thilai = (Select COUNT(MaSV) from KetQua,MonHoc where MonHoc.MaMh=@mamon AND KetQua.MaMH=MonHoc.MaMH and DiemThi

Ngày đăng: 06/01/2022, 14:24

Hình ảnh liên quan

Bước 1: Các thực thể (trừ thực thể yếu) -> các bảng/quan hệ - BÀI TẬP LỚN MÔN HỆ ĐIỀU HÀNH CƠ SỞ DỮ LIỆU Đề tài XÂY DỰNG PHẦN MỀM QUẢN LÝ SINH VIÊN

c.

1: Các thực thể (trừ thực thể yếu) -> các bảng/quan hệ Xem tại trang 25 của tài liệu.
-- trigg insert bảng KetQua - BÀI TẬP LỚN MÔN HỆ ĐIỀU HÀNH CƠ SỞ DỮ LIỆU Đề tài XÂY DỰNG PHẦN MỀM QUẢN LÝ SINH VIÊN

trigg.

insert bảng KetQua Xem tại trang 55 của tài liệu.

Tài liệu cùng người dùng

Tài liệu liên quan