Tải bản đầy đủ (.docx) (15 trang)

Hệ thống quản lý nhân sự

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (242.91 KB, 15 trang )

BÁO CÁO BÀI TẬP
LÝ THUYẾT CƠ SỞ DỮ LIỆU

Nhóm 1
Lớp:
Giáo viên hướng dẫn:

Tin học 10A
Nguyễn Văn Giang

1


Mục lục

I. Mô tả bài toán
1. Tổng quan về hệ thống quản lý
Quản lý là cách biểu hiện một ý chí muốn biến đổi và thuần phục một tổng thể các hiện
tượng. Đó là việc tạo ra các sự kiện, thay vì để cho các sự kiện xảy ra bộc phát. Đây không
phải là sự lắp ráp các nhiệm vụ rời rạc mà là hoạt động phân biệt rõ ràng với các chức năng
khác của tổ chức.
Trong những năm trước đây khi máy tính chưa được sử dụng rộng rãi trong các hệ
thống quản lý, các hệ thống quản lý này đều phải thực hiện theo phương pháp thủ công và hệ
thống quản lý nhân sự cũng nằm trong số đó.
2. Mục tiêu
Mục tiêu của quản lý nhân sự là nhằm cung cấp cho doanh nghiệp một lực lượng lao
động có hiệu qủa (effective). Ðể đạt được mục tiêu này, các nhà quản lý phải biết cách tuyển
dụng,
phát
triển,
đánh


giá,

duy
trì
nhân
viên
của
mình.
Ðể có được nguồn nhân sự đáp ứng cho chiến lược phát triển, quản lý nhân sự phải nhằm
vào thực hiện bốn mục tiêu cơ bản sau đây:
- Thuộc về xã hội: Công ty phải đáp ứng nhu cầu và thách đố của xã hội, công ty hoạt
động vì lợi ích của xã hội chứ không phải chỉ của riêng mình.
- Thuộc về tổ chức: Quản lý nhân sự là tìm cách thích hợp để các bộ phận cũng như
toàn bộ doanh nghiệp có được những người làm việc có hiệu quả. Quản lý nhân sự tự nó
không phải là cứu cánh; nó chỉ là một phương tiện giúp công ty đạt được các mục tiêu. Hệ
thống quản lý nhân sự có chức năng thường xuyên thông báo cho ban lãnh đạo về các mặt
công tác: tổ chức lao động, tiền lương... cho nhân viên, hệ thống này được đặt dưới sự chỉ
đạo trực tiếp của giám đốc.Với chức năng như vậy, hệ thống quản lý nhân sự có nhiệm vụ
luôn cập nhật hồ sơ cán bộ công nhân viên theo quy định, thường xuyên bổ xung những
2


thông tin thay đổi trong quá trình công tác của cán bộ công nhân viên, việc theo dõi và quản
lý lao động để thanh toán lương cũng là nhiệm vụ quan trọng của hệ thống. Ngoài ra, công
tác thống kê báo cáo tình hình theo yêu cầu của ban giám đốc cũng là nhiệm vụ không thể
thiếu trong hệ thống quản lý cán bộ .
- Thuộc về cá nhân: Nhà quản lý phải giúp nhân viên mình đạt được các mục tiêu cá
nhân của họ. Nhà quản lý phải nhận thức rằng nếu lãng quên mục tiêu cá nhân của nhân viên,
năng suất lao động sẽ giảm, và nhân viên có thể rời bỏ doanh nghiệp.
Để đạt được các mục tiêu trên, cần phải có các hoạt động quản lý nhân sự cụ thể.

3. Yêu cầu của hệ thống và những khó khăn
Trước một khối lượng nhân viên cũng như các yêu cầu đặt ra thì việc quản lý theo
phương pháp thủ công sẽ không thể đáp ứng được, do đó gặp rất nhiều khó khăn. Nó đòi hỏi
phải có nhiều nhân lực, nhiều thời gian và công sức, mỗi nhân sự của cơ quan thì có một hồ
sơ cho nên việc lưu trữ, tìm kiếm, bổ sung, sửa đổi để đáp ứng yêu cầu không phải là dễ
dàng.
Từ những nhược điểm trên ta thấy cần thiết phải có một hệ thống tin học hoá cho việc
quản lý nhân sự cũng như các hệ thống quản lý khác.
4. Những yêu cầu đặt ra đối với hệ thống
Cùng với sự phát triển của xã hội, công tác tổ chức quản lý cũng cần được đầu tư và
phát triển để có thể đáp ứng tốt đuợc yêu cầu cũng như giúp cấp lãnh đạo thực hiện tốt các
chủ trương chính sách đối với cán bộ công nhân viên chức.
Trước hết để quản lý được một khối lượng nhân viên của một cơ quan, phải tổ chức tốt
hệ thống lưu trữ hồ sơ để có thể đáp ứng được những yêu cầu: tiết kiệm tài nguyên, dễ tìm
kiếm, dễ bổ sung sửa đổi. Ngoài ra hệ thống mới phải có khả năng phát hiện lỗi và xử lý
kiểm tra tính đúng đắn của dữ liệu ngay từ khi cập nhật.
5. Quy trình xử lý
5.1. Quản lý nhân sự
-

