Để đáp ứng nhu cầu đó, các trung tâm đào tạo nghề lái xe không chỉ cầnnâng cao chất lượng giảng dạy mà còn phải xây dựng một hệ thống quản lý hiệu quả, hỗ trợtốt nhất cho công tác quản l
Trang 1TRƯỜNG ĐẠI HỌC ĐẠI NAM
BÀI TẬP LỚN TÊN HỌC PHẦN: CƠ SỞ DỮ LIỆU
ĐỀ TÀI: XÂY DỰNG HỆ THỐNG QUẢN LÝ TRUNG TÂM ĐÀO
TẠO NGHỀ LÁI XE Ô TÔ
Giáo viên hướng dẫn: Th.S Nguyễn Ngọc Ân Th.S Trần Thị Thanh Nhàn Sinh viên thực hiện:
Trang 2TRƯỜNG ĐẠI HỌC ĐẠI NAM
BÀI TẬP LỚN
TÊN HỌC PHẦN: CƠ SỞ DỮ LIỆU
TẠO NGHỀ LÁI XE Ô TÔ
STT Mã Sinh Viên Họ và Tên Ngày Sinh
Điểm Bằng Số
Bằng Chữ
1 1771020689 Ngô Quang Trung 01/02/2003
2 1771020777 Nguyễn Thị Yến 04/06/2005
3 1771020084 Lò Thanh Bình 01/11/2005
CÁN BỘ CHẤM THI 1 CÁN BỘ CHẤM THI 2
Hà Nội, năm 2024
Trang 3Trong bối cảnh xã hội ngày càng phát triển, nhu cầu về việc đào tạo nghề lái xe ô tôngày càng gia tăng Để đáp ứng nhu cầu đó, các trung tâm đào tạo nghề lái xe không chỉ cầnnâng cao chất lượng giảng dạy mà còn phải xây dựng một hệ thống quản lý hiệu quả, hỗ trợtốt nhất cho công tác quản lý học viên, giảng viên và khóa học Việc áp dụng công nghệthông tin vào công tác quản lý sẽ giúp nâng cao hiệu suất công việc, tiết kiệm thời gian vànguồn lực, đồng thời đảm bảo sự minh bạch và chính xác trong các hoạt động của trung tâm.
Hệ thống quản lý trung tâm đào tạo nghề lái xe ô tô bao gồm các chức năng quản lýkhóa học, học viên, giảng viên và đánh giá, giúp quản lý thông tin một cách chặt chẽ và dễdàng Quản lý khóa học giúp giám sát quá trình học tập, từ việc mở lớp, lên lịch dạy học đếnviệc theo dõi tiến độ và kết quả học tập của học viên Quản lý học viên và giảng viên giúptrung tâm có cái nhìn tổng thể về số lượng và chất lượng đội ngũ tham gia, từ đó đưa ra cácchiến lược cải thiện và phát triển Đặc biệt, chức năng đánh giá sẽ giúp trung tâm đánh giákết quả học tập của học viên, cũng như hiệu quả giảng dạy của giảng viên, từ đó khôngngừng nâng cao chất lượng đào tạo
Hệ thống này không chỉ giúp giảm thiểu các lỗi trong việc quản lý thủ công mà còntạo ra một môi trường học tập minh bạch, khoa học, đồng thời nâng cao sự hài lòng của họcviên và giảng viên Việc áp dụng hệ thống quản lý sẽ là một bước tiến quan trọng trong việcnâng cao chất lượng đào tạo nghề lái xe ô tô tại các trung tâm, giúp đáp ứng được nhu cầungày càng cao của thị trường lao động
Với những lợi ích rõ ràng, việc xây dựng một hệ thống quản lý trung tâm đào tạonghề lái xe ô tô không chỉ là một yêu cầu cần thiết mà còn là bước đi chiến lược, góp phầntạo ra một môi trường đào tạo chuyên nghiệp, hiệu quả và bền vững
Trang 4MỤC LỤC
LỜI NÓI ĐẦU 3
MỤC LỤC 4
MỤC LỤC HÌNH ẢNH 7
BẢNG CÁC TỪ VIẾT TẮT 10
CHƯƠNG I: CƠ SỞ DỮ LIỆU 11
1.1 Khái niệm cơ bản về Cơ sở dữ liệu 11
1.2 Mô hình cơ sở dữ liệu 11
1.2.1 Mô hình quan hệ (Relational Model) 12
1.2.2 Mô hình phân cấp (Hierarchical Model) 12
1.2.3 Mô hình mạng (Network Model) 12
1.3 Các khái niệm quan trọng trong cơ sở dữ liệu 12
1.3.1 Các loại dữ liệu 12
1.3.2 Các thao tác CRUD 13
1.3.3 Ràng buộc toàn vẹn (Integrity Constraints) 13
1.4 Các loại mối quan hệ trong cơ sở dữ liệu 14
1.4.1 Quan hệ một-một (1:1) 14
1.4.2 Quan hệ một-nhiều (1:N) 14
1.4.3 Quan hệ nhiều-nhiều (M:N) 14
1.5 Các kỹ thuật tối ưu hóa cơ sở dữ liệu 14
1.5.1 Chỉ mục (Indexing) 14
1.5.2 Phân mảnh dữ liệu (Data Partitioning) 14
Trang 51.5.3 Cân bằng tải (Load Balancing) 14
1.5.4 Quản lý giao dịch (Transaction Management) 14
1.5.5 Cơ sở dữ liệu phân tán (Distributed Database) 15
1.6 Các loại cơ sở dữ liệu 15
1.7 Lợi ích của việc sử dụng cơ sở dữ liệu 15
CHƯƠNG 2 THIẾT KẾ CƠ SỞ DỮ LIỆU XÂY DỰNG HỆ THỐNG QUẢN LÝ TRUNG TÂM ĐÀO TẠO NGHỀ LÁI XE Ô TÔ 16
2.1 Kịch bản thế giới thực 16
2.1.1 Ứng dụng của thiết kế CSDL đối với thiết kế dữ liệu xây dựng hệ thống quản lý trung tâm đào tạo nghề lái xe ô tô 16
2.1.2 Các yêu cầu về dữ liệu cần lưu trữ 17
2.2 Xây dựng mô hình ER (Vẽ theo kiểu Crow's foot) 24
2.3 Chuyển đổi mô hình ER sang mô hình quan hệ 29
2.3.1 Chuyển đổi mô hình ER thành các bảng (tables) trong mô hình quan hệ 29
2.4 Chuẩn hóa các lược đồ quan hệ về dạng chuẩn 3NF/ BCNF 30
2.4.1 Chuẩn hóa 1NF 30
2.4.2 Chuẩn hóa 2NF (Second Normal Form) 31
2.4.3 Chuẩn hóa 3NF 32
CHƯƠNG 3: CÀI ĐẶT HỆ THỐNG TRÊN SQL SERVER 34
3.1 Thiết kế cơ sở dữ liệu 34
3.2 Các truy vấn SQL 39
3.2.1 Chèn dữ liệu vào các bảng 39
3.2.2 Lệnh truy vấn 43
KẾT LUẬN 49
Trang 6DANH MỤC TÀI LIỆU THAM KHẢO 50
Trang 7MỤC LỤC HÌNH ẢNH
Hình 1.1 Cơ sở dữ liệu 12
Hình 2.1 Biểu đồER 25
Hình 2.2 Chuyển đổi mô hình ER thành các bảng mô hình quan hệ chưa chuẩn hóa 30
Hình 2.3 Mô hình quan hệ đã chuẩn hóa 3NF 34
Hình 3.1 Bảng Giảng viên 35
Hình 3.2 Bảng Khóa học 35
Hình 3.3 Bảng Địa điểm 35
Hình 3.4 Bảng Học viên 36
Hình 3.5 Bảng Lịch thi 36
Hình 3.6 Bảng Học viên_Lịch thi 36
Hình 3.7 Bảng Đánh giá 37
Hình 3.8 Bảng Xe 37
Hình 3.9 Bảng Hồ sơ 37
Bảng 3.10 Bảng Tài chính 38
Bảng 3.11 Bảng Lịch học 38
Bảng 3.12 Bảng Giấy phép lái xe 38
Hình 3.13 Bảng Đăng ký khóa học 39
Hình 3.14 Hiển thị sau khi chạy chuơng trình 39
Hình 3.15 Nhập dữ liệu mẫu 39
Hình 3.16 Hiển thị sau khi nhập dữ liệu mẫu 40
Hình 3.17 Chèn Dữ Liệu vào Bảng GiangVien 40
Hình 3.18 Chèn Dữ Liệu vào Bảng KhoaHoc 40
Trang 8Hình 3.19 Chèn Dữ Liệu vào Bảng DiaDiem 40
Hình 3.20 Chèn Dữ Liệu vào Bảng HocVien 41
Hình 3.21 Chèn Dữ Liệu vào Bảng LichThi 41
Hình 3.22 Chèn Dữ Liệu vào Bảng HocVien_LichThi 41
Hình 3.23 Chèn Dữ Liệu vào Bảng DanhGia 41
Hình 3.24 Chèn Dữ Liệu vào Bảng Xe 42
Hình 3.25 Chèn Dữ Liệu vào Bảng HoSo 42
Hình 3.26 Chèn Dữ Liệu vào Bảng TaiChinh 42
Hình 3.27 Chèn Dữ Liệu vào Bảng LichHoc 42
Hình 3.28 Chèn Dữ Liệu vào Bảng GiayPhepLaiXe 43
Hình 3.29 Chèn Dữ Liệu vào Bảng DangKyKhoaHoc 43
Hình 3.30 Hiển thị sau khi để các dữ liệu chèn chạy 43
Hình 3.31 Hiện thị tất cả sinh viên 44
Hình 3.32 Chọn tên và chuyên môn của giảng viên 44
Hình 3.33 Tìm tất cả khóa học có học phí lớn hơn 1,000,000 44
Hình 3.34 Tính tổng số học viên 45
Hình 3.35 Tìm các giảng viên có tên bắt đầu bằng Nguyễn 45
Hình 3.36 Cập nhật đại chỉ email của học viên 45
Hình 3.36 Xóa học viên theo mã 46
Hình 3.37 Chon khóa học và giảng viên tương ứng 46
Hình 3.38 Đếm số khóa học của giảng viên 47
Hình 3.39 Tìm danh sách học viên theo địa chỉ 47
Hình 3.40 Chọn các khóa học có thời gian học trong thu 2 47
Hình 3.41 Cập nhật thông tin theo mã 48
Trang 9Hình 3.42 Chọn thông tin lịch học theo địa điểm 48
Hình 3.43 Chọn học viên và điểm thi của họ 48
Hình 3.43 Tìm giảng viên có ít nhất 1 khóa học 49
Hình 3.44 Tính số khóa học theo từng loại 49
BẢNG CÁC TỪ VIẾT TẮT
Trang 10CHƯƠNG I: CƠ SỞ DỮ LIỆU
1.1 Khái niệm cơ bản về Cơ sở dữ liệu
Cơ sở dữ liệu (Database): Là tập hợp các dữ liệu có liên quan với nhau, được lưu trữ
và tổ chức sao cho có thể truy vấn và cập nhật hiệu quả Một cơ sở dữ liệu có thể bao gồmnhiều bảng, mỗi bảng chứa các bản ghi và các trường dữ liệu
Quản lý cơ sở dữ liệu (DBMS - Database Management System): Là phần mềm giúpquản lý cơ sở dữ liệu, bao gồm các công cụ để tạo, đọc, cập nhật và xóa dữ liệu (CRUDoperations), đồng thời đảm bảo tính toàn vẹn, bảo mật và hiệu suất của dữ liệu Ví dụ:MySQL, PostgreSQL, Oracle, SQL Server, MongoDB
Dữ liệu (Data): Là thông tin được lưu trữ trong cơ sở dữ liệu Dữ liệu có thể ở nhiềuđịnh dạng như văn bản, số liệu, hình ảnh, v.v
Bảng (Table): Là cấu trúc cơ bản của cơ sở dữ liệu, chứa các dòng (records) và cột(fields) dữ liệu Một bảng có thể biểu diễn một thực thể (entity), ví dụ như bảng Student lưutrữ thông tin về học viên
Trường (Field/Column): Là một đơn vị nhỏ nhất trong bảng dữ liệu, biểu diễn mộtthuộc tính của thực thể Ví dụ: Trường StudentName trong bảng Student lưu trữ tên của họcviên
Trang 11Bản ghi (Record/Row): Là một tập hợp các giá trị thuộc tính trong bảng, mỗi bản ghiđại diện cho một đối tượng thực tế trong thế giới thực Ví dụ: Một dòng trong bảng Studentlưu trữ thông tin của một học viên.
1.2 Mô hình cơ sở dữ liệu
Mô hình cơ sở dữ liệu là cách thức tổ chức và mô tả dữ liệu trong cơ sở dữ liệu Có
ba mô hình chính
Hình 1.1 Cơ sở dữ liệu
Trang 121.2.1 Mô hình quan hệ (Relational Model)
Mô hình quan hệ là mô hình cơ sở dữ liệu phổ biến nhất, dữ liệu được tổ chức trongcác bảng (tables), và các bảng này liên kết với nhau qua các khóa (keys)
Bảng (Table): Dữ liệu được lưu trữ trong các bảng
Khóa chính (Primary Key): Là một trường (hoặc nhóm các trường) trong bảng mà cógiá trị duy nhất cho mỗi bản ghi Nó dùng để phân biệt các bản ghi trong bảng Ví dụ,StudentID có thể là khóa chính của bảng Student
Khóa ngoại (Foreign Key): Là trường trong một bảng dùng để liên kết với khóa chínhcủa bảng khác Khóa ngoại tạo ra mối quan hệ giữa các bảng Ví dụ, StudentID trong bảngEnrollment có thể là khóa ngoại liên kết với StudentID trong bảng Student
1.2.2 Mô hình phân cấp (Hierarchical Model)
Trong mô hình phân cấp, dữ liệu được tổ chức theo dạng cây, với một nút gốc và cácnhánh con Mỗi bản ghi có thể có một hoặc nhiều bản ghi con Mô hình này ít phổ biến trongthực tế so với mô hình quan hệ
1.2.3 Mô hình mạng (Network Model)
Mô hình mạng là một sự mở rộng của mô hình phân cấp, trong đó mỗi nút có thể cónhiều bản ghi cha và bản ghi con Dữ liệu trong mô hình mạng được tổ chức theo các đồ thị,
và mỗi bản ghi có thể có nhiều mối quan hệ
1.3 Các khái niệm quan trọng trong cơ sở dữ liệu
1.3.1 Các loại dữ liệu
Trong cơ sở dữ liệu, mỗi trường trong bảng có một kiểu dữ liệu xác định Các kiểu dữliệu phổ biến bao gồm:
INT: Kiểu số nguyên
VARCHAR: Kiểu chuỗi văn bản có độ dài thay đổi
DATE: Kiểu ngày tháng
DECIMAL: Kiểu số thực với độ chính xác cao
BOOLEAN: Kiểu giá trị đúng/sai (true/false)
Trang 131.3.2 Các thao tác CRUD
CRUD là các thao tác cơ bản mà hệ thống quản lý cơ sở dữ liệu hỗ trợ:
Create (Tạo mới): Thêm bản ghi mới vào cơ sở dữ liệu
Read (Đọc): Truy vấn và lấy dữ liệu từ cơ sở dữ liệu
Update (Cập nhật): Thay đổi dữ liệu đã có trong cơ sở dữ liệu
Delete (Xóa): Xóa dữ liệu khỏi cơ sở dữ liệu
Ví dụ:
1.3.3 Ràng buộc toàn vẹn (Integrity Constraints)
Ràng buộc toàn vẹn đảm bảo rằng dữ liệu trong cơ sở dữ liệu luôn hợp lệ và đúngđắn Các loại ràng buộc phổ biến:
Khóa chính (Primary Key): Đảm bảo rằng mỗi bản ghi trong bảng là duy nhất
Khóa ngoại (Foreign Key): Đảm bảo tính liên kết giữa các bảng
Không rỗng (NOT NULL): Đảm bảo rằng một trường không thể có giá trị NULL
Trang 14Kiểm tra dữ liệu (CHECK): Đảm bảo rằng giá trị của trường phải thỏa mãn một điềukiện nhất định (ví dụ: giá trị phải lớn hơn 0).
1.4 Các loại mối quan hệ trong cơ sở dữ liệu
1.5 Các kỹ thuật tối ưu hóa cơ sở dữ liệu
1.5.1 Chỉ mục (Indexing)
Chỉ mục là một cấu trúc dữ liệu giúp tăng tốc độ truy vấn dữ liệu Khi có chỉ mục trênmột cột, việc tìm kiếm giá trị trong cột đó sẽ nhanh hơn
1.5.2 Phân mảnh dữ liệu (Data Partitioning)
Phân mảnh dữ liệu giúp chia dữ liệu lớn thành các phần nhỏ hơn để tăng tốc độ truyvấn và hiệu suất của hệ thống
1.5.3 Cân bằng tải (Load Balancing)
Cân bằng tải giúp phân phối các truy vấn và tác vụ xử lý giữa các máy chủ khác nhau
để giảm tải cho một máy chủ duy nhất và tối ưu hóa hiệu suất
1.5.4 Quản lý giao dịch (Transaction Management)
Giao dịch (Transaction) là một đơn vị công việc mà cơ sở dữ liệu phải xử lý, bao gồmcác thao tác như tạo, đọc, cập nhật hoặc xóa dữ liệu Các thuộc tính ACID (Atomicity,Consistency, Isolation, Durability) là những nguyên tắc đảm bảo tính toàn vẹn của giao dịch:
Atomicity (Tính nguyên tử): Giao dịch phải hoàn thành toàn bộ hoặc không thực hiện
Trang 15Durability (Tính bền vững): Sau khi giao dịch hoàn thành, dữ liệu phải được lưu trữvĩnh viễn, ngay cả khi hệ thống gặp sự cố.
1.5.5 Cơ sở dữ liệu phân tán (Distributed Database)
Cơ sở dữ liệu phân tán là một hệ thống cơ sở dữ liệu mà dữ liệu được phân phối vàlưu trữ trên nhiều máy chủ, thường ở các vị trí địa lý khác nhau Các hệ thống này cho phépngười dùng truy vấn dữ liệu mà không cần biết nơi dữ liệu được lưu trữ, nhưng vẫn đảm bảotính toàn vẹn và nhất quán của dữ liệu
1.6 Các loại cơ sở dữ liệu
Cơ sở dữ liệu quan hệ (Relational Database): Sử dụng các bảng để lưu trữ dữ liệu vàcác mối quan hệ giữa các bảng Các hệ quản trị cơ sở dữ liệu quan hệ phổ biến bao gồmMySQL, PostgreSQL, Oracle, và SQL Server
Cơ sở dữ liệu NoSQL: Được thiết kế để xử lý các loại dữ liệu phi cấu trúc hoặc báncấu trúc Các loại cơ sở dữ liệu NoSQL bao gồm MongoDB, Cassandra, và Redis
Cơ sở dữ liệu đồ thị (Graph Database): Sử dụng các nút (node) và cạnh (edge) để biểudiễn dữ liệu và các mối quan hệ giữa chúng Neo4j là một ví dụ về cơ sở dữ liệu đồ thị
1.7 Lợi ích của việc sử dụng cơ sở dữ liệu
Quản lý dữ liệu hiệu quả: Cơ sở dữ liệu giúp tổ chức và quản lý dữ liệu một cách có
Trang 16CHƯƠNG 2 THIẾT KẾ CƠ SỞ DỮ LIỆU XÂY DỰNG HỆ THỐNG QUẢN
LÝ TRUNG TÂM ĐÀO TẠO NGHỀ LÁI XE Ô TÔ
2.1 Kịch bản thế giới thực
2.1.1 Ứng dụng của thiết kế CSDL đối với thiết kế dữ liệu xây dựng hệ thống quản
lý trung tâm đào tạo nghề lái xe ô tô
Trong bối cảnh nhu cầu về đào tạo lái xe ô tô ngày càng gia tăng, các trung tâm đàotạo nghề đối mặt với không ít thách thức trong việc quản lý thông tin học viên, giảng viên,lịch học và kết quả thi Việc thiếu một hệ thống quản lý tích hợp gây khó khăn cho việc theodõi tiến độ học tập, quản lý lịch dạy và học, đồng thời làm giảm trải nghiệm của học viêntrong quá trình học tập Do đó, xây dựng một Hệ thống Quản lý Trung tâm Đào tạo NghềLái xe Ô tô là rất cần thiết Hệ thống này nhằm tạo ra một nền tảng tích hợp, cho phép quản
lý mọi hoạt động liên quan đến quá trình đào tạo nghề lái xe
Hệ thống sẽ tích hợp chức năng quản lý đánh giá, cho phép giảng viên nhập điểm thi
và đánh giá học viên sau mỗi kỳ thi Điều này không chỉ giúp theo dõi tiến độ học tập màcòn đảm bảo tính minh bạch trong việc thông báo kết quả thi đến học viên Hệ thống cũngcho phép tạo và quản lý hồ sơ học viên, bao gồm lịch sử điểm số, khóa học đã tham gia, vàcác thông tin chi tiết khác Hồ sơ này sẽ giúp quản lý theo dõi tình trạng học tập của họcviên, từ đó đưa ra các hỗ trợ cần thiết Các báo cáo tổng hợp về tiến độ học tập sẽ được cungcấp cho giảng viên và quản lý, nhằm đảm bảo học viên có đủ điều kiện để tham gia thi Quản
lý tài chính sẽ theo dõi các giao dịch thu và chi của học viên, bao gồm học phí và các khoảnphí khác Hệ thống sẽ lập báo cáo tài chính định kỳ, cung cấp cái nhìn tổng quan về doanhthu và chi phí Hệ thống cũng quản lý thông tin địa điểm, bao gồm cập nhật và lưu trữ thôngtin về các địa điểm tổ chức khóa học Việc phân bổ địa điểm cho từng khóa học sẽ giúp họcviên và giảng viên dễ dàng biết được nơi học Đồng thời, hệ thống cũng sẽ theo dõi tìnhtrạng của từng địa điểm, đảm bảo rằng các địa điểm học tập luôn sẵn sàng và phù hợp choviệc tổ chức các khóa học Quản lý lịch thi để thông báo cho học viên kịp thời, cung cấpgiấy phép lái xe khi học viên tốt nghiệp
Để đảm bảo quy trình hoạt động hiệu quả, hệ thống cần phân quyền rõ ràng cho từngđối tượng người dùng Quản trị viên nên có quyền truy cập đầy đủ vào tất cả các chức năngcủa hệ thống, bao gồm quản lý thông tin học viên, giảng viên, khóa học và theo dõi tiến độhọc Giảng viên sẽ có khả năng truy cập và quản lý lịch học của các lớp mà mình phụ trách,trong khi học viên sẽ được phép đăng ký khóa học, xem lịch học và kiểm tra điểm số củabản thân
Trang 17Ngoài ra, hệ thống cũng cần đáp ứng một số yêu cầu phi chức năng quan trọng Khảnăng mở rộng là một yếu tố không thể thiếu, cho phép mở rộng số lượng người dùng, khóahọc và giảng viên một cách dễ dàng mà không làm ảnh hưởng đến hiệu suất hoạt động của
hệ thống Vấn đề bảo mật cũng rất quan trọng, cần bảo vệ thông tin cá nhân của học viên vàgiảng viên bằng các biện pháp mã hóa và bảo mật cần thiết Mô hình dữ liệu của hệ thống sẽđược xây dựng dựa trên các thực thể chính như Học viên, Giảng viên, Khóa học, Lịch học,Kết quả thi, Đánh giá, Hồ sơ, Tài chính và Địa điểm, Xe, Lịch thi, Giấy phép lái xe mỗi thựcthể có những thuộc tính riêng biệt nhằm lưu trữ thông tin chi tiết và đầy đủ
Cuối cùng, việc xây dựng một hệ thống quản lý trung tâm đào tạo nghề lái xe ô tôkhông chỉ mang tính chiến lược mà còn góp phần quan trọng nâng cao chất lượng dịch vụđào tạo Hệ thống này sẽ giải quyết hiệu quả các vấn đề hiện tại, cải thiện trải nghiệm củahọc viên và giảng viên, đồng thời nâng cao tính minh bạch và hiệu suất quản lý của trungtâm Với một hệ thống được đầu tư bài bản, các trung tâm sẽ dễ dàng thích ứng với xuhướng phát triển, đáp ứng tốt hơn nhu cầu của học viên trong tương lai
2.1.2 Các yêu cầu về dữ liệu cần lưu trữ
a) Các yêu cầu về dữ liệu cần lưu trữ
Khi xây dựng hệ thống quản lý trung tâm đào tạo nghề lái xe ô tô, cần lưu trữ một sốnhóm dữ liệu quan trọng Đầu tiên, thông tin học viên như mã học viên, họ tên, ngày sinh,địa chỉ, số điện thoại, và trình độ học vấn là cần thiết để quản lý học viên Tiếp theo, thôngtin về khóa học bao gồm mã khóa học, tên khóa học, mô tả, thời gian đào tạo, học phí vàtrạng thái khóa học cũng cần được lưu trữ Hệ thống còn cần lưu trữ lịch học, kết quả thi củahọc viên, dữ liệu về giảng viên, phương tiện đào tạo, và thanh toán học phí Ngoài ra, các dữliệu về thông báo và lịch sử giao tiếp giữa trung tâm và học viên cũng rất quan trọng Cuốicùng, hệ thống cần có báo cáo và thống kê tổng hợp về tình trạng học viên, tài chính, giảngviên và các hoạt động đào tạo để hỗ trợ công tác quản lý và ra quyết định Tất cả các dữ liệunày cần được tổ chức khoa học và liên kết chặt chẽ để đảm bảo hoạt động hiệu quả và phục
vụ tốt cho công tác đào tạo
b) Thu thập và phân tích các yêu cầu của hệ thống
Quản lý học viên: Hệ thống cần lưu trữ và truy xuất thông tin của học viên, giúp theodõi tiến độ và tình trạng học tập
Quản lý khóa học: Cung cấp thông tin chi tiết về các khóa học để học viên có thể lựachọn và đăng ký
Trang 18Quản lý giảng viên: Giúp theo dõi thông tin và chuyên môn của giảng viên để giaonhiệm vụ giảng dạy.
Quản lý đánh giá: Thu thập và phân tích các đánh giá của học viên về khóa học để cảithiện chất lượng giảng dạy và nội dung khóa học Cần lưu trữ các đánh giá của học viên vềkhóa học để cải thiện chất lượng giảng dạy
Quản lý lịch học: Giúp học viên theo dõi lịch trình học tập và các buổi học cụ thể.Quản lý tài chính: Theo dõi các giao dịch tài chính liên quan đến học viên và khóahọc, phục vụ cho việc lập báo cáo tài chính
Quản lý hồ sơ học viên: Cập nhật tình trạng học tập và đánh giá tổng quát của họcviên để có kế hoạch hỗ trợ phù hợp
Quản lý địa điểm: Cung cấp thông tin về các địa điểm học tập, phục vụ cho việc tổchức lớp học
Quản lý xe: Quản lý thông tin về các phương tiện đào tạo (xe ô tô, xe máy, v.v.), theodõi tình trạng xe, lịch sử bảo dưỡng và sửa chữa, phân bổ xe cho các buổi học
Quản lý kỳ thi: Tổ chức và theo dõi các kỳ thi lý thuyết và thực hành của học viên,lưu trữ kết quả thi, và cập nhật điểm số cho học viên
Quản lý giấy phép lái xe: Theo dõi việc cấp giấy phép lái xe cho học viên sau khihoàn thành khóa học và các kỳ thi Cập nhật thông tin giấy phép như loại, ngày cấp, ngày hếthạn
Quản lý lịch học cá nhân: Theo dõi lịch học của từng học viên, bao gồm thời gian vàđịa điểm của các buổi học cụ thể, giúp học viên có thể lên kế hoạch học tập hiệu quả
Quản lý tình trạng học tập của học viên: Theo dõi tiến độ học tập của học viên, baogồm các bài thi đã hoàn thành, điểm số, đánh giá từ giảng viên và trạng thái tốt nghiệp
Quản lý hồ sơ giảng viên: Quản lý thông tin chi tiết về giảng viên, bao gồm thông tin
cá nhân, chuyên môn, lịch sử giảng dạy, và các khóa học mà giảng viên phụ trách
c) Các thực thể (entities) thuộc tính (attributes) của hệ thống
1 Thực thể Học Viên (Student)
- Lý do cần có: Học viên là đối tượng chính của hệ thống, vì vậy cần phải quản lýthông tin chi tiết về học viên như tên, ngày sinh, địa chỉ, số điện thoại và email để có thể liênlạc, phân phối thông tin về khóa học, lịch học, cũng như tiến trình học tập của họ Việc theodõi học viên qua các thuộc tính này giúp đảm bảo sự chính xác và hiệu quả trong việc cungcấp dịch vụ đào tạo
Trang 19- Vai trò: Quản lý hồ sơ cá nhân, liên lạc và tiến trình học tập của học viên, từ đó cóthể đánh giá và cung cấp phản hồi phù hợp
- Các thuộc tính (attributes)
ID_HocVien: Khóa chính
HoTen: Tên học viên
NgaySinh: Ngày sinh
và thời gian phù hợp với nhu cầu học viên
- Vai trò: Quản lý danh sách khóa học, nội dung, thời gian và chi phí, đồng thời liênkết với giảng viên và học viên tham gia khóa học
- Các thuộc tính (attributes)
ID_KhoaHoc: Khóa chính
TenKhoaHoc: Tên khóa học
ThoiGian: Thời gian khóa học
NoiDung: Nội dung khóa học
ChiPhi: Chi phí khóa học
3 Thực thể Giảng Viên (Instructor)
- Lý do cần có: Giảng viên là người trực tiếp tham gia giảng dạy và đào tạo học viên,
vì vậy cần phải quản lý thông tin về giảng viên như tên, chuyên môn, và lịch trình giảng dạy.Việc này giúp phân công giảng viên hợp lý cho các khóa học, theo dõi hiệu suất giảng dạy
và đảm bảo chất lượng đào tạo
- Vai trò: Quản lý thông tin về giảng viên và phân công họ vào các khóa học cụ thể,đảm bảo sự hiệu quả trong công tác giảng dạy
- Các thuộc tính (attributes)
Trang 20ID_GiangVien: Khóa chính
HoTen: Tên giảng viên
ChuyenMon: Chuyên môn
- Vai trò: Quản lý thông tin đánh giá từ học viên, cung cấp phản hồi cho giảng viên vàtrung tâm về hiệu quả đào tạo, từ đó nâng cao chất lượng dạy và học
- Các thuộc tính (attributes)
ID_DanhGia: Khóa chính
NoiDung: Nội dung đánh giá
Diem: Điểm đánh giá
NgayDanhGia: Ngày đánh giá
5 Thực thể Lịch Học (Schedule)
- Lý do cần có: Lịch học là yếu tố quan trọng để học viên và giảng viên có thể theodõi và tuân thủ thời gian học Việc quản lý lịch học giúp đảm bảo không có sự xung đột vềthời gian giữa các khóa học và giảng viên, đồng thời giúp học viên biết được khi nào và ởđâu sẽ diễn ra các buổi học
- Vai trò: Quản lý lịch học của từng khóa học, giảng viên và học viên, giúp điều phối
và sắp xếp lịch học hợp lý
- Các thuộc tính (attributes):
ID_LichHoc: Khóa chính (PK)
ThoiGianBatDau: Thời gian bắt đầu
ThoiGianKetThuc: Thời gian kết thúc
HinhThucHoc: Hình thức học
6 Thực thể Tài Chính (Finance)
Trang 21- Lý do cần có: Hệ thống tài chính giúp quản lý các giao dịch thu, chi trong trung tâmđào tạo, bao gồm học phí, phí dịch vụ và các khoản chi khác Việc theo dõi tài chính đảmbảo trung tâm vận hành một cách hiệu quả, minh bạch và có khả năng báo cáo tài chínhchính xác.
- Vai trò: Quản lý các giao dịch tài chính giữa học viên và trung tâm, theo dõi họcphí và các khoản thu, chi giúp trung tâm duy trì nguồn tài chính ổn định
- Các thuộc tính (attributes):
ID_TaiChinh: Khóa chính
SoTien: Số tiền
LoaiGiaoDich: Loại giao dịch (thu, chi)
NgayGiaoDich: Ngày giao dịch
7 Thực thể Hồ Sơ (Profile)
- Lý do cần có: Hồ sơ học viên là yếu tố quan trọng để lưu trữ thông tin học tập, kếtquả thi và tiến trình học của từng học viên Việc quản lý hồ sơ giúp theo dõi sự phát triểncủa học viên từ khi bắt đầu đến khi kết thúc khóa học và cấp chứng chỉ, giấy phép lái xe
- Vai trò: Quản lý thông tin học tập, kết quả thi, tình trạng học tập và tiến độ học củahọc viên, giúp theo dõi quá trình đào tạo của học viên
- Các thuộc tính (attributes):
ID_HoSo: Khóa chính
ThangDiem: Thang điểm (tổng hợp từ các đánh giá)
TinhTrang: Tình trạng học tập (đang học, đã tốt nghiệp, bỏ học)
8 Thực thể Địa Điểm (Location)
- Lý do cần có: Địa điểm là yếu tố quan trọng để xác định nơi học viên sẽ tham giacác buổi học Việc quản lý các địa điểm học giúp phân phối học viên và giảng viên đến đúng
vị trí học, đồng thời giúp học viên và giảng viên dễ dàng tìm kiếm địa điểm học
- Vai trò: Quản lý thông tin về các địa điểm học và liên kết chúng với các khóa học vàlịch học cụ thể
- Các thuộc tính (attributes):
ID_DiaDiem: Khóa chính
TenDiaDiem: Tên địa điểm
DiaChi: Địa chỉ
Trang 22GhiChu: Thông tin them
9 Thực thể Xe (Vehicle)
- Lý do cần có: Trong trung tâm đào tạo nghề lái xe, xe là công cụ trực tiếp phục vụviệc giảng dạy Quản lý thông tin về xe như biển số, tình trạng xe và phân công giảng viêngiúp đảm bảo rằng mỗi buổi học có đủ xe và xe luôn trong tình trạng tốt
- Vai trò: Quản lý thông tin về các xe được sử dụng trong các khóa học, bao gồm tìnhtrạng và lịch bảo dưỡng để đảm bảo an toàn trong quá trình giảng dạy
- Các thuộc tính (attributes):
ID_Xe: Khóa chính
BienSo: Biển số xe
LoaiXe: Loại xe (xe con, xe tải, xe máy, v.v.)
TinhTrang: Tình trạng xe (hoạt động, bảo dưỡng, hỏng hóc)
10 Thực thể Thi (Exam)
- Lý do cần có: Thi là công cụ đánh giá cuối cùng để xác nhận học viên có đủ điềukiện cấp giấy phép lái xe hay không Quản lý kỳ thi giúp trung tâm tổ chức thi chính thức,ghi nhận kết quả và liên kết với các khóa học cũng như học viên
- Vai trò: Quản lý thông tin về kỳ thi, giúp xác định kết quả thi của học viên và liênkết với các khóa học và hồ sơ học viên
- Các thuộc tính (attributes):
ID_Thi: Khóa chính
NgayThi: Ngày thi
LoạiThi: Lý thuyết/Thực hành
DiemThi: Điểm thi
11 Thực thể Giấy Phép Lái Xe (DriverLicense)
- Lý do cần có: Giấy phép lái xe là kết quả cuối cùng của quá trình đào tạo lái xe.Việc quản lý giấy phép lái xe giúp theo dõi quá trình cấp giấy phép cho học viên sau khi họhoàn thành khóa học và kỳ thi
- Vai trò: Quản lý thông tin về giấy phép lái xe, bao gồm ngày cấp và ngày hết hạn,giúp trung tâm theo dõi việc cấp giấy phép và gia hạn khi cần thiết
- Các thuộc tính (attributes):
ID_GiayPhep: Khóa chính
Trang 23LoaiGiayPhep: Loại giấy phép (số, hạng)
NgayCap: Ngày cấp
NgayHetHan: Ngày hết hạn
c) Các mối quan hệ (relationships) giữa các thực thể trong hệ thống
1 Học Viên (Student)
Một học viên có thể đăng ký nhiều khóa học (1-n)
Một học viên có thể đưa ra nhiều đánh giá cho nhiều khóa học (1-n)
Một học viên có một hồ sơ duy nhất (1-1)
Một học viên có thể có nhiều giao dịch tài chính liên quan đến nhiều khóa học (1-n).Một học viên có thể có nhiều giấy phép lái xe (1-n)
Một Học Viên có thể tham gia nhiều kỳ Thi (1-n)
2 Khóa Học (Course)
Một khóa học có thể có nhiều học viên đăng ký (1-n)
Một khóa học có thể có nhiều giảng viên (1-n)
Một khóa học có nhiều lịch học (1-n)
Một khóa học có thể có nhiều đánh giá từ học viên (1-n)
Một khóa học có thể liên kết với nhiều giao dịch tài chính (1-n)
Một khóa học có thể yêu cầu sử dụng nhiều xe (1-n)
Mỗi Khóa Học có thể có nhiều Kỳ Thi (1-n)
3 Giảng Viên (Instructor)
Một giảng viên dạy một khóa học (1-1)
Một giảng viên có thể có nhiều lịch học (1-n)
Trang 247 Hồ Sơ (Profile)
Hồ sơ của học viên liên kết với một học viên cụ thể (1-1)
8 Địa Điểm (Location)
Một địa điểm có thể phục vụ cho nhiều lịch học (1-n)
9 Xe (Vehicle)
Một chiếc xe được sử dụng bởi một giảng viên (1-1)
Một chiếc xe được yêu cầu sử dụng bởi một khóa học (1-1)
10 Lịch thi (Exam)
Một lịch thi thuộc về một khóa học (1-1)
Một lịch thi thuộc về một học viên (1-1)
11 Giấy phép lái xe (Driver License)
Một giấy phép lái xe thuộc về một học viên (1-1)
2.2 Xây dựng mô hình ER (Vẽ theo kiểu Crow's foot)
a) Tạo biểu đồ ER (ER diagram) dựa trên các thực thể và mối quan hệ đã xác định
Hình 2.1 Biểu đồER
Trang 25b) Xác định các loại quan hệ (1-1, 1-n, n-n)
1 Học viên (n) ↔ (n) Khóa học
+ Mối quan hệ: Nhiều học viên có thể tham gia vào nhiều khóa học và ngược lại, mỗikhóa học có thể có nhiều học viên tham gia
+ Loại mối quan hệ: Nhiều-nhiều (Many-to-Many)
2 Khóa học (n) ↔ (1) Giảng viên
+ Mối quan hệ: Mỗi khóa học có thể có nhiều giảng viên phụ trách giảng dạy, nhưngmỗi giảng viên chỉ giảng dạy một khóa học
+ Loại mối quan hệ: Một-nhiều (One-to-Many)
Loại mối quan hệ: Một-nhiều (One-to-Many)
8 Hồ sơ (1) ↔ (1) Học viên