- Áp dụng các kiến thức về cơ sỡ dữ liệu để phân tích, thiết kế cơ sở dữ liệu trong công ty để xây dựng chương trình quản lý nhân viên và tính lương cho nhân viên tự động, thực hiện một
Trang 1BỘ CÔNG THƯƠNG
TRƯỜNG CAO ĐẲNG CÔNG THƯƠNG TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
Trang 2MỞ ĐẦU
1 Lý do thực hiện đề tài và lời cảm ơn
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, các hoạt động kinh doanh…
ở nước ta hiện nay, việc áp dụng tin học trong việc quản lý tại các cơ quan xí nghiệp đang
rất phổ biến và trở nên cấp thiết Nhưng một vấn đề đặt ra là trong việc quản lý làm thế
nào để chuẩn hóa cách xử lý dữ liệu bởi mỗi cơ quan có một cách xử lý khác nhau Đó
cũng là một vấn đề còn nhiều hạn chế của đội ngũ nhân viên trong việc quản lý các cơ
quan xí nghiệp của nước ta
Một thực trạng là các công ty thường mời các chuyên viên phần mềm vi tính viết chương
trình nhưng họ không hiểu chương trình được viết như thế nào, hoặc ứng dụng được phân
tích ra sao
Họ chỉ biết làm theo sự chỉ dẫn của công ty phần mềm khi sử dụng, khi muốn thay đổi
nhỏ lại phải mời chuyên viên vì họ là người viết ra nó
Với mong muốn giúp các bạn hiểu về tầm quan trọng của việc phân tích thiết kế một hệ
thống quản lý Em đã cố gắng để áp dụng đưa ra một phương pháp trong việc giải quyết
bài toán quản lý tính lương nhân viên trên nền access, đây cũng chỉ là phương pháp trong
nhiều phương pháp, nó có thể chưa hoàn thiện nhưng cũng phần nào giúp chúng ta hiểu
được vai trò của việc phân tích thiết kế và xây dựng quản lý tính lương cho một công ty,
Mặc dù có nhiều cố gắng để hoàn thành nhưng thời gian có hạn và kinh nhiệm chưa
nhiều nên việc xây dựng hệ thống còn nhiều thiếu xót cần được bổ sung chỉnh sửa
Vì vậy em mong nhận được ý kiến đóng góp của thầy cô bạn bè để đề tài đươc hoàn thiện
hơn
Cuối cùng em xin chân thành cảm ơn thầy Hoàng Trọng Thạch đã tận tình chỉ bảo hướng
dẫn em hoàn thành đồ án này
2 Nội Dung của Đề tài:
Đề tài nghiên cứu và thực hiện bao gồm 3 chương:
Chương 1: Nhiệm vụ mục tiêu & Khảo sát bài toán tính lương nhân viên
1.1 Nhiệm vụ, mục tiêu của bài toán
1.2 Khảo sát bài toán và xác định ưu diểm Access trong công tác quản lý
Chương 2: Các Thao tác xây dựng chương trình
2.1 Xây dựng cơ sở dữ liệu
2.2 Thiết kế Truy vấn (Query)
2.3 Thiết kế Biểu mẫu (Form)
2.4 Thiết kế Báo cáo (Report)
2.5 Thiết kế Macro
2.6 Thiết kế Hệ thống Menu và Giao diện chương trình
Chương 3: Báo cáo tổng thể và tự đánh giá chương trình
Trang 3NỘI DUNG Chương 1: NHIỆM VỤ, MỤC TIÊU VÀ KHẢO SÁT BÀI TOÁN
QUẢN LÝ VÀ TÍNH LƯƠNG NHÂN VIÊN CÔNG TY
1.1 Nhiệm vụ và mục tiêu của bài toán
1.1.1 Nhiệm vụ của bài toán
- Tìm hiểu cơ cấu tổ chức và quản lý nhân viên cũng như cách tính lương của một công ty
- Khảo sát tình hình thực tế và quá trình tính lương của nhân viên một công ty
- Áp dụng các kiến thức về cơ sỡ dữ liệu để phân tích, thiết kế cơ sở dữ liệu trong công ty để xây dựng chương trình quản lý nhân viên và tính lương cho nhân viên
tự động, thực hiện một số công việc bằng máy tính có thể thay thế một phần công việc cho con người
1.1.2 Mục tiêu của bài toán
- Nghiên cứu, thiết kế và thử nghiệm bài toán quản lý nhân viên và tính lương để từ
đó phân tích thiết kế chương trình quản lý nhân viên và tính lương nhân viên công
ty sao cho chính xác và hợp lý
1.2 Khảo sát bài toán và xác định ưu điểm của Access trong công tác quản lý
1.2.1 Cơ cấu tổ chức và cách tính lương của một công ty
Sơ đồ cơ cấu tổ chức và cách tính lương của một công ty vừa và nhỏ
Trong việc công ty việc quản lý các nhân viên sẽ được chia thành các phòng ban để tiện
cho việc quản lý, các hoạt động cũng như quá trình làm việc của nhân viên sẽ được trực
tiếp quản lý bởi các trưởng phòng, trưởng phòng sẽ được điều khiển hoạt động bởi giám
đốc
Giám đốc
Các Phòng Ban Nhân viên
Trưởng các Phòng Ban
Trang 4Quy trình tính lương của nhân viên một công ty
Thông thường quá trình tính lương nhân viên công ty được thực hiện theo quy trình
như sau:
Quy trình tính lương của nhân viên công ty được thực hiện sau mỗi tháng làm việc, mỗi
ngày nhân viên làm việc được ghi nhận thời gian làm việc, số giờ làm việc tăng ca… để
đến cuối tháng thời gian làm việc cũng như các vấn đề liên quan đến nhân viên sẽ được
ghi nhận để tiến hành tính lương
Sau quá trình khảo sát thực trạng và tiến hành tìm hiểu các vấn đề liên quan đến tính
lương nhân viên cho các công ty, em áp dụng cách tính lương nhân viên như sau:
Nhân viên làm việc tính trên thời gian ngày, mỗi ngày làm việc 8 giờ Số giờ làm việc lớn
hơn 8 giờ/ngày sẽ được tính vào giờ tăng ca, số ngày làm việc được quy định trên tháng
là 26 ngày Số ngày làm việc quá 26 ngày/tháng sẽ được tính vào số ngày làm tăng ca
Tùy thuộc vào môi trường làm việc cũng như hiệu quả làm việc của mỗi nhân viên mà
các công ty có một chế độ tiền thưởng và phụ cấp cho nhân viên khác nhau, số tiền
thưởng hay phụ cấp này sẽ được tính theo hàng tháng cho nhân viên
Ngoài các khoản tiền nhân viên sẽ được nhận trong quá trình làm việc, các nhân viên còn
phải thực hiện nhiệm vụ đóng các khoản bảo hiểm, các khoản bảo hiểm này sẽ được tính
theo chế độ đóng bảo hiểm của công ty bảo hiểm và tùy vào khoản lương làm việc
(Không tính lương tăng ca), khoản tiền bảo hiểm này sẽ được tính cho từng nhân viên và
số tiền này sẽ được chuyển sang công ty có hợp đồng bảo hiểm ứng với từng nhân viên
Lương thực lĩnh cuối cùng nhận được của nhân viên sẽ được tính như sau: Khoản lương
chính làm việc (Không tính khoản lương tăng ca) + Khoản lương tăng ca + Các khoản
tiền phụ cấp, thưởng – Khoản tiền đóng bảo hiểm – Các khoản tiền nhân viên ứng trước
1.2.2 Đặc tả Bài toán quản lý và tính lương nhân viên công ty
công ty, cập nhật chỉnh sửa thông tin nhân viên cũng như quản lý sơ yếu lý lịch
của nhân viên vừa mới tuyển dụng vào công ty…
Chấm công và ghi nhận số liệu
Quá trình làm việc của
nhân viên trong tháng
Tính lương và chi trả lương cho nhân viên
Trang 5- Quản lý thông tin chấm công của nhân viên hàng tháng: được quản lý dựa vào
một số thông tin thuộc tính quan trọng như: Số ngày làm việc, số giờ làm thêm,
tiền thưởng, tiền phụ cấp, số tiền ứng trước và hệ số lương
theo phòng ban, để khi tiến hành tính lương hoàn tất chúng ta sẽ chi trả lương
cho nhân viên theo từng phòng ban nhằm tạo cho công tác chi trả lương được
chặt chẽ hơn
lẽ sau mỗi tháng làm việc ta sẽ tiến hành cập nhập lại thông tin về quá trình
làm việc của nhân viên để từ đó chương trình sẽ tự động tính lương và in bảng
lương cho nhân viên theo từng yêu cầu cụ thể
phải đạt yêu cầu là dễ chỉnh sửa và dễ thay đổi theo hoàn cảnh công ty
1.2.3 Quy trình các dòng thông tin đầu vào cần thực hiện
1.2.4 Ưu điểm khi sử dụng Access trong công tác quản lý
Một phần mềm quản lý viết trên nền Access với những ưu điểm như sau:
Tính năng dễ sử dụng, có thể giúp người quản lý dễ chỉnh sửa dữ liệu cũng như cập
nhật thông tin một cách kịp thời, nhanh chóng và chính xác
Trong điều kiện tin học phát triển như hiện nay thì việc sử dụng tin học văn phòng
đang rất phổ biến và nhất thiết đòi hỏi mọi người cần có những kỹ năng văn phòng nhất
định, chính vì thể mà phần mềm quản lý được viết trên nền Access nằm trong bộ Office
của tập đoàn Microsoft là một lợi thế cho người sử dụng quản lý là một việc dễ dàng với
Thông tin đầu vào
Thông tin nhân viên Quá trình làm việc
Thông tin đầu ra: Hồ sơ nhân viên, Bảng lương của nhân viên, Thống kê lương phòng ban…
Trang 6những chi phí rất thấp, rút ngắn thời gian cũng như nâng cao công tác quản lý được chặt
chẽ hơn
Không những thế người sử dụng còn có thể thay đổi một số tính năng của phần mềm
để có thể phù hợp với từng điều kiện, hoàn cảnh cũng mục đích quản lý của chính người
sử dụng
Chương 2: CÁC THAO TÁC XÂY DỰNG CHƯƠNG TRÌNH
2.1 Xây dựng cơ sở dữ liệu
2.1.1 Khái niệm về cơ sở dữ liệu Access
Cơ sở dữ liệu Access là một đối tượng bao gồm tập hợp các bảng dữ liệu, các kết nối
giữa các bảng được thiết kế một cách phù hợp để phục vụ lưu trữ dữ liệu cho một ứng
dụng quản lý dữ liệu nào đó
Ví dụ: Cơ sở dữ liệu Quản lý và tính lương nhân viên bao gồm tập hợp các bảng dữ liệu:
THONGTIN_NVCT, CHAMCONG, PHONGBAN, HESOLUONG, PHUCAP, THUONG
được kết nối với nhau một cách phù hợp phục vụ lưu trữ dữ liệu cho ứng dụng quản lý và
tính lương cho nhân viên công ty Toàn bộ cấu trúc cơ sở dữ liệu quản lý và tính lương
nhân viên trên Access được mô tả như sau:
THONGTIN_NVCT
MANV
HONV TENNV GIOITINH NGAYSINH DIACHI CHUCVU TRINHDO
MHSL MAPHUCAP MA_PHONG MATHUONG
BHXH BHYT
Trang 72.1.2 Thiết kế Bảng dữ liệu (Tables)
Cơ sở lý luận
- Bảng dữ liệu (Tables) là một phần quan trọng nhất của Cơ sở dữ liệu Mỗi một
Table cho phép lưu trữ một đối tượng trong cơ sở dữ liệu Một cơ sở dữ liệu có
thể có rất nhiều bảng, các bảng phải được thiết kế sao cho có thể lưu trữ được
đầy đủ dữ liệu cần thiết, đảm bảo giảm tối đa tình trạng gây dư thừa dữ liệu,
đồng thời tạo môi trường làm việc thuận lợi cho việc phát triển ứng dụng trong
các bước tiếp theo
Một bảng dữ liệu trên Access bao gồm các thành phần: Tên bảng, các trường dữ liệu,
trường khoá, tập hợp các thuộc tính cần thiết cho mỗi trường dữ liệu và tập hợp các bản
ghi
- Hình 1.1: Mô tả một bảng dữ liệu trong trạng thái Datasheet
- Hình 1.2: Mô tả một bảng dữ liệu trong trạng thái Design view
Mỗi cột dữ liệu của bảng sẽ tương ứng với một trường dữ liệu Mỗi trường dữ liệu sẽ có
một tên gọi và tập hợp các thuộc tính miêu tả trường dữ liệu đó ví dụ như: kiểu dữ liệu,
Mỗi cột là một trường dữ liệu
Mỗi dòng là một bản ghi
Trường khóa chính
Tập hợp các thuộc tính của trường dữ liệu
Trang 8trường khoá, độ lớn, định dạng
Xây dựng cấu trúc bảng (Tables) trong trương trình quản lý- tính lương
- Để giải quyết bài toán về xây dựng hệ thống quản lý tính lương cho nhân viên
công ty ta cần thiết lập các Bảng dữ liệu như sau: Bảng thông tin nhân viên
(THONGTIN_NVCT), Bảng chấm công nhân viên (CHAMCONG), Bảng
thông tin về phòng ban nhân viên (PHONGBAN), Bảng cho biết thông tin hệ
số lương nhân viên (HESOLUONG), Bảng thông tin về phòng ban nhân viên
công ty (PHONGBAN), Bảng cho biết thông tin về số tiền phụ cấp (PHUCAP)
và số tiền thưởng (THUONG)
- Và dưới đây là các bảng được xây dựng cho chương tình quản lý nhân viên và
tính lương:
-Bảng Phòng Ban: PHONGBAN (MAPHONG, TENPHONG, TEN_TRUONGPHONG),
trong đó trường MAPHONG là khóa chính
-Bảng Thông Tin Nhân Viên Chi Tiết:
THONGTIN_NVCT (MANV, HONV, TENNV, GIOITINH, NGAYSINH, DIACHI,
CHUCVU, TRINHDO, MAHSL, MAPHUCAP, MA_PHONG, MATHUONG, BHXH, BHYT) trong đó trường MANV là khóa chính
Trang 9-Bảng Phụ Cấp: PHUCAP (MAPHUCAP, TIENPHUCAP) trong đó trường MAPHUCAP là
khóa chính
-Bảng Hệ Số Lương: HESOLUONG (MAHSL, HSLUONG) trong đó trường MHSL là khóa
chính
Trang 10-Bảng Phụ Cấp: PHUCAP (MAPHUCAP, TIENPHUCAP) trong đó trường MAPHUCAP là
khóa chính
-Bảng Thưởng: THUONG (MATHUONG, TIENTHUONG) trong đó trường
MATHUONG là khóa chính
Trang 11-Bảng Chấm Công Nhân Viên:
HSLUONG, TIENTHUONG, TIENPHUCAP, UNGTRUOC) trong đó trường MACONG là khóa chính
Trang 12Thiết lập quan hệ cho các Bảng (Relationship)
Sau khi tạo xong các Bảng dữ liệu, ta tiến hành liên kết các bảng dữ liệu lại với nhau để
dữ liệu của từng bảng có thể kết nối trở thành một hệ thống lưu trữ dữ liệu hoàn chỉnh
Tạo liên kết cho các bảng cở sở dữ liệu như sau:
- Bảng THONGTIN_NVCT liên kết 1-n với bảng CHAMCONG thông qua
Tiến hành nhập Dữ liệu cho các Bảng
Sau khi tạo liên kết cho các bảng ta có thể tiến hành nhập dữ liệu cho bảng một
cách dễ dàng và chính xác
Chú ý : Một số lỗi có thể xảy ra khi nhập dữ liệu
- Nhập vào giá trị không tương thích với kiểu dữ liệu của trường đã chỉ định
- Không nhập giá trị hoặc để trống giá trị trường khoá
Trang 13Sau đây ta tiến hành nhập dữ liệu cho tất cả các bảng cho chương trình quản lý và tính lương nhân viên công ty như sau:
Thưởng (THUONG), Bảng Phụ cấp (PHUCAP) và Bảng Hệ số lương
(HESOLUONG), trong đó Mã phòng (MA_PHONG), Mã thưởng
(MATHUONG), Mã Phụ cấp (MAPHUCAP) và Mã Hệ số lương (MHSL) giữa
các trường phải khác nhau (Lưu ý: đối với 4 bảng này ta thực hiện nhập dữ liệu
cho bảng nào trước cũng được)
(THONGTIN_NVCT), ở đây mỗi nhân viên phải có một mã duy nhất, Trong đó trường Mã Phòng, Mã Phụ cấp, Mã Hệ số và Mã Thưởng phải được quy định lần
lượt trong các Bảng Phòng ban (PHONGBAN), Bảng Phụ cấp (PHUCAP), Bảng
Hệ số lương (HESOLUONG) và Bảng Thưởng (THUONG)
công (MCONG) phải khác nhau giữa các trường vì mỗi nhân viên chỉ tồn tại một
mã chấm công duy nhất, Mã nhân viên (MANV) ở bảng chấm công cũng phải duy
nhất, khác nhau giữa các trường và phải được quy định ở bảng Thông tin nhân
viên (THONGTIN_NVCT), dữ liệu nhập vào ở mục Hệ số lương (HSLUONG)
phải được quy định trong bảng Hệ số lương, Tiền thưởng (TIENTHUONG) phải
được quy định trong bảng Tiên thưởng và Tiền phụ cấp (TIENPHUCAP) phải
được quy định trong bảng Phụ cấp
2.2 Thiết kế truy vấn dữ liệu (Query)
2.2.1 Cơ sở lý luận
Truy vấn dữ liệu (Queries) là một công cụ xử lý dữ liệu trực quan, hữu hiệu trên
Access và cho phép đặt câu hỏi với dữ liệu trong bảng dữ liệu trong Cơ sở dữ liệu
Có rất nhiều dạng yêu cầu xử lý dữ liệu như: Trích, lọc, hiển thị dữ liệu, tổng hợp,
thống kê, thêm, xóa, cập nhật dữ liệu,…Vì vậy sẽ tồn tại một số loại Query tương ứng
để giải quyết các yêu cầu xử lý dữ liệu trên
2.2.2 Sự cần thiết của truy vấn trong việc xử lý dữ liệu
Khi đứng trước một vấn đề nào đó trong cơ sở dữ liệu, nếu sử dụng công cụ truy vấn
thì chúng ta có thể thực hiện một số yêu cầu sau một cách nhanh chóng và chính xác:
- Lấy dữ liệu từ nhiều bảng khác nhau trong cơ sở dữ liệu
- Thực hiện các phép tính, thay đổi dữ liệu trong bảng
- Lựa chọn bản ghi cần thiết để xem, sắp xếp bảng ghi theo yêu cầu
- Sử dụng truy vấn để làm nguồn dữ liệu cho một biểu mẫu (Form), báo cáo
(Report) hay một truy vấn khác…
Trang 14Ví dụ 1: Truy vấn Crosstab Query thống kê số lượng nhân viên ở các phòng ban hiện tại
trong công ty, ở truy vấn này ta sử dụng dữ liệu nguồn là 2 bảng THONGTIN_NVCT và
PHONGBAN, trong đó trường tên phòng được nhóm theo hàng, trường mã phòng được
nhóm theo cột và trường mã nhân viên được thực hiện phép tính đếm
Ta sẽ có kết quả sau khi chạy Query trên như sau:
Ví dụ 2: Truy vấn Select Query cho biết lương thực lĩnh của những công nhân, kèm theo
một số thông tin như chức vụ và trình độ Ở truy vấn này ta sử dụng dữ liệu nguồn là 2
bảng THONGTIN_NVCT và Query Hiển thị lương (Trước khi thực hiện truy vấn này, ta
phải ra một truy vấn tính lương thực lĩnh của nhân viên dựa vào bảng chấm công trước),
khi đó ở trường chức vụ ta thực hiện thao tác như hình dưới để thống kê những giá trị
lương của công nhân
Trang 15Ta sẽ có kết quả sau khi chạy Query trên như sau:
2.2 Thiết kế Biểu mẫu (Form)
2.2.1 Cơ sở lý luận
mềm, là bộ phận giao tiếp giữa người dùng với ứng dụng, cung cấp một hình thức trình bày hết sức tiện nghi để xem, nhập và hiệu chỉnh các bản ghi trong cơ sở dữ liệu
- Với người dùng, Form là giao diện để sử dụng phần mềm, còn với những
người phát triển phần mềm, Form là những cái phải thiết kế và tạo ra sao cho người sử dụng nó cảm thấy thoải mái, phù hợp và dễ sử dụng nhất
- Ưu điểm lớn nhất của Form là có thể tính toán trực tiếp bằng các phép toán
thông dụng, chứa các biểu đồ, có thể hiển thị dữ liệu từ nhiều bảng hoặc truy vấn và tự động hóa một số thao tác phải làm thường xuyên
Nhập vào hàng Criteria Like “Công Nhân*”
Trang 162.3.2 Một số Form ( Biểu Mẫu) trong chương trình
- Form cập nhật chi tiết thông tin nhân viên: Ở form này người dùng có thể sử dụng
một số chức năng minh họa trên form để thực hiện một số thao tác cập nhật, khi ta cập
nhật trên form này thì dữ liệu sẽ được lưu vào các Bảng và chức năng của nó không
khác với khi ta thao tác với bảng
nhập mã nhân viên trên form để xem nhanh một số thông tin liên quan đến nhân viên, khi
sử dụng form này ta cần phải nhập đúng mã nhân viên có trong công ty khi đó thao tác
tìm kiếm mới được thực hiện
Trang 17- Form xem bảng lương nhân viên toàn công ty: Ở form này người dùng chỉ nhấn vào nút
xem trước hay in bảng lương ra giấy là có thể xem được bảng lương của toàn bộ nhân
viên trong công ty