Quản lý nhân sự về hồ sơ nhân sự. Thường xuyên cập nhật thông tin nhân sự về
quá trình đào tạo,quá trình công tác và quá trình nâng lương của nhân sự.
Báo cáo nhân sự khi được yêu cầu.
Quản lý, tính lương.
3


5.2. Quản lý công tác
- Hàng tháng bộ phận phải lập báo cáo tình hình nhân sự cho lãnh đạo và gửi hồ sơ
nhân viên cho bộ phận quản lý .

-

Lập danh sách nhân sự.

5.3. Hệ thống áp dụng theo quy tắc
- Báo cáo nhân sự đúng theo yêu cầu.
- Quản lý nhân sự đúng theo qui định
- Nhân viên làm việc đúng theo hợp đồng lao động.

II. Phân tích thiết kế mô hình cơ sở dữ liệu
1. Xây dựng mô hình ER về hệ thống quản lý nhân sự
Mô hình liên kết thực thể ER:

4


2. Mô hình quan hệ
a.NHANVIEN(Manv, Ho, TenDem, Ten, GioiTinh, NamSinh, QueQuan, MaPhongBan,
MaChucVu, MaNgoaiNgu, MaTrinhDo, BacLuong, MaHopDong )
b.PHONGBAN(IDPB, TenPhongBan, SDTNoiBo, TruongPhong )
5


c.CHUCVU(IDCV, TenChucVu )
d.HOPDONG(MaHD, NgayBatDau, NgayKetThuc )
e.BANGLUONG(BacLuong, LuongCoBan, HeSoPhuCap, HeSoBaoHiem, ThueCaNhan)
f.MANGOAINGU(IDNN, NgoaiNguChinh )
g.TRINHDO(IDTD, LoaiTrinhDo )
h.BANGCHAMCONG(Manv, Thang, SoNgayLam, SoNgayNghi, SoNgayLamThem )
3. Kiểm tra các dạng chuẩn của lược đồ quan hệ thu được

Xét bảng NHANVIEN
Kiểm tra dạng chuẩn 1:
- Không có thuộc tính lặp lại
- Không có thuộc tính đa trị
Kiểm tra dạng chuẩn 2:
- Thỏa mãn dạng chuẩn 1
- Phụ thuộc hàm đầy đủ vào Manv
Kiểm tra dạng chuẩn 3:
- Thỏa mãn dạng chuẩn 2
- Các thuộc tính chỉ phụ thuộc vào Manv và không có thuộc tính phụ thuộc bắc cầu

4. Mô tả các mối quan hệ và các ràng buộc toàn vẹn.
CSDL quản lý nhân sự mô tả tất cả các thông tin liên quan đến nhân sự,phòng ban,chức
vụ,hợp đồng, quá trình công tác,trình độ học vấn.
6












Mỗi nhân viên thuộc 1 phòng ban nhất định mỗi phòng có tên duy nhất và mã phòng
duy nhất, 1 trưởng phòng và ở 1 địa điểm nhất định. Trong một phòng ban có thể có 1
nhân viên hoặc nhiều nhân viên cùng tham gia làm việc.

Mỗi nhân viên chỉ có thể được hưởng 1 bậc lương nhất định có cả thưởng theo số ngày
làm thêm và trừ với số ngày nghỉ. Nhiều nhân viên có thể cùng hưởng chung 1 mức
lương cố định.
Mỗi nhân viên có 1 hợp đồng do công ty lưu trử khi tham gia làm việc trong công
ty.căn cứ vào ngày bắt đầu và ngày kết thúc ,loại hình tham gia để biết được thời gian
mà mổi nhân viên tham gia làm việc tại công ty.mối hợp đồng chỉ chứa thông tin đăng
kí làm việc của duy nhất 1 nhân viên.
Mỗi chức vụ có thể do 1 hoặc nhiều nhân viên đảm nhiệm, mỗi nhân viên chỉ có 1
chức vụ.
Mỗi nhân viên được quản lý việc đi làm bằng bảng chấm công.
Mỗi nhân viên chứa các thông tin về nhân viên đó bao gồm:tên,tuổi,ngày sinh,giới
tinh,quê quán,……vv… làm việc cho một phòng ban ,có chức vụ nhất định,có hợp
đồng lao động đối với công ty đó.Mỗi nhân viên được theo dõi hoạt động của mình
thông qua quá trình công tác,trình độ học vấn và quá trinh đào tạo khi làm viêc ở công
ty…
<các khóa chính và khóa ngại được mô tả ở mô hình quan hệ.>

