I. Tổng quan về báo cáo bài tập lớn môn hệ quản trị CSDL
Báo cáo bài tập lớn môn hệ quản trị cơ sở dữ liệu là một dự án học thuật toàn diện nhằm áp dụng các kiến thức về thiết kế và quản lý CSDL vào thực tiễn. Dự án này được thực hiện bởi nhóm sinh viên khoa Công Nghệ Thông Tin trường Đại học Mở Hà Nội, dưới sự hướng dẫn của Thạc sĩ Bùi Đức Tiến. Mục tiêu chính là xây dựng một hệ thống quản lý tiền lương doanh nghiệp hoàn chỉnh, giúp các công ty giải quyết những khó khăn trong việc quản lý nhân sự và lương thưởng. Dự án áp dụng mô hình ER (Entity-Relationship) và CSDL quan hệ để thiết kế một giải pháp quản lý hiệu quả, thay thế các phương pháp tính toán thủ công như Excel.
1.1. Đối tượng và phạm vi của đề tài
Đề tài quản lý tiền lương doanh nghiệp tập trung vào việc xây dựng hệ thống CSDL để quản lý toàn bộ quy trình từ tuyển dụng đến thanh toán lương. Phạm vi bao gồm quản lý thông tin nhân viên, các chức vụ, phòng ban, mức lương theo cấp bậc, chấm công hàng tháng, và báo cáo lương cho lãnh đạo. Hệ thống này giúp giảm bớt công việc thủ công, nâng cao độ chính xác và kịp thời trong cung cấp thông tin.
1.2. Lý do xây dựng hệ thống quản lý
Hiện nay, nhiều doanh nghiệp vẫn sử dụng bảng tính Excel để quản lý tiền lương, nhưng phương pháp này có nhiều hạn chế. Không thể quản lý một hệ thống CSDL đầy đủ, dẫn đến khó khăn trong tra cứu thông tin, bảo mật dữ liệu yếu kém, và không đáp ứng yêu cầu của lãnh đạo kịp thời. Hệ thống CSDL được xây dựng sẽ cung cấp giải pháp tối ưu hơn.
II. Đặc tả yêu cầu và phân tích bài toán
Báo cáo bài tập lớn bắt đầu từ giai đoạn đặc tả bài toán chi tiết, xác định các yêu cầu nghiệp vụ và tác nhân tham gia. Quy trình quản lý tiền lương bao gồm các bước từ tuyển dụng nhân viên, thử việc, ký hợp đồng dài hạn, đến cập nhật lương, chấm công, tính lương hàng tháng, và báo cáo cho Giám đốc. Các tác nhân ngoài chính bao gồm Ban lãnh đạo, các phòng ban, và nhân viên. Mỗi nhân viên được gán một mã nhân viên duy nhất, có mức lương tùy theo cấp bậc và hợp đồng. Cuối tháng, bộ phận quản lý tính lương và báo cáo, sau đó Giám đốc xem xét và xét duyệt thanh toán.
2.1. Biểu đồ ngữ cảnh và các tác nhân
Biểu đồ ngữ cảnh thể hiện mối quan hệ giữa hệ thống quản lý tiền lương và các tác nhân ngoài. Tác nhân chính bao gồm Ban lãnh đạo (xem xét, xét duyệt), các phòng ban (tạo danh sách nhân viên, báo cáo lương), và nhân viên (cập nhật thông tin cá nhân). Hệ thống cung cấp thông tin về nhân sự, lương thưởng, chấm công để hỗ trợ quyết định của lãnh đạo.
2.2. Các chức năng chính của hệ thống
Hệ thống quản lý tiền lương cung cấp ba nhóm chức năng chính: (1) Quản lý nhân sự - tạo danh sách nhân viên, cập nhật thông tin cá nhân, quản lý chức vụ và phòng ban; (2) Quản lý lương - thiết lập mức lương, cập nhật mức lương khi thăng cấp, tính lương hàng tháng; (3) Báo cáo - cung cấp báo cáo lương, báo cáo chấm công, báo cáo nhân viên cho lãnh đạo.
III. Thiết kế cơ sở dữ liệu và mô hình ER
Giai đoạn thiết kế CSDL là bước quan trọng nhất trong báo cáo bài tập lớn. Nhóm thực hiện xác định tất cả các thuộc tính và phân tích chi tiết từng thuộc tính liên quan đến nhân viên, lương, chức vụ, phòng ban, chấm công. Tiếp theo là xây dựng mô hình thực thể liên kết (ER Model), xác định các liên kết giữa các bảng như mối quan hệ giữa Nhân Viên và Chức Vụ, Nhân Viên và Phòng Ban, Nhân Viên và Chấm Công. Từ mô hình ER, nhóm chuyển đổi sang mô hình CSDL quan hệ (Relational Model) và thiết kế CSDL vật lý với các bảng cụ thể: BNhanVien, BChucVu, BThanhToanLuong, BPhongBan, BLuong, BChamCong.
3.1. Xây dựng mô hình ER và xác định liên kết
Mô hình ER (Entity-Relationship) xác định các thực thể chính: Nhân Viên, Chức Vụ, Phòng Ban, Lương, Thành Toán Lương, Chấm Công. Các liên kết bao gồm Nhân Viên-Chức Vụ (một nhiều), Nhân Viên-Phòng Ban (một nhiều), Nhân Viên-Lương (một một), Nhân Viên-Chấm Công (một nhiều). Mỗi liên kết được xác định kiểu (one-to-one, one-to-many) để đảm bảo tính toàn vẹn dữ liệu.
3.2. Chuyển đổi sang mô hình quan hệ và thiết kế vật lý
Từ mô hình ER, nhóm chuyển đổi sang mô hình CSDL quan hệ với các bảng chuẩn hóa (normalization). Thiết kế CSDL vật lý định nghĩa chi tiết từng cột (column), kiểu dữ liệu, khóa chính (primary key), khóa ngoài (foreign key), và các ràng buộc (constraints) như NOT NULL, UNIQUE, DEFAULT, CHECK để đảm bảo tính toàn vẹn dữ liệu và hiệu suất hệ thống.
IV. Triển khai và thực hiện các thao tác trên CSDL
Sau khi thiết kế hoàn tất, nhóm tiến hành tạo database và các bảng dựa trên thiết kế vật lý. Tiếp theo là thêm các ràng buộc (constraints) vào từng bảng để đảm bảo dữ liệu luôn hợp lệ. Nhóm thực hiện nhập dữ liệu mẫu vào các bảng để chuẩn bị cho giai đoạn kiểm thử. Phần chính của báo cáo bài tập lớn bao gồm thực hiện các truy vấn SQL (10 câu truy vấn từ một và nhiều bảng), xây dựng các VIEW (10 view) để hiển thị thông tin tổng hợp, tạo các PROCEDURE (20 stored procedures) tự động hóa các quy trình, và xây dựng các TRIGGER (10 triggers) để tự động cập nhật dữ liệu. Cuối cùng là thiết lập phân quyền và bảo mật CSDL với các tài khoản người dùng khác nhau.
4.1. Tạo database bảng và nhập dữ liệu
Nhóm tạo database với tên phù hợp, sau đó tạo 6 bảng chính: BNhanVien, BChucVu, BThanhToanLuong, BPhongBan, BLuong, BChamCong. Mỗi bảng được thêm các ràng buộc như khóa chính, khóa ngoài, CHECK constraint để kiểm tra giá trị hợp lệ, UNIQUE constraint cho dữ liệu không trùng lặp, DEFAULT cho giá trị mặc định. Sau đó, nhóm nhập dữ liệu mẫu chi tiết vào từng bảng để hỗ trợ kiểm thử hệ thống.
4.2. Truy vấn VIEW PROCEDURE TRIGGER và phân quyền
Các truy vấn SQL được xây dựng để lấy thông tin nhân viên, lương, chấm công từ một hoặc nhiều bảng. Các VIEW tạo ra các bảng ảo tổng hợp thông tin phức tạp. Các PROCEDURE tự động hóa quy trình tính lương, cập nhật dữ liệu. Các TRIGGER tự động ghi log, kiểm tra điều kiện. Cuối cùng, nhóm tạo các tài khoản người dùng, phân quyền truy cập dựa trên role (quản lý, nhân viên), và thiết lập bảo mật CSDL để bảo vệ dữ liệu nhạy cảm.