Xem mẫu
- ĐAI HOC THUY 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
Trang 1/ 37
- Hà Nội, ngày 30 tháng 10 năm 2021
Trang 2/ 37
- Trang 3/ 37
- MỤC LỤC
Trang 4/ 37
- Trang 5/ 37
- Lơi noi đâ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ì phai 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ủa tin 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ộ hoc viên( thông tin, điêm s
̣ ̉ ố, lô trinh hoc,...), l
̣ ̀ ̣ ớp
học( sĩ số, giáo viên giang day...), giang viên,... cũng nh
̉ ̣ ̉ ư các quy trinh quan ly
̀ ̉ ́
trung tâm. Các cô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.
Trang 6/ 37
- 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:
Tì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ữ
Trang 7/ 37
- 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
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 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ọc viê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 điểm của mình.
III. XÂY DỰNG MÔ HÌNH THỰC THỂ LIÊN KẾT ER
3.1. Xác định các quy tắc và 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) 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).
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
Trang 8/ 37
- để 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úc khó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).
j) 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 đó
đăng ký. 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).
Trang 9/ 37
-
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).
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
Trang 10/ 37
- (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).
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.
► NHANVIEN (MaNV, TenNV, SobuoiQL, NVQL).
Trang 11/ 37
- ́ ược goi la nhân viên quan ly (NVQL).
Nhân viên đo đ ̣ ̀ ̉ ́
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úc khó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).
j) 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
Trang 12/ 37
- 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 đó
đăng ký. 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).
3.3. Xây dựng mô hình thực thể liên kết ER
Trang 13/ 37
- 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) → 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).
THI (DiemCD).
Bước 2: Không có thực thể yếu.
Bước 3: Liên kết 11 → khóa của 1 bên sang làm khóa ngoại bên kia.
KHENTHUONG GIANGVIEN có liên kết 11: Đưa khóa chính của
GIANGVIEN sang làm khóa ngoại của KHENTHUONG.
→ KHENTHUONG (MaKT, MucdoKT, MaGV).
Trang 14/ 37
- NHANVIEN LOP có liên kết 11 : Đưa khóa chính của NHANVIEN
sang làm khóa ngoại của LOP.
→ LOP (MaLop, TgianMo, TgianKetthuc, HVDK, MaNV).
LOP CAPDOKH có liên kết 11 : Đưa khóa chính của LOP sang làm
khóa ngoại của CAPDOKH.
→ CAPDOKH (MaCD, TenCD, MaLop).
KHOAHOC HOCVIEN có liên kết 11 : Đưa khóa chính của
KHOAHOC sang làm khóa ngoại của HOCVIEN
→ HOCVIEN (MaHV, TenHV, NgaySinh, Gioitinh, SDTHocvien,
MaKH).
CAPDOKH HOCPHI có liên kết 11 : Đưa khóa chính của CAPDOKH
sang làm khóa ngoại của HOCPHI
→ HOCPHI (MaCD, TongTien)
Bước 4: Liên kết 1N → 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 1N: Đư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 1N: Đư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 1N: Đư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 1N: Đư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).
HOCVIEN 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.
Trang 15/ 37
- → THI (DiemCD, MaHV, MaCD).
Bước 5: Liên kết MN → 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 MN: 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 16/ 37
- Hình 3: Mô hình quan hệ
V. MÔ HÌNH HỆ THỐNG
Hình 4.1: Mô hình hệ thống quản lý TTTA
Trang 17/ 37
- Hì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 18/ 37
- Hì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
̣ ̉
Tao bang KHOAHOC
Create table KHOAHOC(
MaKH char (15) not null primary key,
TenKH Nvarchar (40),
MotaKH Nvarchar (100));
̣ ̉
Tao bang HOCVIEN
Create table HOCVIEN(
MaHV char(15) not null primary key,
TenHV Nvarchar(40),
Ngaysinh date,
Gioitinh Nvarchar(10),
SDTHocVien varchar(20),
MaKH char(15),
MaLop char(15),
Trang 19/ 37
- foreign key (MaKH) references KHOAHOC(MaKH),
foreign key (MaLop) references LOP(MaLop));
̣ ̉
Tao bang LOP
Create table LOP(
MaLop char (15) not null primary key,
TgianMo date,
TgianKetthuc date,
HVDK float,
MaNV char(15),
foreign key (MaNV) references NHANVIEN(MaNV));
̣ ̉
Tao bang NHANVIEN
Create table NHANVIEN(
MaNV char(15) not null primary key,
TenNV Nvarchar(40),
SobuoiQL float,
NVQL char(15));
̣ ̉
Tao bang HOCPHI
Create table HOCPHI(
MaCD char(15),
Tongtien float,
foreign key (MaCD) references CAPDOKH(MaCD));
̣ ̉
Tao bang CAPDOKH
Create table CAPDOKH(
MaCD char(15) not null primary key,
TenCD Nvarchar(40),
MaLop char(15),
MaKH char(15),
foreign key (MaLop) references LOP(MaLop),
foreign key (MaKH) references KHOAHOC(MaKH));
̣ ̉
Tao bang KHENTHUONG
Create table KHENTHUONG(
MaKT char(15) not null primary key,
MucdoKT float,
Trang 20/ 37
nguon tai.lieu . vn