III. Xây dựng CSDL trên SQL
1. Thiết kế các bảng dữ liệu và các khóa chính, khóa ngoại
Create database QLNS_Ver1
Use QLNS_Ver1
Create table NGOAINGU
(
7


IDNN int primary key,
NgoaiNguChinh nvarchar(50) not null
)
Create table TRINHDO

(
IDTD int primary key,
LoaiTrinhDo nvarchar(50) not null
)
Create table PHONGBAN
(
IDPB char(10) primary key,
TenPhongBan nvarchar(50) not null,
SDTNoiBo char(10) null,
TruongPhong char(10) null
)
Create table CHUCVU
(
IDCV int primary key,
TenChucVu nvarchar(50) not null
)
Create table HOPDONG
(
MaHD int primary key,
NgayBatDau date not null,
NgayKetThuc date not null
)
Create table BANGLUONG
(
BacLuong int primary key,
LuongCoBan int not null,
HeSoPhuCap float null,
HeSoBaoHiem float not null,
ThueCaNhan float not null
)

8


Create table NHANVIEN
(
Manv char(10) primary key,
Ho nvarchar(50) not null,
TenDem nvarchar(50) null,
Ten nvarchar(50) not null,
GioiTinh nvarchar(5) not null,
NamSinh int null,
QueQuan nvarchar(20) not null,
MaPhongBan char(10) foreign key (MaPhongBan) references
PHONGBAN (IDPB),
MaChucVu int foreign key (MaChucVu) references CHUCVU (IDCV),
MaNgoaiNgu int foreign key (MaNgoaiNgu) references NGOAINGU
(IDNN),
BacLuong int foreign key (BacLuong) references BANGLUONG
(BacLuong),
MaHopDong int foreign key (MaHopDong) references HOPDONG
(MaHD),
)
Create table BANGCHAMCONG
(
Manv char(10) foreign key (Manv)references NHANVIEN (Manv),
SoNgayLam int null,
SoNgayNghi int null,
SoNgayLamThem int null
)


9


2. Vẽ Diagram (trong SQL server) cho cơ sở dữ liệu bài toán

3. Mô tả quá trình cấp quyền người dùng trên CSDL của mình
- Đầu tiên tạo 1 user mới. Ở đây là “QLNS” với cơ sở dữ liệu mặc định là QLNS_Ver1.
- Trong mục Security của Server chọn Login. Nháy phải chọn New Login. Nhập tên Login
ở Login Name. Chọn SQL Ser authentication.
- Nhập password và xác nhận password vào Password, Confirm Password. Chọn cơ sở dữ
liệu mặc định tại Default database. Chọn CSDL của mình là QUANLYNHANSU_BTL. Rồi
OK.
- Cấp quyền cho người dùng này tới cơ sở dữ liệu của mình Trong mục Security của
Database của mình.
+ Nháy phải mục Users chọn New Users.
+ Mục User type: SQL user with login Login name: Chọn QLNS Default schema: Chọn
quyền muốn trao cho người dùng này User name: Để là QLNS OK là được.

10


4. Thực hiện các truy vấn sử dụng các câu lệnh đã học
a. Select
Use QLNS_Ver1
Go
Select *from NHANVIEN
Select *from PHONGBAN
Select *from CHUCVU
--Lấy ra toàn bộ thông tin nhân viên, sắp xếp theo tuổi giảm
dần

Select *, YEAR(GETDATE()) - NamSinh as Tuoi from NHANVIEN
order by Tuoi desc
--Lấy ra danh sách nhân viên nam
Select *from NHANVIEN where GioiTinh = 'Nam'
--Lấy ra danh sách nhân viên nam nhỏ hơn 30 tuổi
Select *from NHANVIEN where GioiTinh = 'Nam' and
YEAR(GETDATE()) - NamSinh < 30
--Lấy ra danh sách nhân viên nam nhỏ hơn 30 tuổi có trình độ
Đại Học
Select Manv, Ho+' '+TenDem+' '+Ten as HoVaTen,
YEAR(GETDATE())- NamSinh as Tuoi, temp.LoaiTrinhDo from
NHANVIEN,
(Select IDTD, LoaiTrinhDo from TRINHDO where IDTD = 4 ) as
temp
where
NHANVIEN.MaTrinhDo = temp.IDTD and GioiTinh = 'Nam' and
YEAR(GETDATE()) - NamSinh < 30
--Đếm số lượng nhân viên của từng phòng ban
select MaPhongBan,TenPhongBan, count(*) as SL from PhongBan,
NhanVien
where PhongBan.IDPB=NhanVien.MaPhongBan group by
MaPhongBan,TenPhongBan

