CHƯƠNG 2 : CƠ SỞ LÝ LUẬN VỀ THIẾT KẾ CSDL QUẢN LÝ NHÂN SỰ
4.2. Thiết kế CSDL
4.2.1. Thiết kế CSDL mức logic
Bước 1: Xác định tập thực thể
Từ mô tả bài toán, ta xác định được các thực thể sau:
Nhân viên: Là người trực tiếp làm các công việc trong công ty như lập trình, kiểm thử phần mềm, đảm bảo chất lượng, nhân sự, kế tốn. Mỗi người có một nhiệm vụ khác nhau. Mỗi nhân viên có mã nhân viên riêng, làm việc cho một phịng ban, có thể tham gia vào nhiều dự án.
Mỗi nhân viên thuộc một loại nhân viên (Nhân viên kiểm thử, nhân viên lập trình, nhân viên kế tốn, nhân viên Comtor, nhân viên nhân sự)
Phịng ban: Là một bộ phận chia nhỏ các nhân viên theo đặc thù từng yêu cầu của công việc để dễ dàng quản lý, làm việc. Một phịng ban có nhiều nhân viên và thực hiện chức năng riêng, phục vụ hoạt động sản xuất, kinh doanh, tổ chức của công ty
Dự án: Hoạt động sản xuất, kinh doanh chính của cơng ty là gia cơng phần mềm. Mỗi phần mềm đó nằm trong các dự án. Trong một dự án có nhiều nhân viên tham gia. Mỗi dự án có mã dự án riêng
Timesheet: Hàng tháng, nhân viên sẽ nhận được Timesheet cho biết thời gian làm việc, số giờ đi muộn, giờ nghỉ, thời gian vào, ra. Timesheet được gửi theo tháng, một Timesheet có nhiều nhân viên, một nhân viên có nhiều Timesheet.
Bước 2: Xác định mối quan hệ giữa các thực thể
Mối quan hệ giữa Nhân viên và Phòng ban: Một nhân viên làm việc trong môt phịng ban, một phịng ban có nhiều nhân viên.
Mối quan hệ giữa Nhân viên và Dự án: Nhân viên có thể tham gia vào nhiều dự án khác nhau và một dự án được làm bởi nhiều nhân viên
Mối quan hệ giữa Nhân viên và Timesheet: Nhân viên có nhiều Timesheet (mỗi tháng một timesheet) và trong một Timesheet có nhiều nhân viên
Một nhân viện thuộc một loại nhân viên và một loại nhân viên thì có nhiều nhân viên
Bước 3: Xác định các thuộc tính trong thực thể
Nhân viên (NHANVIEN): Mã nhân viên (MaNV), Họ nhân viên (Ho_NV), Tên nhân viên (Ten_NV), Email (Email), Chứng minh thư nhân dân (CMTND), Ngày sinh (NgaySinh), Số điện thoại (SDT), Địa chỉ (DiaChi), Chức vụ (ChucVu), Ngày bắt đầu (NgayBD), Mã số thuế (MST), Thẻ bảo hiểm y tế (BHYT), trình độ học vấn (TĐHV)
Loại nhân viên (LOAINV): Mã loại (MaLoai), Tên loại (TenLoai)
Phòng ban (PHONGBAN): Mã phòng ban (MaPB), Tên phòng ban (TenPB), Địa điểm (Diadiem)
Dự án (DUAN): Mã dự án (MaDA), Tên dự án (TenDA), Quản lý dự án (PM), Timesheet (TIMESHEET): MaTimesheet, Tên Timesheet (Ten_Timesheet), Cơng làm (CongLam), Nghỉ có lương (NghiCoLuong), Nghỉ khơng lương
(NghiKhongLuong)
Bước 4: Xây dựng mơ hình ER
Bước 5: Chuyển từ mơ hình ER sang mơ hình dữ liệu quan hệ
Quan hệ: n-1
Thêm vào quan hệ “Nhân viên” thuộc tính khóa của quan hệ “Phòng ban” NHANVIEN (MaNV, MaPB, Ho_NV, Ten_NV,Email, CMTND, SoTK, NgaySinh, MaSoThue, TheBHYT, TDHV, DiaChi, SDT, NgayBatDau)
Quan hệ n-n:
Nội suy ra quan hệ mới là “ ChiTietDuAn” với các thuộc tính là TGBD, TGKT và hai thuộc tính là hai thuộc tính khóa ( MaNV, MaDA) từ hai bảng Nhân Viên và Dựa án
Quan hệ n-n:
Nội suy ra quan hệ mới là “ChitietTimesheet” với các thuộc tính Thời gian vào (Thoigianvao), thời gian ra (Thoigianra), Ngày (Ngay) và thuộc tính khóa ở hai bảng NhanVien và Timesheet
ChiTietTimeSheet (MaTS, MaNV,Thoigianvao, Thoigianra, Ngay)
Kết luận: Ta có các quan hệ chuẩn sau:
NHANVIEN (MaNV, MaPB, Ho_NV, Ten_NV, Email, CMTND, SDT, DiaChi, ChucVu, NgayBatDau, LoaiNV, MaSoThue, BHYT, TĐHV)
PHONGBAN (MaPB, ,TenPB, DiaDiem) DUAN (MaDA, TenDA, PM)
TIMESHEET (MaTS) ,TenTS,CongLam, NghiCoLuong, Nghikhongluong) Bước 6: Mơ hình dữ liệu quan hệ