Nếu không có sự hỗ trợ củatin học, việc quản lí này phải cần rất nhiều người, chia thành nhiều khâu, mới có thểquản lí được toàn bộ học viên thông tin, điểm số, lộ trình học,..., lớp học
Trang 1ĐẠ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
Giảng Viên Hướng Dẫn : TH.S Nguyễn Ngọc Quỳnh Châu
Lớp : 61PM1
Nhóm : 19
SV thực hiện : Mã sinh viên :
Hoàng Quốc Hiệp 1951060695
Phạm Thị Thúy Hằng 1951060690
Hà Nội, ngày 30 tháng 10 năm 2021
Trang 2MỤC LỤC
IV CHUYỂN TỪ MÔ HÌNH THỰC THỂ LIÊN KẾT SANG MÔ HÌNH
Lời nói đầu
Hiện nay, công nghệ thông tin được xem là một ngành mũi nhọn của quốc gia, đặc biệt là các quốc gia đang phát triển, tiến hành công nghiệp hóa hiện đại hóa nhưnước ta Sự bùng nổ thông tin và sự phát triển mạnh mẽ của công nghệ kỹ thuật số, yêu cầu muốn phát triển thì phải tin học hóa tất cả các ngành, các lĩnh vực
Cùng với sự phát triển nhanh chóng về phần cứng máy tính, các phần mềm ngày càng trở nên đa dạng, phong phú, hoàn thiện hơn và hỗ trợ hiệu quả cho con người Các phần mềm hiện nay ngày càng mô phỏng được rất 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, và một số nghiệp vụ được tự động hóa cao
Ví dụ như việc quản lí một trung tâm Tiếng Anh Nếu không có sự hỗ trợ củatin học, việc quản lí này phải cần rất nhiều người, chia thành nhiều khâu, mới có thểquản lí được toàn bộ 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, cũng như các quy trình quản lý trung tâm Các
Trang 3công việc này đòi hỏi nhiều thời gian và công sức, mà sự chính xác và hiệu quả không cao, vì đa số đều làm bằng thủ công rất ít tự động Một số nghiệp vụ như tra cứu, thống kê, và hiệu chỉnh thông tin khá vất vả Ngoài ra còn một số khó khăn về vấn đề lưu trữ khá đồ sộ, dễ bị thất lạc, tốn kém, Trong khi đó, các nghiệp vụ này hoàn toàn có thể tin học hóa một cách dễ dàng Với sự giúp đỡ của tin học, việc quản lí học vụ sẽ trở nên đơn giản, thuận tiện, nhanh chóng và hiệu quả hơn rất nhiều
Mục tiêu của bài báo cáo là nêu rõ các đặc tả yêu cầu của hệ thống, phân tích, thiết kế để xây dựng được phần mềm quản lý trung tâm Tiếng Anh trên phục
vụ cho việc quản lý hoàn toàn tự động trên máy tính
I BÀI TOÁN ĐẶT RA VÀ YÊU CẦU CỦA HỆ THỐNG
1.1 Giới thiệu về đề tài:
Như chúng ta đã biết, hiện nay rất nhiều trung tâm Tiếng Anh được mở lên nhằm đào tạo, cải thiện kỹ năng Tiếng Anh của mọi người Trong một trung tâm Tiếng Anh chúng ta cần giải quyết rất nhiều vấn đề đồng thời để giải quyết những vấn đề đó chúng ta cần rất nhiều bộ phận quản lý như nhân viên, giảng viên, …Đặc biệt vào những mùa hè lượng học viên tăng rất cao, số lượng học viên rất đông Vì
vậy yêu cầu đặt ra là : Phải làm sao để tiết kiệm được thời gian, nguồn nhân lực, bảo mật được hệ thống quản lý, đáp ứng đủ nhu cầu của học viên, giảng viên,
…?
1.2 Yêu cầu chung của bài toán:
Đặc tả yêu cầu, chức năng: Quản lý điểm của học viên, quản lý học phí của học viên trong các 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 quyết bài toán:
Trang 4Tìm hiểu quy tắc nghiệp vụ, các yêu cầu đặt ra của đề tài Các ngôn ngữ lập trình và cơ sở dữ liệu Xây dựng phần mềm Tiến hành kiểm tra và chạy thử.
1.4 Phát biểu nghiệp vụ của bài 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 những học viên mới, sửa thông tin của học viên, xóa những học viên nghỉ học
Quản lý khen thưởng: Mỗi giảng viên sẽ 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 những giảng viên được khen thưởng
Quản lý lớp: Nhập mới thông tin lớp, sửa chữa thông tin, xóa bỏ những 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 của các 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ới các mức học phí tùy theo các 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 các khóa học sẽ được
lưu lại tại hệ thống Đồng thời hệ thống sẽ quản lý dữ liệu của các cấp độ
Quản lý khóa học: Bổ sung các khóa học thường xuyên Các khóa học mà
trung tâm có sẽ được lưu lại tại hệ thống Đồng thời hệ thống sẽ quản lý dữ liệu
Quản lý tài liệu: Cập nhật số lượng tài liệu thường xuyên và đ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 năng của hệ thống
Hình 1: Mô hình chức năng hệ thống
Trang 52.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 và quản lý lớp.
Nhân viên có quyền truy cập vào tất cả các chức năng của hệ thống đối với họcviên, khen thưởng và lớp Cập nhật, sửa đổi, bổ sung khi cần thiết
⮚ Giảng viên: Giảng viên có quyền truy cấp các chức năng đối với điểm của
học viên Cập nhật điểm thi, sửa đổi và thống kê điểm của 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
b) Mỗi giảng viên giảng dạy nhiều lớp (LOP) Mỗi lớp được dạy bởi nhiều giảng viên Thuộc tính (NgayGD) là thuộc tính của kiểu liên kết được dùng để ghi lại ngày giảng dạy của mỗi giảng viên khi giảng dạy một lớp nào đó Mỗi lớp có
mã lớp (MaLop) duy 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) duy nhất, tên học viên (TenHV), ngày sinh(Ngaysinh), giới tính(Gioitinh) và có
số điện thoại riêng dành cho mỗi học viên (SDTHocvien)
d) Mỗi học viên học tập tại trung tâm đăng ký một 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) và mô tả khóa học (MotaKH)
e) Trong mỗi khóa học sẽ có nhiều cấp độ (CAPDOKH) để phù hợp với nguyện vọng đăng ký của học viên, nhưng mỗi cấp độ sẽ được phụ trách bởi nhiều giảng viên và mỗi lớp dạy một 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ý một lớp Trong nhân viên lưu lại thông tin của nhân viên là có mã nhân viên (MaNV) duy nhất, tên nhân viên (TenNV)
và số buổi đi làm (số buổi quản lý lớp) của mỗi nhân viên (SobuoiQL)
g) Lưu lại thông tin về nhân viên quản lý trực tiếp của nhân viên Người quản lý trực tiếp cũng là một nhân viên được gọi là NVQL
h) Mỗi cấp độ có mức học phí (HOCPHI) khác nhau Mỗi mức học phí ta lưu lại thông tin về tổng tiền (Tongtien) của mỗi cấp độ
i) Mỗi giảng viên được một mức khen thưởng (KHENTHUONG) sau khi kết thúckhóa học Trong khen thưởng có mã khen thưởng (MaKT) duy nhất và mức độ khen thưởng phù hợp với từng giảng viên (MucdoKT)
Trang 6j) Với mỗi cấp độ sẽ ứng với nhiều tài liệu (TAILIEU) Mỗi tài liệu có mã tài liệu (MaTL) duy nhất và tên tài liệu (TenTL).
k) Mỗi học viên sẽ tham gia nhiều bài thi phù hợp với cấp độ mà học viên đó đăngký Bảng thi (THI) sẽ lưu lại điểm của các học viên (DiemCD) sau khi 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 và 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) duy nhất và tên giảng viên (tenGV), số điện thoại giảng viên (SdtGV) và số buổi giảng dạy của 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 được dạy bởi nhiều giảng viên Thuộc tính (NgayGD) là thuộc tính của kiểu liên kết được dùng để ghi lại ngày giảng dạy của mỗi giảng viên khi giảng dạy một lớp nào đó Mỗi lớp có
mã lớp (MaLop) duy 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).
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) duy nhất, tên học viên (TenHV), ngày sinh(Ngaysinh), giới tính(Gioitinh) và có
số điện thoại riêng dành cho mỗi học viên (SDTHocvien)
► HOCVIEN (MaHV, TenHV, NgaySinh, Gioitinh, SDTHocvien).
Trang 7d) Mỗi học viên học tập tại trung tâm đăng ký một 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) và mô tả khóa học (MotaKH).
► KHOAHOC (MaKH, TenKH, MotaKH).
e) Trong mỗi khóa học sẽ có nhiều cấp độ (CAPDOKH) để phù hợp với nguyện vọng đăng ký của học viên, nhưng mỗi cấp độ sẽ được phụ trách bởi nhiều giảng viên và mỗi lớp dạy một cấp độ Mỗi cấp độ bao gồm có mã cấp độ (MaCD), tên cấp độ (TenCD)
► CAPDOKH (MaCD, TenCD).
Trang 8f) Mỗi nhân viên (NHANVIEN) quản lý một lớp Trong nhân viên lưu lại thông tin của nhân viên là có mã nhân viên (MaNV) duy nhất, tên nhân viên (TenNV)
và số buổi đi làm (số buổi quản lý lớp) của mỗi nhân viên (SobuoiQL)
g) Lưu lại thông tin về nhân viên quản lý trực tiếp của nhân viên Người quản lý trực tiếp cũng là một nhân viên được gọi là NVQL
► NHANVIEN (MaNV, TenNV, SobuoiQL, NVQL).
Nhân viên đó được gọi là nhân viên quản lý (NVQL)
h) Mỗi cấp độ có mức học phí (HOCPHI) khác nhau Mỗi mức học phí ta lưu lại thông tin về tổng tiền (Tongtien) của mỗi cấp độ
► HOCPHI (Tongtien).
i) Mỗi giảng viên được một mức khen thưởng (KHENTHUONG) sau khi kết thúckhóa học Trong khen thưởng có mã khen thưởng (MaKT) duy nhất và mức độ khen thưởng phù hợp với từng giảng viên (MucdoKT)
► KHENTHUONG (MaKT, MucdoKT).
Trang 9j) Với mỗi cấp độ sẽ ứng với nhiều tài liệu (TAILIEU) Mỗi tài liệu có mã tài liệu (MaTL) duy nhất và tên tài liệu (TenTL).
► TAILIEU (MaTL, TenTL).
k) Mỗi học viên sẽ tham gia nhiều bài thi phù hợp với cấp độ mà học viên đó đăngký Bảng thi (THI) sẽ lưu lại điểm của các học viên (DiemCD) sau khi thi
► THI (DiemCD).
l) Bảng đăng nhập (ACCOUNT) để lưu lại tài khoản
► ACCOUNT (Tendangnhap, Matkhau, Vaitro).
Trang 10Bước 1: Các thực thể (trừ thực thể yếu) → các bảng /quan hệ.
GIANGVIEN (MaGV, TenGV, SdtGV, SobuoiGD).
LOP (MaLop, TgianMo, TgianKetthuc, HVDK).
HOCVIEN (MaHV, TenHV, NgaySinh, Gioitinh, SDTHocvien).
KHOAHOC (MaKH, TenKH, MotaKH).
CAPDOKH (MaCD, TenCD).
NHANVIEN (MaNV, TenNV, SobuoiQL, NVQL).
HOCPHI (Tongtien).
KHENTHUONG (MaKT, MucdoKT).
TAILIEU (MaTL, TenTL).
Trang 11THI (DiemCD).
Bước 2: Không có thực thể yếu.
Bước 3: Liên kết 1-1 → khóa của 1 bên sang làm khóa ngoại bên kia.
KHENTHUONG - GIANGVIEN có liên kết 1-1: Đưa khóa chính củaGIANGVIEN sang làm khóa ngoại của KHENTHUONG
→ KHENTHUONG (MaKT, MucdoKT, MaGV)
NHANVIEN - LOP có liên kết 1-1 : Đưa khóa chính của NHANVIEN sanglàm khóa ngoại của LOP
→ LOP (MaLop, TgianMo, TgianKetthuc, HVDK, MaNV)
LOP - CAPDOKH có liên kết 1-1 : Đưa khóa chính của LOP sang làm khóangoại của CAPDOKH
→ CAPDOKH (MaCD, TenCD, MaLop)
KHOAHOC - HOCVIEN có liên kết 1-1 : Đưa khóa chính của KHOAHOCsang làm khóa ngoại của HOCVIEN
→ HOCVIEN (MaHV, TenHV, NgaySinh, Gioitinh, SDTHocvien,
MaKH)
CAPDOKH - HOCPHI có liên kết 1-1 : Đưa khóa chính của CAPDOKHsang làm khóa ngoại của HOCPHI
→ HOCPHI (MaCD, TongTien)
Bước 4: Liên kết 1-N → khóa của bảng bên 1 trở thành khóa ngoại ở bảng bên nhiều.
CAPDOKH - GIANGVIEN có liên kết 1-N: Đưa khóa chính của
CAPDOKH sang thành khóa ngoại của GIANGVIEN
→ GIANGVIEN (MaGV, TenGV, SdtGV, SobuoiGD, MaCD)
CAPDOKH - TAILIEU có liên kết 1-N: Đưa khóa chính của CAPDOKH sang thành khóa ngoại của TAILIEU
→ TAILIEU (MaTL, TenTL, MaCD)
KHOAHOC - CAPDOKH có liên kết 1-N: Đưa khóa chính của
KHOAHOC sang làm khóa ngoại của CAPDOKH
→ CAPDOKH (MaCD, TenCD, MaLop, MaKH)
LOP - HOCVIEN có liên kết 1-N: Đưa khóa chính của LOP sang làm khóa ngoại của HOCVIEN
→ HOCVIEN (MaHV, TenHV, NgaySinh, Gioitinh, SDTHocvien, MaKH,MaLop)
** Thuộc tính NVQL để chỉ ra người quản lý NVQL là khóa ngoài của nhân viên tham chiếu đến NHANVIEN
→ NHANVIEN (MaNV, TenNV, SobuoiQL, NVQL)
Trang 12HOCVIEN - THI có liên kết 1 - N : Đưa khóa chính của HOCVIEN sang làm khóa ngoại của THI.
→ THI (DiemCD, MaHV)
CAPDOKH - THI có liên kết 1 - N : Đưa khóa chính của CAPDOKH sang làm khóa ngoại của THI
→ THI (DiemCD, MaHV, MaCD)
Bước 5: Liên kết M-N → Thêm 1 bảng/ quan hệ mới R, chuyển khóa chính của hai quan hệ phía M và N thành khóa ngoại của quan hệ R Khóa chính của R là sự kết hợp của 2 khóa ngoại.
GIANGVIEN - LOP có liên kết M-N: Thêm quan hệ mới tên GIANGDAY với khóa chính của GIANGVIEN và LOP là khóa ngoại của R Khóa chính của
R là sự kết hợp của hai khóa ngoại Và thuộc tính của liên kết
→ GIANGDAY (MaGV, MaLop, NgayGD)
Bước 6: Không có thuộc tính đa trị.
Bước 7: Không có liên kết bậc >2.
Bước 8:
GIANGVIEN (MaGV, TenGV, SdtGV, SobuoiGD, MaCD).
LOP (MaLop, TgianMo, TgianKetthuc, HVDK, MaNV).
HOCVIEN (MaHV, TenHV, NgaySinh, Gioitinh, SDTHocvien, MaKH, MaLop) KHOAHOC (MaKH, TenKH, MotaKH).
CAPDOKH (MaCD, TenCD, MaLop, MaKH).
NHANVIEN (MaNV, TenNV, SobuoiQL, NVQL).
HOCPHI (MaCD, TongTien).
KHENTHUONG (MaKT, MucdoKT, MaGV).
TAILIEU (MaTL, TenTL, MaCD).
THI (DiemCD, MaHV, MaCD).
GIANGDAY (MaGV, MaLop, NgayGD).
Trang 13Hình 3: Mô hình quan hệ
Hình 4.1: Mô hình hệ thống quản lý TTTA
Trang 14Hình 4.2: Mô hình hệ thống quản lý TTTA
Hình 4.3: Mô hình hệ thống quản lý TTTA
Trang 15Hình 4.4: Mô hình hệ thống quản lý TTTA
VI CÂU LỆNH TRUY VẤN SQL.
5.1 Tạo và thêm dữ liệu vào bảng.
Create database QLTTTA
Use QLTTTA
Tạo bảng KHOAHOC
Create table KHOAHOC(
MaKH char (15)notnull primary key,
TenKH Nvarchar (40),
MotaKH Nvarchar (100));
Tạo bảng HOCVIEN
Create table HOCVIEN(
MaHV char(15)notnull primary key,
Trang 16foreign key (MaLop) references LOP(MaLop));
Tạo bảng LOP
Create table LOP(
MaLop char (15)notnull primary key,
Create table NHANVIEN(
MaNV char(15)notnull primary key,
Create table CAPDOKH(
MaCD char(15)notnull primary key,
TenCD Nvarchar(40),
MaLop char(15),
MaKH char(15),
foreign key (MaLop) references LOP(MaLop),
foreign key (MaKH) references KHOAHOC(MaKH));
Tạo bảng KHENTHUONG
Create table KHENTHUONG(
MaKT char(15)notnull primary key,
MucdoKT float,
MaGV char(15),
foreign key (MaGV) references GIANGVIEN(MaGV));
Trang 17Tạo bảng GIANGVIEN
Create table GIANGVIEN(
MaGV char(15)notnull primary key,
Create table TAILIEU(
MaTL char(15) notnull primary key,
TenTL Nvarchar(40),
MaCD char(15),
foreign key (MaCD) references CAPDOKH(MaCD));
Tạo bảng GIANGDAY
Create table GIANGDAY(
MaGV char(15)notnull,
MaLop char(15)notnull,
NgayGD date,
primary key (MaGV, MaLop),
foreign key (MaGV) references GIANGVIEN(MaGV),
foreign key (MaLop) references LOP(MaLop));
foreign key (MaHV) references HOCVIEN(MaHV),
foreign key (MaCD) references CAPDOKH(MaCD));
Tạo bảng đăng nhập
Create table Account(
Tendangnhap Nvarchar(30)notnull primary key,
Matkhau Nvarchar(30),
Vaitro Nvarchar(30));
Select * From NHANVIEN
Trang 18Thêm dữ liệu bảng NHANVIEN
Insert into NHANVIEN
Select * From LOP
Thêm dữ liệu bảng LOP
Insert into LOP
Select * From HOCVIEN
Thêm dữ liệu bảng HOCVIEN
Insert into HOCVIEN
('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 dữ liệu bảng KHOAHOC
Insert into KHOAHOC
Values ('K01','Ielts 7.5',N'Cam kết đầu ra'),
Trang 19('K02','Toeic',N'Đảm bảo chất lượng'),
('K03','Communicate',N'Giao tiếp với người bản xứ'),
Select * From CAPDOKH
Thêm dữ 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 dữ 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 dữ 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'),