11


b. Insert
--Thêm mã hợp đồng
insert into HOPDONG values(103,'3-5-2013','9-5-2013')


c. Update
--Sửa thông tin nhân viên
update NHANVIEN set Ten=N'Đương' where Manv = 00115
d. Delete
--Xóa thông tin nhân viên
Delete NHANVIEN where Ten like N'%Đương’
e. Grant
--Thêm quyền sửa CSDL cho User
Grant update
on QLNS_Ver1
To AAA
f. Alter
--câu lệnh alter:
alter table NHANVIEN add test int
alter table NHANVIEN drop column test
5. Tạo view để khai thác dữ liệu
create view vidu
as
select Manv, Ten, TenPhongBan, TenChucVu
from NHANVIEN inner join PHONGBAN on NHANVIEN.MaPhongBan =
PHONGBAN.IDPB
inner join CHUCVU on NHANVIEN.MaChucVu = CHUCVU.IDCV
Select *from vidu
6. Tạo thủ tục lưu trữ trong khai thác dữ liệu
--Thêm phòng ban
Create proc Them_PhongBan
@IDPB char(10),
12



@TenPhongBan nvarchar(50),
@SDTNoiBo char(10),
@TruongPhong nchar(10)
as
Begin
insert into PHONGBAN values(@IDPB, @TenPhongBan, @SDTNoiBo,
@TruongPhong)
end
go
exec Them_PhongBan 11111, AAAAA, 1111, 11111
--Hiển thị danh sách nhân viên theo mã phòng ban
Create proc NV_PB
@IDPB char(10)
as
Begin
select *from NHANVIEN where MaPhongBan like @IDPB
end
Go
exec NV_PB 3
--Tính số lượng nhân viên của tất cả các phòng ban
Create proc NV_Dem2
as
select MaPhongBan,TenPhongBan, count(*) as SL from PhongBan,
NhanVien
where PhongBan.IDPB=NhanVien.MaPhongBan group by
MaPhongBan,TenPhongBango
exec NV_Dem2

s


13


7. Tạo hàm (function) khai thác dữ liệu
--Tính lương nhân viên
Create function func_tinhluong()
returns table
as
return
(
Select NHANVIEN.Manv, NHANVIEN.Ten,
(BangChamCong.SoNgayLam*BANGLUONG.LuongCoBan+BangChamCong.SoNg
ayLamThem*BANGLUONG.LuongCoBan*BANGLUONG.HeSoPhuCapBangChamCong.SoNgayNghi*BANGLUONG.LuongCoBan*BANGLUONG.HeSoPhu
Cap(BangChamCong.SoNgayLam*BANGLUONG.LuongCoBan+BangChamCong.SoNg
ayLamThem*BANGLUONG.LuongCoBan*BANGLUONG.HeSoPhuCapBangChamCong.SoNgayNghi*BANGLUONG.LuongCoBan*BANGLUONG.HeSoPhu
Cap)*BANGLUONG.ThueCaNhan(BangChamCong.SoNgayLam*BANGLUONG.LuongCoBan+BangChamCong.SoNg
ayLamThem*BANGLUONG.LuongCoBan*BANGLUONG.HeSoPhuCapBangChamCong.SoNgayNghi*BANGLUONG.LuongCoBan*BANGLUONG.HeSoPhu
Cap)*BANGLUONG.HeSoBaoHiem)
AS Luong
from NHANVIEN inner join BangChamCong on NHANVIEN.Manv =
BangChamCong.Manv
inner join BANGLUONG on NHANVIEN.bacluong = BANGLUONG.bacluong
)
go
select *from func_tinhluong()
--Đưa ra danh sách phòng ban , tham số truyền vào
Create function DSABC(@MAPB char(10))
returns table
as
return select Manv, Ten from NHANVIEN where MaPhongBan=@MAPB

go
select *from DSABC(3)
14


8. Tạo trigger
--Xóa thông tin nhân viên ở bảng chấm công sau khi xóa ở bảng
nhân viên
Create trigger Xoa_NV on NHANVIEN
Instead of delete
As
Begin
Declare @Manv char(10)
Select @Manv = Manv from deleted
Delete from BangChamCong where Manv = @Manv
Delete from NHANVIEN where Manv = @Manv
End
Go
--Thêm nhân viên ở bảng nhân viên thì sẽ tự động thêm mã nhân
viên ở bảng chấm công.
Create trigger Insert_NV on NHANVIEN
After Insert
as
Begin
Declare @Manv char(10)
Select @Manv = Manv from inserted
Insert into BangChamCong values (@Manv,0,0,0,
Month(getdate()))
end
go

Insert into NHANVIEN values(999,N'Anh', N'Anh', N'Anh',
N'Nam', 1990, N'Hanoi',3,4,3,3,3,101)

15



×