Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 32 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
32
Dung lượng
659,79 KB
Nội dung
ĐẠI HỌC THỦY LỢI KHOA CÔNG NGHỆ THÔNG TIN MÔN HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU BÁO CÁO BÀI TẬP LỚN Đề tài : XÂY DỰNG PHẦN MỀM QUẢN LÝ TRUNG TÂM TIẾNG ANH Hà Nội Trang 1/ 32 MỤC LỤC Lời nói đầu I BÀI TỐN ĐẶT RA VÀ YÊU CẦU CỦA HỆ THỐNG II PHÂN TÍCH HỆ THỐNG 1.1 Giới thiệu đề tài: 1.2 Yêu cầu chung toán: 1.3 Cách thức giải toán: 1.4 Phát biểu nghiệp vụ tốn: 4 4 2.1 Phân tích chức hệ thống 2.2 Người sử dụng hệ thống III XÂY DỰNG MƠ HÌNH THỰC THỂ LIÊN KẾT ER 3.1 Xác định quy tắc ràng buộc 3.2 Xác định thực thể, thuộc tính liên kết 3.3 Xây dựng mơ hình thực thể liên kết ER 10 IV CHUYỂN TỪ MƠ HÌNH THỰC THỂ LIÊN KẾT SANG MƠ HÌNH QUAN HỆ V MƠ HÌNH HỆ THỐNG VI CÂU LỆNH TRUY VẤN SQL 10 13 15 5.1 Tạo thêm liệu vào bảng 5.2 Thực câu lệnh truy vấn 15 21 5.2.1 Thủ tục (Procedure) 5.2.2 Hàm (Function) 5.2.3 Trigger 5.2.4 View 5.2.5 Con trỏ 5.2.6 Phân quyền cho người dùng 5.2.7 Transaction VII TÀI LIỆU THAM KHẢO 21 23 25 27 29 30 31 31 Trang 2/ 32 Lời nói đầu Hiện nay, cơng nghệ thơng tin xem ngành mũi nhọn quốc gia, đặc biệt quốc gia phát triển, tiến hành công nghiệp hóa đại hóa nước ta Sự bùng nổ thông tin phát triển mạnh mẽ công nghệ kỹ thuật số, yêu cầu muốn phát triển phải tin học hóa tất ngành, lĩnh vực Cùng với phát triển nhanh chóng phần cứng máy tính, phần mềm ngày trở nên đa dạng, phong phú, hoàn thiện hỗ trợ hiệu cho người Các phần mềm ngày mô nhiều nghiệp vụ khó khăn, hỗ trợ cho người dùng thuận tiện sử dụng, thời gian xử lí nhanh chóng, số nghiệp vụ tự động hóa cao Ví dụ việc quản lí trung tâm Tiếng Anh Nếu khơng có hỗ trợ tin học, việc quản lí phải cần nhiều người, chia thành nhiều khâu, quản lí tồn học viên( thơng tin, điểm số, lộ trình học, ), lớp học( sĩ số, giáo viên giảng dạy ), giảng viên, quy trình quản lý trung tâm Các cơng việc địi hỏi nhiều thời gian cơng sức, mà xác hiệu khơng cao, đa số làm thủ cơng tự động Một số nghiệp vụ tra cứu, thống kê, hiệu chỉnh thơng tin vất vả Ngồi cịn số khó khăn vấn đề lưu trữ đồ sộ, dễ bị thất lạc, tốn kém, Trong đó, nghiệp vụ hồn tồn tin học hóa cách dễ dàng Với giúp đỡ tin học, việc quản lí học vụ trở nên đơn giản, thuận tiện, nhanh chóng hiệu nhiều Mục tiêu báo cáo nêu rõ đặc tả yêu cầu hệ thống, phân tích, thiết kế để xây dựng phần mềm quản lý trung tâm Tiếng Anh phục vụ cho việc quản lý hoàn toàn tự động máy tính Trang 3/ 32 I 1.1 BÀI TỐN ĐẶT RA VÀ YÊU CẦU CỦA HỆ THỐNG Giới thiệu đề tài: Như biết, nhiều trung tâm Tiếng Anh mở lên nhằm đào tạo, cải thiện kỹ Tiếng Anh người Trong trung tâm Tiếng Anh cần giải nhiều vấn đề đồng thời để giải vấn đề cần nhiều phận quản lý nhân viên, giảng viên, …Đặc biệt vào mùa hè lượng học viên tăng cao, số lượng học viên đơng Vì u cầu đặt : Phải để tiết kiệm thời gian, nguồn nhân lực, bảo mật hệ thống quản lý, đáp ứng đủ nhu cầu học viên, giảng viên,…? 1.2 Yêu cầu chung toán: Đặc tả yêu cầu, chức năng: Quản lý điểm học viên, quản lý học phí học viên khóa học, quản lý khen thưởng giảng viên, quản lý tài liệu, cấp độ, khóa học 1.3 Cách thức giải tốn: Tìm hiểu quy tắc nghiệp vụ, yêu cầu đặt đề tài Các ngơn ngữ lập trình sở liệu Xây dựng phần mềm Tiến hành kiểm tra chạy thử 1.4 Phát biểu nghiệp vụ toán: Quản lý học viên: Nhân viên quản lý trung tâm có quyền tìm kiếm học viên, in danh sách học viên, thêm học viên mới, sửa thông tin học viên, xóa học viên nghỉ học Quản lý khen thưởng: Mỗi giảng viên có mức khen thưởng khác nhau, nhân viên quản lý trung tâm có quyền bổ sung thêm giảng viên khen thưởng Quản lý lớp: Nhập thơng tin lớp, sửa chữa thơng tin, xóa bỏ lớp học xong Quản lý điểm thi: Giảng viên có quyền cập nhật điểm thi học viên, tìm kiếm điểm thi theo học viên Quản lý học phí: Nhập mức học phí tùy theo cấp độ mà trung tâm có, sửa chữa thông tin Quản lý cấp độ: Các cấp độ mà trung tâm có dành cho khóa học lưu lại hệ thống Đồng thời hệ thống quản lý liệu cấp độ Quản lý khóa học: Bổ sung khóa học thường xuyên Các khóa học mà trung tâm có lưu lại hệ thống Đồng thời hệ thống quản lý liệu Quản lý tài liệu: Cập nhật số lượng tài liệu thường xuyên điều chỉnh nội dung phù hợp với cấp độ II PHÂN TÍCH HỆ THỐNG 2.1 Phân tích chức hệ thống Trang 4/ 32 Hình 1: Mơ hình chức hệ thống 2.2 Người sử dụng hệ thống ⮚ Nhân viên: Nhân viên quản lý học viên, quản lý khen thưởng quản lý lớp Nhân viên có quyền truy cập vào tất chức hệ thống học viên, khen thưởng lớp Cập nhật, sửa đổi, bổ sung cần thiết ⮚ Giảng viên: Giảng viên có quyền truy cấp chức điểm học viên Cập nhật điểm thi, sửa đổi thống kê điểm học viên ⮚ Học viên: Học viên tương tác với phần mềm qua mã học viên, xem trực tiếp điểm III XÂY DỰNG MƠ HÌNH THỰC THỂ LIÊN KẾT ER 3.1 Xác định quy tắc ràng buộc a) Trung tâm có nhiều giảng viên (GIANGVIEN) Mỗi giảng viên có mã (MaGV) tên giảng viên (tenGV), số điện thoại giảng viên (SdtGV) số buổi giảng dạy giảng viên (SobuoiGD) b) Mỗi giảng viên giảng dạy nhiều lớp (LOP) Mỗi lớp dạy nhiều giảng viên Thuộc tính (NgayGD) thuộc tính kiểu liên kết dùng để ghi lại ngày giảng dạy giảng viên giảng dạy lớp Mỗi lớp có mã lớp (MaLop) nhất, thời gian mở (TgianMo), thời gian kết thúc (TgianKetthuc), mức học viên dự kiến (HVDK) c) Một lớp có nhiều học viên (HOCVIEN) Mỗi học viên có mã học viên (MaHV) nhất, tên học viên (TenHV), ngày sinh(Ngaysinh), giới tính(Gioitinh) có số điện thoại riêng dành cho học viên (SDTHocvien) Trang 5/ 32 d) Mỗi học viên học tập trung tâm đăng ký khóa học (KHOAHOC) Mỗi khóa học có mã khóa học(MaKH), tên khóa học (TenKH) mơ tả khóa học (MotaKH) e) Trong khóa học có nhiều cấp độ (CAPDOKH) để phù hợp với nguyện vọng đăng ký học viên, cấp độ phụ trách nhiều giảng viên lớp dạy cấp độ Mỗi cấp độ bao gồm có mã cấp độ (MaCD), tên cấp độ (TenCD) f) Mỗi nhân viên (NHANVIEN) quản lý lớp Trong nhân viên lưu lại thơng tin nhân viên có mã nhân viên (MaNV) nhất, tên nhân viên (TenNV) số buổi làm (số buổi quản lý lớp) nhân viên (SobuoiQL) g) Lưu lại thông tin nhân viên quản lý trực tiếp nhân viên Người quản lý trực tiếp nhân viên gọi NVQL h) Mỗi cấp độ có mức học phí (HOCPHI) khác Mỗi mức học phí ta lưu lại thông tin tổng tiền (Tongtien) cấp độ i) Mỗi giảng viên mức khen thưởng (KHENTHUONG) sau kết thúc khóa học Trong khen thưởng có mã khen thưởng (MaKT) mức độ khen thưởng phù hợp với giảng viên (MucdoKT) j) Với cấp độ ứng với nhiều tài liệu (TAILIEU) Mỗi tài liệu có mã tài liệu (MaTL) tên tài liệu (TenTL) k) Mỗi học viên tham gia nhiều thi phù hợp với cấp độ mà học viên đăng ký Bảng thi (THI) lưu lại điểm học viên (DiemCD) sau thi l) Bảng đăng nhập (ACCOUNT) để lưu lại tài khoản 3.2 Xác định thực thể, thuộc tính liên kết a) Trung tâm có nhiều giảng viên (GIANGVIEN) Mỗi giảng viên có mã (MaGV) tên giảng viên (tenGV), số điện thoại giảng viên (SdtGV) số buổi giảng dạy giảng viên (SobuoiGD) ► GIANGVIEN (MaGV, TenGV, SdtGV, SobuoiGD) b) Mỗi giảng viên giảng dạy nhiều lớp (LOP) Mỗi lớp dạy nhiều giảng viên Thuộc tính (NgayGD) thuộc tính kiểu liên kết dùng để ghi lại ngày giảng dạy giảng viên giảng dạy lớp Mỗi lớp có mã lớp (MaLop) nhất, thời gian mở (TgianMo), thời gian kết thúc (TgianKetthuc), mức học viên dự kiến (HVDK) ► LOP (MaLop, TgianMo, TgianKetthuc, HVDK) Trang 6/ 32 c) Một lớp có nhiều học viên (HOCVIEN) Mỗi học viên có mã học viên (MaHV) nhất, tên học viên (TenHV), ngày sinh(Ngaysinh), giới tính(Gioitinh) có số điện thoại riêng dành cho học viên (SDTHocvien) ► HOCVIEN (MaHV, TenHV, NgaySinh, Gioitinh, SDTHocvien) d) Mỗi học viên học tập trung tâm đăng ký khóa học (KHOAHOC) Mỗi khóa học có mã khóa học(MaKH), tên khóa học (TenKH) mơ tả khóa học (MotaKH) ► KHOAHOC (MaKH, TenKH, MotaKH) e) Trong khóa học có nhiều cấp độ (CAPDOKH) để phù hợp với nguyện vọng đăng ký học viên, cấp độ phụ trách nhiều Trang 7/ 32 giảng viên lớp dạy cấp độ Mỗi cấp độ bao gồm có mã cấp độ (MaCD), tên cấp độ (TenCD) ► CAPDOKH (MaCD, TenCD) f) Mỗi nhân viên (NHANVIEN) quản lý lớp Trong nhân viên lưu lại thơng tin nhân viên có mã nhân viên (MaNV) nhất, tên nhân viên (TenNV) số buổi làm (số buổi quản lý lớp) nhân viên (SobuoiQL) g) Lưu lại thông tin nhân viên quản lý trực tiếp nhân viên Người quản lý trực tiếp nhân viên gọi NVQL ► NHANVIEN (MaNV, TenNV, SobuoiQL, NVQL) Nhân viên gọi nhân viên quản lý (NVQL) h) Mỗi cấp độ có mức học phí (HOCPHI) khác Mỗi mức học phí ta lưu lại thơng tin tổng tiền (Tongtien) cấp độ ► HOCPHI (Tongtien) Trang 8/ 32 i) Mỗi giảng viên mức khen thưởng (KHENTHUONG) sau kết thúc khóa học Trong khen thưởng có mã khen thưởng (MaKT) mức độ khen thưởng phù hợp với giảng viên (MucdoKT) ► KHENTHUONG (MaKT, MucdoKT) j) Với cấp độ ứng với nhiều tài liệu (TAILIEU) Mỗi tài liệu có mã tài liệu (MaTL) tên tài liệu (TenTL) ► TAILIEU (MaTL, TenTL) k) Mỗi học viên tham gia nhiều thi phù hợp với cấp độ mà học viên đăng ký Bảng thi (THI) lưu lại điểm học viên (DiemCD) sau thi ► THI (DiemCD) Trang 9/ 32 l) Bảng đăng nhập (ACCOUNT) để lưu lại tài khoản ► ACCOUNT (Tendangnhap, Matkhau, Vaitro) 3.3 Xây dựng mơ hình thực thể liên kết ER Hình 2: Mơ hình liên kết thực thể ER IV CHUYỂN TỪ MƠ HÌNH THỰC THỂ LIÊN KẾT SANG MƠ HÌNH QUAN HỆ Bước 1: Các thực thể (trừ thực thể yếu) → bảng /quan hệ GIANGVIEN (MaGV, TenGV, SdtGV, SobuoiGD) Trang 10/ 32 Thêm liệu bảng NHANVIEN Insert into NHANVIEN Values ('NV01',N'Đức Anh',5,'NVQL01'), ('NV02',N'Thanh Huyền',4,''), ('NV03',N'Diệu Châu',10,''), ('NV04',N'Bảo Trinh',8,'NVQL02'), ('NV05',N'Văn Lâm',6,'NVQL03'); Select * From LOP Thêm liệu bảng LOP Insert into LOP Values ('L01','2020/06/14','2020/07/14',30,'NV01'), ('L02','2020/06/14','2020/07/14',35,'NV01'), ('L03','2020/12/5','2021/1/5',30,'NV02'), ('L04','2021/05/14','2021/06/14',40,'NV03'), ('L05','2021/08/11','2021/09/11',30,'NV04'), ('L06','2021/11/12','2021/12/12',35,'NV01'); Select * From HOCVIEN Thêm liệu bảng HOCVIEN Insert into HOCVIEN Values ('HV01',N'Thúy Hằng','2010/10/10',N'Nữ',1234,'K01','L01'), ('HV02',N'Quốc Hiệp','2008/03/07',N'Nam',1235,'K02','L05'), ('HV03',N'Đức Hải','2009/12/25',N'Nam',4234,'K03','L02'), ('HV04',N'Huy Hoàng','2010/02/25',N'Nam',5634,'K04','L01'), ('HV05',N'Văn Thắng','2007/11/15',N'Nam',1674,'K05','L02'), ('HV06',N'Mỹ Linh','2010/10/04',N'Nữ',1298,'K06','L03'), ('HV07',N'Nguyễn Thúy','2008/12/05',N'Nữ',7334,'K07','L04'), ('HV08',N'Hoàng Dương','2009/02/24',N'Nam',1924,'K08','L05'), ('HV09',N'Nguyễn Cương','2010/11/17',N'Nam',1934,'K09','L04'), ('HV10',N'Xuân Chiến','2008/12/16',N'Nam',1904,'K10','L04'); Select * From KHOAHOC Thêm liệu bảng KHOAHOC Insert into KHOAHOC Values ('K01','Ielts 7.5',N'Cam kết đầu ra'), Trang 18/ 32 ('K02','Toeic',N'Đảm bảo chất lượng'), ('K03','Communicate',N'Giao tiếp với người xứ'), ('K04','Listening',N'Học phí kèm sách vở'), ('K05','Ielts 6.0',N'Cam kết đầu ra'), ('K06','Speaking',''), ('K07','Ielts 8.0',N'Cam kết đầu ra'), ('K08','',N'Đảm bảo chất lượng'), ('K09','Writing',N'Giao tiếp với người xứ'), ('K10','Ieltes 5.0',N'Học phí kèm sách vở'); Select * From CAPDOKH Thêm liệu bảng CAPDOKH Insert into CAPDOKH Values ('Level 1','Start','L01','K01'), ('Level 2','Prepare','L01','K01'),('Level 3','Pepare','L02','K02'), ('Level 4','Finish','L02','K02'),('Level 5','Start','L03','K03'), ('Level 6','Prepare','L04','K03'),('Level 7','Start','L05','K04'), ('Level 8','Finish','L06','K04'); Select * From HOCPHI Thêm liệu bảng HOCPHI Insert into HOCPHI Values ('Level 1',4000000),('Level 2',4500000),('Level 3',4750000), ('Level 4',3500000),('Level 5',5000000),('Level 6',3750000), ('Level 7',4800000),('Level 8',3500000); Select * From GIANGVIEN Thêm liệu bảng GIANGVIEN Insert into GIANGVIEN Values ('GV01','Jully',2345,20,'Level 1'), ('GV02',N'Văn Phương',2343,20,'Level 2'), ('GV03','Holly',2349,25,'Level 3'), ('GV04','Jone',2245,20,'Level 1'), ('GV05','Thomas',9345,25,'Level 4'), ('GV06',N'Diệp Linh',2347,20,'Level 5'), ('GV07',N'Ngọc Anh',1345,26,'Level 8'), ('GV08','Alice',2445,20,'Level 6'); Trang 19/ 32 Select * From KHENTHUONG Thêm liệu bảng KHENTHUONG Insert into KHENTHUONG Values ('KT01',1.5,'GV02'),('KT02',1.0,'GV04'),('KT03',1.6,'GV01'), ('KT04',2.0,'GV03'),('KT05',1.55,'GV06'); Select * From TAILIEU Thêm liệu bảng TAILIEU Insert into TAILIEU Values ('TL01',N'Tài liệu A1','Level 1'),('TL02',N'Tài liệu A2','Level 1'), ('TL03',N'Tài liệu B1','Level 2'),('TL04',N'Tài liệu B2','Level 2'), ('TL05',N'Tài liệu C','Level 3'),('TL06',N'Tài liệu D1','Level 4'), ('TL07',N'Tài liệu D2','Level 4'),('TL08',N'Tài liệu E','Level 5'), ('TL09',N'Tài liệu F1','Level 6'),('TL10',N'Tài liệu F2','Level 6'); Select * From GIANGDAY Thêm liệu bảng GIANGDAY Insert into GIANGDAY Values ('GV01','L01','2020/06/15'),('GV02','L02','2020/08/14'), ('GV03','L03','2021/04/12'),('GV04','L04','2021/12/02'), ('GV05','L05','2021/12/24'),('GV06','L06','2021/11/11'); Select * From THI Thêm liệu bảng THI Insert into THI Values ('HV01','Level 1',9),('HV01','Level 2',8.5), ('HV02','Level 7',4), ('HV03','Level 3',8.75),('HV03','Level 4',3), ('HV04','Level 1',7.75),('HV04','Level 2',8), ('HV05','Level 3',6),('HV05','Level 4',3.75), ('HV06','Level 7',9.5),('HV06','Level 8',10), ('HV07','Level 5',9), ('HV08','Level 7',8.75), ('HV09','Level 6',8), ('HV10','Level 6',5); Trang 20/ 32 Select * From Account Thêm liệu bảng Account Insert into Account Values ('giangvien','123','giang_vien'),('nhanvien','234','nhan_vien'), ('hocvien','123','hoc_vien'); 5.2 Thực câu lệnh truy vấn 5.2.1 Thủ tục (Procedure) Viết thủ tục cho biết danh sách học viên,tên học viên thi lại cấp độ Điểm = 8) select * from hv_gioi ('level 2') 3.Viết hàm trả danh sách cấp độ số lượng tài liệu cấp độ đưa danh sach cấp độ có số lượng tài liệu create function soluongTL () returns @bang table (macd char(10), sotl int) as begin insert into @bang select tailieu.macd, count (matl) from tailieu group by tailieu.macd return end select macd, sotl from soluongTL() where sotl = (select min(sotl) from soluongTL()) Trang 24/ 32 4.Viết f_hocphi cua hv với f_hocphi tổng số tổng tiền ứng với cấp độ mà hv đăng kí */ Create function f_hocphi (@mahv char(10)) returns real as begin declare @hocphi real select @hocphi = sum(tongtien) from HOCPHI, TTHocVien where mahv = @mahv and HOCPHI.MaCD=TTHocVien.macd return @hocphi end select dbo.f_hocphi ('HV03') 5.2.3 Trigger 1.Viết trigger để thêm học viên bảng học viên cập nhật học viên dự kiến bảng lớp(mã lớp) create trigger insert_HV on HocVien For insert as if(exists(select * from inserted)) begin update lop set HVDK =hvdk +1 where malop =(select malop from inserted) end select * from lop select * from hocvien Insert into KHOAHOC Values ('K13','toeic 3',N'Cam kết đầu ra') Trang 25/ 32 Insert into HOCVIEN Values ('HV13',N'Hoàng','2011/12/20',N'Nam',2345,'K12','L05') 2.viết trigger để không cho cập nhật mahv create trigger NO_update on HOCVIEN for update as begin if(update(mahv)) begin print N'bạn không phép cập nhật cột mahv' rollback tran; end else print N'bạn cập nhật thành công'; end update hocvien set mahv = 'HV14' where tenhv like N'Thúy Lan' 3.Tạo Trigger để đảm bảo sửa cấp độ bảng CAPDOKH tên cấp độ sau sửa phải khác tên cấp độ trước sửa tên cấp độ sau sửa không trùng với tên cấp độ có bảng Nếu vi phạm thơng báo lỗi create trigger Update_CapdoKH on CAPDOKH for update as if (((select TenCD from inserted) != (select TenCD from deleted)) and (select count(*) from CAPDOKH where TenCD = (select TenCD from inserted))20 chuyển sang lớp khác Begin tran chuyen_hv declare @x char(15) select @x=malop from HOCVIEN where mahv='HV01' update lop set HVDK=hvdk-1 where malop=@x; update hocvien set malop='L02' where mahv='HV01'; update lop set hvdk=hvdk+1 where malop='L02'; if(not exists (select * from lop where malop='L02'))or(not exists (select * from hocvien where mahv='HV01')) or((select hvdk from lop where malop='L02')>=20) begin print N'không tồn lớp học viên số lượng học viên lớp '; rollback tran end else commit tran Thỏa mãn điều kiện Không thỏa mãn điều kiện VII TÀI LIỆU THAM KHẢO ✔ Giáo trình Hệ quản trị CSDL : https://sites.google.com/view/tlucse486 ✔ Mơ Hình sở liệu trung tâm tiếng anh: https://www.sudo.vn/blog/mo-hinhco-so-du-lieu-cho-trung-tam-ngoai-ngu.html Trang 31/ 32 Phân công: SV Hoàng Quốc Hiệp: Làm giao diện, phân quyền, trỏ, trigger SV Phạm Thị Thúy Hằng: Làm hàm, thủ tục, view, giao dịch, I ,II, III GIANGVIEN (MaGV, TenGV, SdtGV, SobuoiGD).GIANGVIEN (MaGV, TenGV, SdtGV, SobuoiGD Trang 32/ 32 ... việc quản lí học vụ trở nên đơn giản, thuận tiện, nhanh chóng hiệu nhiều Mục tiêu báo cáo nêu rõ đặc tả yêu cầu hệ thống, phân tích, thiết kế để xây dựng phần mềm quản lý trung tâm Tiếng Anh phục... viên Quản lý học phí: Nhập mức học phí tùy theo cấp độ mà trung tâm có, sửa chữa thông tin Quản lý cấp độ: Các cấp độ mà trung tâm có dành cho khóa học lưu lại hệ thống Đồng thời hệ thống quản lý. .. nghiệp vụ toán: Quản lý học viên: Nhân viên quản lý trung tâm có quyền tìm kiếm học viên, in danh sách học viên, thêm học viên mới, sửa thông tin học viên, xóa học viên nghỉ học Quản lý khen thưởng: