CHƯƠNG 2 : CƠ SỞ LÝ LUẬN VỀ THIẾT KẾ CSDL QUẢN LÝ NHÂN SỰ
3.3. Đánh giá thực trạng
Đội ngũ nhân viên chun nghiệp, trình độ chun mơn cao, ham hỏi, tiếp cận cơng nghệ nhanh chóng phục vụ lợi ích của cơng ty, đầy sáng tạo, nhiệt huyết của tuổi trẻ
Công ty luôn chú trọng đến phát triển con người, tạo mọi điều kiện tốt nhất cho nhân viên làm việc cũng như nâng cao trình độ chun mơn. Mơi trường làm việc trẻ trung, năng động, thân thiện. Mọi người trong cơng ty coi nhau như gia đình lớn, chia sẻ trong công việc cũng như trong cuộc sống. Bên cạnh đó, các chính sách đãi ngộ, lương thưởng tốt, đánh giá tăng lương chính xác theo năng lực.
Bên cạnh những ưu điểm trên, việc quản lý nhân sự trong công ty vẫn tồn tại một số nhược điểm sau:
Do việc chấm công bằng vân tay, import dữ liệu vào file excel dễ bị nhầm lẫn giữa các ID, xử lý thông tin chậm chạp. Tùy từng bảng lương của mỗi người, bộ phận nhân sự phải tính tốn tổng giờ làm, giờ nghỉ, giờ làm thêm. Việc này gây tốn thời gian, cơng sức và chi phí của cơng ty
Quy mơ cơng ty sẽ được mở rộng, số lượng nhân viên sẽ gia tăng, việc quản lý theo cách thủ cơng sẽ gây khó khăn, khơng mang lại hiệu quả cao, gây khó khăn khi lượng thơng tin cần lưu trữ tăng lên
Bên cạnh đó, việc lưu trữ giấy tờ, hồ sơ dễ gặp rủi ro do quản lý không chặt chẽ, mất mát, nhầm lẫn, chế độ bảo mật không cao, việc sửa chữa, cập nhật hồ sơ của nhân viên gặp nhiều khó khăn.
Khơng đồng bộ trong việc cập nhật thêm mới hay thay đổi thơng tin dẫn tới sai sót, bảo mật khơng cao
Đối với nhân viên, nếu muốn làm thêm giờ hay xin phải đăng ký và phải được sự đồng ý của trưởng nhóm, khi có bất kỳ thắc mắc, phản hồi gì, nhân viên phải gặp
trực tiếp bộ phận nhân sự để giải quyết, việc này gây tốn thời gian cho cả nhân viên, lãnh đạo và bộ phận nhân sự.
Chính vì vậy, việc thiết kế ra phần mềm quản lý nhân sự với một cơ sở dữ liệu chặt chẽ, đầy đủ là việc rất quan trọng và cần thiết. Công ty càng phát triển thì càng phải chú trọng nhiều hơn đến việc quản lý nhân sự.
CHƯƠNG 4: THIẾT KẾ CƠ SỞ DỮ LIỆU CHO HỆ THỐNG QUẢN LÝ NHÂN SỰ TẠI CÔNG TY TNHH GIẢI PHÁP PHẦN MỀM GIA LINH
4.1. Mơ tả bài tốn
Hệ thống quản lý nhân sự thực hiện một số chức năng chính với CSDL như sau:
Quản lý nhân viên: Tại đây, mọi thông tin của nhân viên bao gồm: Mã nhân
viên, Email, Họ tên, CMTND, SĐT, phòng ban, chức vụ, Địa chỉ, STK, Mã sơ thuế, Trình độ học vấn, ngày bắt đầu, Loại nhân viên (Chính thức, thử việc, part-time) và thông tin người thân bao gồm Họ tên bố/mẹ/anh(chị)em, quê quán. Chức năng này giúp cho người dùng dễ dàng tìm kiếm, thêm mới, sửa xóa thơng tin của nhân viên một cách nhanh chóng và chính xác nhất, tiết kiệm thời gian, chi phí
Quản lý phịng ban: Chức năng này giúp người dùng có thể tìm kiếm, thêm
mới, sửa xóa phịng ban. Trong mỗi phịng ban sẽ có Mã phịng ban, tên phịng ban, Leader, Số nhân viên chính thức, nhân viên thử việc, nhân viên partime.
Quản lý dự án: Mỗi nhân viên sẽ tham gia vào một hay nhiều dự án của công
ty. Thông tin dự án bao gồm: Mã dự án, Tên dự án, Nhân viên tham gia vào dự án, thời gian bắt đầu triển khai dự án. Người dùng dễ dàng tìm kiếm, thêm mới, sửa xóa các dự án, biết được các dự án mà công ty đang thực hiện và nhân viên nào đang tham gia dự án nào để có phương án điều chỉnh sao cho phù hợp
Quản lý Timesheet: Tại Timesheet, tồn bộ thơng tin về thời gian ra vào công
ty, số giờ làm trong ngày, số giờ OT, giờ đi sớm/trễ, giờ nghỉ đều được cập nhật cụ thể và chi tiết của từng nhân viên theo từng ngày và được gửi đến nhân viên vào cuối tháng. Từ đó lấy căn cứ để làm bảng lương cho nhân viên. Thông thường, nhân viên muốn đăng ký OT hay xin nghỉ thì đều phải mail đến cho bộ phận nhân sự và cho các Leader, với hệ thống mới này, nhân viên chỉ cần vào tài khoản của mình và đăng ký ngay trên hệ thống một cách tiện lợi và nhanh chóng.
Báo Cáo: Báo cáo được thực hiện theo định kỳ hay khi có yêu cầu đột xuất của ban lãnh đạo trong cơng ty
Ta có sơ đồ phân cấp chức năng
Hình 4.1: Sơ đồ phân cấp chức năng4.2. Thiết kế CSDL 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 tố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ệ
4.2.2. Thiết kế CSDL mức vật lý
[1] Tạo cấu trúc bảng
Bảng nhân viên (NHANVIEN)
Tên cột Ý nghĩa Kiểu dữ liệu Độ rộng
MaNV Mã nhân viên nvarchar 20
Ho_NV Họ nhân viên nvarchar 50
Ten_NV Tên nhân viên nvarchar 50
Email Địa chỉ email nvarchar 50
CMTND Chứng minh thư nhân dân int
SĐT Số điện thoại int
MaSoThue Mã số thuế int
BHYT Bảo hiểm y tế int
TĐHV Trình độ học vấn nvarchar 100
Bảng Phòng ban (PHONGBAN)
Tên cột Ý nghĩa Kiểu dữ liệu Độ rộng
MaPB Mã phòng ban nvarchar 20
MaNV Mã nhân viên trong phòng ban nvarchar 20
TruongPhong Trưởng phịng nvarchar 100
Nvchinhthuc Nhân viên chính thức nvarchar 100
Nvthuviec Nhân viên thử việc nvarchar 100
Nvparttime Nhân viên part-time nvarchar 100
Bảng Dự án (DUAN)
Tên cột Ý nghĩa Kiểu dữ liệu Độ rộng
MaDA Mã dự án nvarchar 20
MaNV Mã nhân viên nvarchar 20
TenDA Tên dự án nvarchar 100
PM Trưởng dự án
(Project Manager)
Bảng Timesheet (TIMESHEET)
Tên cột Ý nghĩa Kiểu dữ liệu Độ rộng
TenTimesheet Tên Timesheet nvarchar 50
MaNV Mã nhân viên nvarchar 20
Sogiolam Số giờ làm int
Sogionghi Số giờ nghỉ int
SogioOT Sô giờ làm thêm int
Sogionghiphep Số giờ nghỉ phép int Thoigianvao Thời gian vào time
Thoigianra Thời gian ra time
[2] Cài đặt trên SQL Server 2012
Tạo CSDL, tạo các bảng
Create Database QuanLy_NhanSu Go
Use QuanLy_NhanSu Go
Create Table PHONGBAN (
MaPB nvarchar (20) PRIMARY KEY, TenPB nvarchar (100),
DiaDiem nvarchar (100) );
Create Table LOAINV (
MaLoai nvarchar(20) PRIMARY KEY, TenLoai nvarchar (50),
);
Create Table TIMESHEET (
MaTimesheet nvarchar (20) PRIMARY KEY, TenTimesheet nvarchar (50),
NghiCoLuong int, NghiKhongLuong int, );
Create Table DUAN
(MaDA nvarchar(20) PRIMARY KEY, TenDA nvarchar(100),
PM nvarchar (100)); Create Table NHANVIEN (
MaNV nvarchar (20) PRIMARY KEY, Ho_NV nvarchar (50), Ten_NV nvarchar (50), MaLoai nvarchar (20), MaPB nvarchar (20), Email nvarchar (50), NgaySinh date, CMTND int, SDT int, ChucVu nvarchar (100), SoTK int, MaSoThue int, TheBHYT int, TDHV nvarchar (200), DiaChi nvarchar (200), NgayBatDau date,
Constraint FK1 foreign key (MaPB) references PHONGBAN(MaPB), Constraint FK2 foreign key (MaLoai) references LOAINV(MaLoai), );
Create Table ChiTietTimeSheet (
MaTimesheet nvarchar (20), MaNV nvarchar (20),
Thoigianra time, Ngay date,
Constraint PR Primary key (MaTimesheet, MaNV),
Constraint FK3 foreign key (MaTimesheet) references TIMESHEET(MaTimesheet),
Constraint FK4 foreign key (MaNV) references NHANVIEN(MaNV), );
Create Table ChiTietDuAn (
MaDA nvarchar(20), MaNV nvarchar(20), TGBD date,
TGKT date,
Constraint PR1 primary key (MaDA,MaNV),
Constraint FK5 foreign key (MaDA) references DUAN(MaDA), Constraint FK6 foreign key (MaNV) references NHANVIEN(MaNV), );
Một số câu lệnh truy vấn
Câu 1: Hiển thị tổng số nhân viên làm việc trong phòng kỹ thuật
Câu 3: Viết thủ tục đưa ra thơng tin nhân viên có mã nhân viên (MaNV=NV001)
gồm: Họ tên, Email, CMTND
Câu 4: Đưa ra thông tin nhân viên tham gia vào nhiều dự án nhất
Câu 6: Hiển thị thơng tin nhân viên có số cơng làm lớn nhất trong tháng 1
4.3. Thiết kế giao diệnNhân Viên Nhân Viên
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.SqlClient; namespace QuanLyNhanSu {
public partial class QLNhanVien : Form {
public QLNhanVien() {
InitializeComponent(); }
private void HienThi () {
SqlConnection ht = new SqlConnection(@"Data Source=DESKTOP- ENV5Q8C\SQLEXPRESS;Initial Catalog=QuanLy_NhanSu;Integrated Security=True");
ht.Open();
string sql = "select * from NHANVIEN";
SqlCommand cmd = new SqlCommand(sql, ht); SqlDataAdapter com = new SqlDataAdapter(cmd); DataTable table = new DataTable();
com.Fill(table);
}
private void QLNhanVien_Load(object sender, EventArgs e) { HienThi(); } } } Phịng Ban
Hình 4.5: Giao diện chức năng quản lý Phòng Ban
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;
using System.Data.SqlClient; namespace QuanLyNhanSu {
public partial class QuanLyPhongBan : Form {
public QuanLyPhongBan() {
InitializeComponent(); }
private void HienThi() {
SqlConnection ht = new SqlConnection(@"Data Source=DESKTOP- ENV5Q8C\SQLEXPRESS;Initial Catalog=QuanLy_NhanSu;Integrated Security=True");
ht.Open();
string sql = "select * from PHONGBAN"; SqlCommand cmd = new SqlCommand(sql, ht); SqlDataAdapter com = new SqlDataAdapter(cmd); DataTable table = new DataTable();
com.Fill(table);
DsPB.DataSource = table; }
private void QuanLyPhongBan_Load(object sender, EventArgs e) {
HienThi(); }
} }
Dự Án Hình 4.6: Giao diện Dự án using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.SqlClient; namespace QuanLyNhanSu {
public partial class QuanLyDuAn : Form {
{
InitializeComponent(); }
private void HienThi() {
SqlConnection ht = new SqlConnection(@"Data Source=DESKTOP- ENV5Q8C\SQLEXPRESS;Initial Catalog=QuanLy_NhanSu;Integrated Security=True");
ht.Open();
string sql = "select D.*, C.MaNV, C.TGBD, C.TGKT from DUAN D INNER JOIN ChiTietDuAn C ON D.MaDA = C.MaDA ";
SqlCommand cmd = new SqlCommand(sql, ht); SqlDataAdapter com = new SqlDataAdapter(cmd); DataTable table = new DataTable();
com.Fill(table);
DsDA.DataSource = table; }
private void QuanLyDuAn_Load(object sender, EventArgs e) { HienThi(); }
}
TimeSheet
Hình 4.7: Giao diện Timesheet
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.SqlClient; namespace QuanLyNhanSu {
public partial class QLTimeSheet : Form {
public QLTimeSheet() {
InitializeComponent(); }
private void HienThi() {
SqlConnection ht = new SqlConnection(@"Data Source=DESKTOP- ENV5Q8C\SQLEXPRESS;Initial Catalog=QuanLy_NhanSu;Integrated Security=True");
ht.Open();
string sql = "select t.*, c.MaNV, c.Thoigianvao, c.Thoigianra, c.Ngay from TIMESHEET t INNER JOIN ChiTietTimeSheet c ON t.MaTimeSheet = c.
MaTimeSheet";
SqlCommand cmd = new SqlCommand(sql, ht); SqlDataAdapter com = new SqlDataAdapter(cmd); DataTable table = new DataTable();
DsTS.DataSource = table; }
private void QLTimeSheet_Load(object sender, EventArgs e) { HienThi(); } } } Báo cáo
Hình 4.8: Giao diện Báo CáoXem chi tiết báo cáo Xem chi tiết báo cáo
Hình 4.9: Giao diện chi tiết Báo Cáo Dự án
4.4. Một số đề xuất cho việc thiết kế CSDL cho hệ thống quản lý nhân sự cho côngty TNHH Giải pháp phần mềm Gia Linh ty TNHH Giải pháp phần mềm Gia Linh
Để thực hiện việc tốt việc thiết kế CSDL cho hệ thống quản lý nhân sự, cơng ty cần đầu tư về tài chính, nhân sự, trang thiết bị, cơ sở vật chất. Dưới đây là một số yêu cầu cơ bản nhất.
Đối với phần cứng
Sử dụng hệ điều hành Window
Cấu hình máy: Sử dụng bộ vi xử lý: Intel Core 17; Dung lượng ổ cứng: 40GB; Bộ nhớ: 2GB RAM.
Đối với phần mềm
Các máy tính đều được cài đặt các chương trình của CSDL, hệ quản trị CSDL như SQL Server, Access, My SQL.
Đối với nhân sự
Trong quá trình làm việc với CSDL, mọi nhân viên cần tham gia đóng gọp ý kiến, học hỏi cái mới để phục vụ cho công việc.
Khi hệ thống đưa vào triển khai và hoạt động, có thể sẽ gặp những sai sót, hạn chế cần xác nhận lại để đưa ra kết quả chính xác và nhanh nhất.
KẾT LUẬN
Ngày nay, khoa học công nghệ ngày càng phát triển, thông tin ngày càng trở nên phong phú, đa dạng và phức tạp.Việc áp dụng khoa học công nghệ vào lĩnh vực đời sống con ngừoi càng tăng và không ngừng can thiệp vào hầu hết các công việc trong đời sống. Công nghệ thông tin là một trong những ngành khoa học đó. Cơng nghệ thơng tin giúp cuộc sống con người trở nên năng động, nhẹ nhàng hơn, mọi vấn đề được quản lý dễ dàng, nhanh chóng, tiện lợi hơn, giảm thiểu tối đa thời gian, công sức của con ngừoi.
Cùng với sự phát triển nhanh “chóng mặt”của cơng nghệ thơng tin trên thế giới cũng như Việt Nam, công nghệ thông tin trở thành một ngành công nghiệp mũi nhọn không thể thiếu trong viêc áp dụng vào các hoạt động xã hội như: Quản lý, kinh tế, thơng tin..Hiện nay đã có rất nhiều cơng ty, doanh nghiệp áp dụng các phần mềm quản lý như quản lý bán hàng, quản lý dịch vụ chăm sóc khách hàng., quản lý nhân sự.
Công ty TNHH Giải pháp phần mềm Gia Linh đã và đang trên đà phát triển nhanh chóng, quy mô công ty đang ngày càng mở rộng, tuy nhiên hệ thống quản lý nhân sự trong cơng ty vẫn cịn thủ cơng, việc xây dựng CSDL chặt chẽ, hiệu quả cho hệ thống là điều vô cùng quan trọng.
Với đề tài “Thiết kế CSDL cho hệ thống quản lý nhân sự tại công ty TNHH Giải pháp phần mềm Gia Linh” là một đề tài địi hỏi phải có sự nghiên cứu sâu rộng, chặt chẽ. Là một sinh viên với kiến thức cịn non kém, bài khóa luận của em khơng tránh khỏi những thiếu sót, kính mong các thầy cơ góp ý để bài khóa luận của em được hồn chỉnh hơn.
TÀI LIỆU THAM KHẢO
1. Giáo trình Cơ sở dữ liệu (phần 1), TS.Nguyễn Thị Thu Thủy, NXB Thống kê năm 2014
2. Giáo trình Quản trị nhân sự căn bản, TS.Mai Thanh Lan, NXB Thống kê năm 2016
3. Theo từ điển Cambrige
4. Website của công ty: gialinh.net