Cùng với sự phát triển mạnh mẽ của công nghệ thông tin, nhiều doanh nghiệp vừa và nhỏ ở Việt Nam đã và đang tiếp cận với các công cụ hỗ trợ quản lý lương như phần mềm tính lương, phần mềm kế toán… Đối với các công ty, nhà xưởng quy mô nhỏ, với tài chính hạn chế nhưng có nhu cầu vẫn có thể sử dụng các hệ quản trị cơ sở dữ liệu đơn giản, gọn nhẹ như Microsoft Access để xây dựng cơ sở dữ liệu quản lý lương cho đơn vị mình. Với phạm vi đó đề tài “Truy vấn hệ cơ sở dữ liệu quản lý lương của Xưởng may Thanh Lan” mong muốn mang đến tính thiết thực, có thể ứng dụng đươc.
Trang 1LỜI MỞ ĐẦU
Quản lý là một khái niệm chung dùng để chỉ việc điều hành hoạt động trong các tổ chức cơ quan nhà máy, xí nghiệp Nó đóng vai trò quan trọng, là nhân tố quyết định sự tồn tại và phát triển của cơ quan, xí nghiệp.
Quản lý lương là một trong các chức năng chính của quản lý nhân sự Làm tốt công tác quản lý lương góp phần không nhỏ giúp các nhà quản lý nắm được tình hình tài chính, năng suất làm việc của nhân viên…giúp cho công tác quản lý nhanh gọn, hiệu quả hơn.
Cùng với sự phát triển mạnh mẽ của công nghệ thông tin, nhiều doanh nghiệp vừa và nhỏ ở Việt Nam đã và đang tiếp cận với các công cụ hỗ trợ quản lý lương như phần mềm tính lương, phần mềm kế toán…
Đối với các công ty, nhà xưởng quy mô nhỏ, với tài chính hạn chế nhưng có nhu cầu vẫn có thể sử dụng các hệ quản trị cơ sở dữ liệu đơn giản, gọn nhẹ như Microsoft Access để xây dựng cơ sở dữ liệu quản lý lương cho đơn vị mình Với phạm vi đó, nhóm 5 quyết định chọn đề tài “Truy vấn hệ cơ sở dữ liệu quản lý lương của Xưởng may Thanh Lan”- với mong muốn mang đến tính thiết thực, có thể ứng dụng đươc.
Trong quá trình làm bài, do hạn chế trong kiến thức, chắc chắn không tránh khỏi thiếu sót Rất mong nhận được ý kiến đóng góp của thầy cô và các bạn.
Xin chân thành cảm ơn !
Nhóm thực hiện
Trang 2I Mô tả bài toán:
Xưởng may Thanh Lan là một xưởng may có uy tín ở Xã Cổ Nhuế- huyện Từ Liêm- Hà Nội Xưởng hiện có hơn 30 công nhân với các công việc khác nhau như thợ may, thợ cắt, thợ xếp vải, thợ là, thợ gấp quần áo
Quy trình tính lương cho nhân viên của xưởng may:
Nhân viên làm việc theo ngày, mỗi ngày làm 8 tiếng, số tiếng làm hơn được tính là tăng ca Mỗi tháng làm 29 ngày,
Mức lương chính cho mỗi vị trí công việc trong xưởng:
Thợ may: 8 000 000 đồng/tháng
Thợ cắt: 6 500 000 đồng/tháng
Thợ xếp vải: 3000 000 đồng/ tháng
Thợ là, gấp : 3 500 000 đồng/ tháng
Tính theo giờ : 9000 đồng/ tiếng
Tăng ca: 15 000 đồng/ tiếng
Ngày tăng ca: 100 000 đồng/ ngày
Bên cạnh đó, tùy vào năng suất làm việc và chất lượng sản phẩm, nhân viên có thể đươc nhận thêm tiền thưởng, lĩnh cùng với lương cuối tháng Nếu làm hỏng sản phẩm ( làm cháy, rách ) thì sẽ phải đền bù tùy theo thiệt hại.Nếu nghỉ thì sẽ trừ lương số tiền theo quy định của xưởng là 9 000 đồng * số tiếng nghỉ, nghỉ một ngày quy ra số giờ tương đương là 8 tiếng
Xưởng có chế độ bảo hiểm cho nhân viên Bảo hiểm được đóng tùy theo chế độ đóng bảo hiểm của công ty bảo hiểm và lương của từng nhân viên Hiện bảo hiểm của nhân viên trong xưởng là 5% lương chính
Tổng lương được tính: Lương chính+ thưởng + tiền tăng ca
Lương thực lĩnh của nhân viên được tính : Lương chính+ thưởng+ tiền tăng ca- bảohiểm- ứng trước-phạt- nghỉ= Tổng lương- bảo hiểm-ứng trước-phạt-nghỉ
Mô tả bài toán quản lý lương của xưởng:
Xưởng quản lý thông tin về nhân viên bao gồm : mã nhân viên ( duy nhất),tên nhân viên, giới tính,địa chỉ
Xưởng có nhiều vị trí công việc khác nhau, mỗi nhân viên chỉ làm ở một vị trí côngviệc duy nhất một vị trí có thể có nhiều nhân viên cùng làm
Trang 3Có nhiều mức lương cơ bản khác nhau tùy thuộc vào vị trí công việc khác nhau.Các nhân viên được theo dõi bằng một sổ chấm công hàng tháng, dựa trên các thông tin: mã nhân viên, số ngày làm việc, số giờ nghỉ, số ngày tăng ca, số giờ tăng ca, lương cơ bản, tạm ứng, tiền thưởng,tiền phạt….Mỗi nhân viên được theo dõi ở một bảngchấm công, một bảng chấm công dùng để theo dõi nhiều nhân viên Mỗi nhân viên có một mã chấm công duy nhất.
Một nhân viên có thể được thưởng hoặc bị phạt nhiều lần trong một tháng
Việc tính lương cho nhân viên phụ thuộc vào quá trình làm việc của nhân viên mỗi tháng
Hàng tháng thông tin được cập nhật lại để tính lương cho tháng mới
II Xây dựng mô hình ER và mô hình quan hệ.
1 Xác định các tập thực thể và các thuộc tính, thuộc tính khóa.
SongaylamSogionghiSongaytc Sogiotc MucluongTamungThuong Phat
Trang 4Sổ chấm công theo dõi nhân viên thông qua mã nhân viên Mỗi nhân viên được theo dõi qua một sổ chấm công, một sổ chấm công dùng để theo dõi nhiều nhân viên.
3 Mô hình ER:
Trang 64 Chuyển đổi về mô hình quan hệ
Quy tắc chuyển đổi từ mô hình thực thể liên kết sang mô hình quan hệ:
Liên kết đa ngôi (n>2)
Chuyển thành một quan hệ có cùng tên với tên mối liên kết đa ngôi Khóa chính là
tổ hợp các khóa của tập các thực thể tham gia liên kết
Trang 7Dựa vào các nguyên tắc trên, ta có mô hình quan hệ:
Quan hệ VTCONGVIEC
Trang 8Quan hệ SOCHAMCONG
Quan hệ THUONG
Quan hệ PHAT
IV Truy vấn Cơ sở dữ liệu quản lý lương của xưởng may Thanh Lan.
Trang 9Nhập dữ liệu cho các quan hệ như sau:
quan hệ VTCONGVIEC:
Quan hệ NHANVIEN:
Quan hệ SOCHAMCONG
Trang 10Quan hệ THUONG:
Trang 11Quan hệ PHAT
Trang 12Thực hiện các truy vấn:
1 Tính tổng mức thưởng và tổng mức phạt của mỗi nhân viên
Thực hiện phép gom nhóm với điều kiện gom nhóm là tổng mức thưởng/mức phạt của mỗi nhân viên, thuộc tính gom nhóm là maNV và macong
TONGTHUONG MaNV,macong ℑsum (thuong ) (THUONG)
P MaNV,macong,tongthuong (TONGTHUONG)
MaNV,macong ℑsum(phat )(PHAT)
P MaNV,macong,tongphat (TONGPHAT)
Trang 13Các bước truy vấn trong hệ quản trị cơ sở dữ liệu Microsoft Access:
Bước 1: Khởi động Access
Bước 2 Bước 2:Chọn create → query design → chọn Close để đóng cửa sổ
show table chọn View → SQL view.
Trang 14Bước 3: gõ câu lệnh rồi ấn “Run” để chạy câu lệnh và thực hiện truy vấn
Kết quả của truy vấn trên sẽ hiện ra như bảng:
Trang 15Tương tự với tổng mức phạt với mỗi nhân viên, ta có kết quả:
Trang 162. Cho biết tổng lương và lương thực nhận mà mỗi nhân viên nhận được cùng với các thông tin về mã nhân viên, tên nhân viên, công việc đang làm, các thông tinchấm công: mức lương, số ngày làm, số ngày tăng ca, số giờ nghỉ, số giờ tăng ca, bảo hiểm, tạm ứng, tiền thưởng, tiền phạt.đặt tên cho quan hệ mới này là LUONGCN
Tổng lương= Mucluong+tongthuong+sogiotc*15000+songaytc*100000
Lương thực nhận= Tổng lương- tongphat- baohiem- tamung-sogionghi*9000
Truy vấn bằng ngôn ngữ đại số quan hệ:
Thực hiện phép kết tự nhiên để tổng hợp các bộ dữ liệu từ các quan hệ
NHANVIEN,VTNHANVIEN,SOCHAMCONG,TONGTHUONG,TONGPHAT Thực hiện phép chiếu trên quan hệ mới nhận được để lấy thông tin về nhân viên, vị trí công việc và thông tin liên quan đến chấm công, tính tổng lương và lương thực nhận
VTCONGVIEC.Mucluong, SOCHAMCONG.Songaylam, SOCHAMCONG.Sogionghi, SOCHAMCONG.Tamung, SOCHAMCONG.Sogiotc, SOCHAMCONG.Songaytc,
SOCHAMCONG.Baohiem, TONGTHUONG.tongthuong, TONGPHAT.tongphat,
(LUONGCN)
Trang 17(SOCHAMCONG.mucluong+TONGTHUONG.tongthuong+SOCHAMCONG.sogiotc*15000+SOCHAMCONG.songaytc*100000) AS tongluong,
(SOCHAMCONG.mucluong+TONGTHUONG.tongthuong+SOCHAMCONG.sogiotc*15000+SOCHAMCONG.songaytc*100000-SOCHAMCONG.sogionghi*9000-
SOCHAMCONG.baohiem-TONGPHAT.tongphat-SOCHAMCONG.tamung) AS luongthucnhan
FROM VTCONGVIEC INNER JOIN (((NHANVIEN INNER JOIN TONGPHAT
ON NHANVIEN.MaNV = TONGPHAT.MaNV) INNER JOIN TONGTHUONG ON NHANVIEN.MaNV = TONGTHUONG.MaNV) INNER JOIN SOCHAMCONG ONNHANVIEN.MaNV = SOCHAMCONG.MaNV) ON VTCONGVIEC.MaCV =
NHANVIEN.MaCV;
Kết quả nhận được là một quan hệ mới có tên LUONGCN
Trang 193 Cho biết các thông tin của nhân viên có tổng lương lớn hơn hoặc bằng
6000 000, tổng lương bằng 6000 000.
Truy vấn bằng ngôn ngữ đại số quan hệ:
B1 Kết hai bảng NHANVIEN và LUONGCN để lấy thông tin về nhân viên
B2 Thực hiện phép chọn trên quan hệ mới nhận được với điều kiện tổng lương lớn hơn hoặc bằng 6000000 ( hoặc bằng 6000000)
B3 Thực hiện phép chiếu để lấy các thông tin thỏa mãn điều kiện
MaNV,TenNV ,gioitinh,ngaysinh,diachi,maCV (σtongluong>=6000000 ( NHANVIEN ⨝ LUONGCN)
Truy vấn bằng ngôn ngữ SQL:
SELECT NHANVIEN.*, LUONGCN.tongluong
FROM NHANVIEN INNER JOIN LUONGCN ON
Trang 20Nếu thay điều kiện WHERE (LUONGCN.tongluong=6000000);
Kết quả :
4 Cho biết thông tin chấm công của các nhân viên có mức lương là 8000000.
Thực hiện phép chọn trên quan hệ SOCHAMCONG
Trang 215 Cho biết có bao nhiêu nhân viên có lương thực nhận > 5000000 hoặc nhỏ hơn 1000000.
B1 Chọn trong LUONGCN những nhân viên có lương >5000000 hoặc <1000000B2 Thực hiện phép gom nhóm, sử dụng hàm COUNT để đếm danh sách vừa chọn ra
ℑ COUNT(σ ( luongthucnhan>6000000)^(luongthucnhan<1000000) (LUONGCN)
Trang 226 Tìm thông tin của những nhân viên vừa được thưởng, vừa bị phạt.
Truy vấn bằng ngôn ngữ đại số quan hệ:
MaNV,TenNV ,gioitinh,ngaysinh,diachi,maCV ( thuong>0^phat>0 ( NHANVIEN ⨝ LUONGCN))
Truy vấn bằng ngôn ngữ SQL:
SELECT NHANVIEN.*, LUONGCN.tongthuong, LUONGCN.tongphat FROM NHANVIEN INNER JOIN LUONGCN ON NHANVIEN.MaNV =
LUONGCN.MaNV
WHERE (((LUONGCN.tongthuong)>0) AND ((LUONGCN.tongphat)>0));
Kết quả thu được: