BỘ GIÁO DỤC & ĐÀO TẠO ĐẠI HỌC UEH – TRƯỜNG CÔNG NGHỆ VÀ THIẾT KẾ KHOA CÔNG NGHỆ THÔNG TIN KINH DOANH BÁO CÁO KẾT THÚC HỌC PHẦN MÔN: CƠ SỞ DỮ LIỆU ĐỀ TÀI: XÂY DỰNG CƠ SỞ DỮ LIỆU CHO HỆ T
Trang 1BỘ GIÁO DỤC & ĐÀO TẠO ĐẠI HỌC UEH – TRƯỜNG CÔNG NGHỆ VÀ THIẾT KẾ KHOA CÔNG NGHỆ THÔNG TIN KINH DOANH
BÁO CÁO KẾT THÚC HỌC PHẦN
MÔN: CƠ SỞ DỮ LIỆU
ĐỀ TÀI: XÂY DỰNG CƠ SỞ DỮ LIỆU CHO
HỆ THỐNG QUẢN LÝ NHÂN SỰ
GIẢNG VIÊN HƯỚNG DẪN: Ths HỒ THỊ THANH TUYẾN
MÃ LỚP HỌC PHẦN: 22D1IF50900604
KHÓA: 46
TP Hồ Chí Minh, Ngày 13 tháng 5 năm 2022 Mục lục
Trang 2LỜI MỞ ĐẦU
Ngành khoa học tính toán hiện nay ngày càng được phát triển bên cạnh sự phát triển của công nghệ khoa học và kỹ thuật Vào thời đại 4.0, đời sống chúng ta hiện đại diễn
ra một cách dễ dàng và thuận lợi nhờ vào việc áp dụng các công nghệ khoa học kỹ thuật Ngành công nghệ thông tin là một trong những nhân tố trong sự phát triển đó Việc cho ra nhiều ứng dụng để hỗ trợ người dùng trong cuộc sống là yếu tố quyết định giúp cho ngành công nghệ thông tin ngày càng phát triển và trở thành 1 ngành “hot" với các bạn sinh viên
Không chỉ riêng tại Việt Nam, các nước trên thế giới ngày càng coi trọng ngành công nghệ thông tin là ngành công nghiệp mũi nhọn, một ngành khoa học không thể thiếu trong việc quản lý, kinh tế, thông tin,
Ở nước ta, việc ứng dụng công nghệ thông tin vào mô hình kinh doanh là một bước cải tiến vô cùng cấp thiết đối với từng doanh nghiệp Đặc biệt là việc kết hợp công nghệ thông tin với việc quản lý bộ máy Thế nhưng câu hỏi đặt ra là làm thế nào để chuẩn hóa cách xử lý dữ liệu ở các cơ quan, xí nghiệp, bởi mỗi xí nghiệp, cơ quan đều có một cách xử lý khác nhau Từ đây nói lên tầm quan trọng của việc phân tích vấn đề trong quản lý để kết hợp với việc quản lý dữ liệu bằng máy tính Chính vì độ phức tạp và đa dạng của dữ liệu mà đội ngũ quản lý sẽ không thể bao quát hết được cả bộ máy nếu chỉ dựa vào sức người, đây chính là hạn chế to lớn của đội ngũ quản lý tại các cơ quan, xí nghiệp ngày nay
Với mong muốn giúp doanh nghiệp hiểu được tầm quan trọng của việc phân tích thiết
kế một hệ thống thông tin tự động hóa trong lĩnh vực quản lý Nhóm chúng em đã xây dựng một mô hình cơ sở dữ liệu ứng dụng trong việc quản lý nhân sự dựa trên phần mềm SQL Server nhằm mang đến cái nhìn tổng quan và trực diện nhất về hệ thống quản lý này
Trang 3I KHẢO SÁT HỆ THỐNG
I.1 Tổng quan về hệ thống.
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 biểu hiện Đó 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ố đó
Trong thực tế, các bối cảnh về nền kinh tế tri thức bùng nổ, mỗi doanh nghiệp cá nhân cần phải cải tiến và nâng cao năng lực cạnh tranh và trong đó yếu tố của mỗi con người mang tính quyết định Hình ảnh những nhà kinh doanh đang tiếp tục cạnh tranh ngày càng gay gắt nên cần đòi hỏi tổ chức phải có nguồn nhân lực đủ mạnh để giải quyết những bài toán cực kỳ phức tạp, nhàm đòi hỏi sự bền vững của các tổ chức Để tối ưu hóa, nhà quản lý đã liên tục xây dựng các hệ thống thông tin nhân sự chuyên nghiệp và hiệu quả
I.2 Chức năng và nhiệm vụ của hệ thống.
Hệ thống quản lý nhân sự có chức năng thông báo thường xuyên, định kì 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 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ộ
I.3 Yêu cầu của hệ thống.
Trang 4Trước một khối lượng lớn 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 Vông việc đò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,
I.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 đượ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ổ xung 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
II PHÂN TÍCH VÀ THIẾT KẾ MÔ HÌNH CƠ SỞ DỮ LIỆU
II.1 Các chức năng cơ bản của hệ thống
Qua quá trình nghiên cứu, nhóm đã xây dựng được một hệ cơ sở dữ liệu quản lý nhân
sự cơ bản đáp ứng được một số yêu cầu của các doanh nghiệp như sau:
Quản lý thông tin nhân sự bao gồm đầy đủ, chi tiết về nhân sự trong doanh nghiệp
Theo dõi, cập nhật thường xuyên thông tin nhân sự, phòng ban, tổ đội trong doanh nghiệp
Tính lương cho nhân viên theo công thức có sẵn hoặc công thức do người sử dụng tự cập nhật vào, các chế độ đãi ngộ tương ứng
Trả hồ sơ cho nhân viên khi chấm dứt hợp đồng lao động
Bi u đồồ phân câấp ch c năng c a h thồấng qu n lý nhân s ể ứ ủ ệ ả ự
Trang 5II.2 Xây dựng mô hình ERD về hệ thống quản lí nhân sự
Các thực thể và thuộc tính tương ứng:
1 NHANVIEN (MANV, HOTEN, GIOITINH, NGSINH, DANTOC,
QUEQUAN, SDT_NV)
2 PHONGBAN (MAPB, TENPB, DIACHI, SDT_PB)
3 CHUCVU (MACV, TENCHUCVU)
4 TRINHDOHOCVAN (MATDHV, TENTRINHDO, CHUYENNGANH) LUONG (BACLUONG, LUONGCOBAN, HESOLUONG, HESOPHUCAP)
Mồ hình th c th kếất h p – ERD trong qu n lý nhân s ự ể ợ ả ự
II.3 Xây dựng mô hình cơ sở dữ liệu
Thiết kế các file dữ liệu
a Bảng NHANVIEN lưu trữ thông tin về các nhân viên của công ti đang trong hiệu lực của hợp đồng
STT Tên trường Kiểu Độ rộng Giải thích
7 SDT_NV Number 20 Số điện thoại liên lạc
Trang 68 MAPB Text 15 Mã phòng ban
G
b Bảng PHONGBAN lưu trữ các thông tin về nhiệm vụ của các phòng ban trong tổ chức doanh nghiệp
STT Tên trường Kiểu Độ rộng Giải thích
4 SDT_PB Text 20 Số điện thoại phòng ban
c Bảng CHUCVU quản lí các chức danh hiện có của kết cấu tổ chức trong doanh nghiệp
STT Tên trường Kiểu Độ rộng Giải thích
U
d Bảng TRINHDOHOCVAN quản lí các trình độ chuyên môn đã đạt được của nhân viên cho tới thời điểm hiện tại
STT Tên trường Kiểu Độ rộng Giải thích
2 TENTRINHDO Text 20 Tên trình độ học vấn
đào tạo
e Bảng LUONG lưu trữ thông tin về hệ số lương và các phụ cấp của doanh nghiệp
STT Tên trường Kiểu Độ
rộng
Giải thích
N
Trang 7f Bảng THOIGIANCONGTAC dùng để lưu trữ thời gian bắt đầu đảm nhiệm chức
vụ của mỗi nhân viên
STT Tên trường Kiểu Độ rộng Giải thích
chức
II.4 Thực hiện chuẩn hóa cơ sở dữ liệu.
Các bước chuyển từ Mô hình thực thể kết hợp (ERD) sang Mô hình quan hệ dữ liệu (RD).
Các tập thực thể (trừ tập thực thể yếu) chuyển thành các quan hệ có cùng tên và tập thuộc tính ta được các mô hình quan hệ CHUCVU, LUONG, NHANVIEN,
PHONGBAN, TRINHDOHOCVAN
Giữa thực thể NHANVIEN và CHUCVU là mối kết hợp nhiều – nhiều nên ta tạo được một quan hệ mới là THOIGIANCONGTAC với khóa chính là những thuộc tính khóa của các tập thực thể liên quan
Giữa thực thể NHANVIEN và LUONG, PHONGBAN, TRINHDOHOCVAN là mối kết hợp một – nhiều nên ta thêm vào quan - hệ - một NHANVIEN thuộc tính khóa của các quan – hệ - nhiều ở trên
Sau khi liệt kê các thuộc tính, loại bỏ các thuộc tính đa trị và thuộc tính lặp đồng thời xây dựng các phụ thuộc hàm và thực hiện chuẩn hóa ta đi đến kết luận các dạng chuẩn như sau:
a PHONGBAN (MAPB, TENPB, DIACHI, SDT_PB)
b NHANVIEN (MANV , HOTEN, DANTOC, GIOITINH, QUEQUAN,
NGSINH,SDT_NV,MACV,MAPB, MATDHV,BACLUONG)
c TRÌNHDOHOCVAN (MATDHV, TENTRINHDO)
d LUONG (BACLUONG, LUONGCOBAN, HESOLUONG, HESOPHUCAP)
e CHUCVU (MACV, TENCHUCVU)
f THOIGIANCONGTAC (MANV, MACV, NGAYNHAMCHUC)
Trang 8II.5 Thiết lập ràng buộc toàn vẹn cho dữ liệu
a Giới tính của nhân viên phải là Nam hoặc Nữ
Bối cảnh: NHANVIEN
Biểu diễn:
(t) (NHANVIEN(t) (t.GIOITINH=’Nam’
Bảng tầm ảnh hưởng:
b Mỗi nhân viên phải có mã nhân viên riêng biệt
Bối cảnh: NHANVIEN
Biểu diễn:
(t1,t2) (NHANVIEN(t1) NHANVIEN(t2) (t1 ≠ t2 => t1.MANV ≠ t2.MANV)
Bảng tầm ảnh hưởng:
c Mỗi phòng ban phải có mã phòng ban riêng biệt
Bối cảnh: PHONGBAN
Mồ hình quan h d li u – RD c a h thồấng qu n lý nhân s ệ ữ ệ ủ ệ ả ự
Trang 9 Biểu diễn
(t1,t2) (PHONGBAN(t1) PHONGBAN(t2) (t1 ≠ t2 => t1.MAPB ≠ t2.MAPB)
Bảng tầm ảnh hưởng:
d Mỗi trình độ học vấn phải có mã trình độ học vấn riêng biệt
Bối cảnh: TRINHDOHOCVAN
Biểu diễn:
(t1,t2) (TRINHDOHOCVAN(t1) TRINHDOHOCVAN(t2) (t1 ≠ t2 =>
t1.MATDHV ≠ t2.MATDHV)
Bảng tầm ảnh hưởng:
e Mỗi nhân viên phải trực thuộc một phòng ban nào đó
Bối cảnh: NHANVIEN, PHONGBAN
Biểu diễn:
(t) (NHANVIEN(t) s(PHONGBAN(s) s.MAPB = t.MAPB))
Bảng tầm ảnh hưởng:
f Ngày sinh của một nhân viên phải nhỏ hơn ngày nhận chức
Bối cảnh: THOIGIANCONGTAC, NHANVIEN
Biểu diễn
(t) (THOIGIANCONGTAC(t) s(NHANVIEN(s) s.MANV = t.MANV
s.NGSINH < t.NGAYNHAMCHUC))
Bảng tầm ảnh hưởng
NGAYNHAMCHUC)
Trang 10g Bậc lương của nhân viên phải nhỏ hơn trưởng phòng
Bối cảnh: NHANVIEN
Biểu diễn:
(t1,t2) (NHANVIEN(t1) NHANVIEN(t2) (t1.MACV=’NV’ ^ t2.MACV=’TP’
=> t1.BACLUONG < t2.BACLUONG)
Bảng tầm ảnh hưởng
MACV)
h Bậc lương của trưởng phòng phải nhỏ hơn giám đốc.
Bối cảnh: NHANVIEN
Biểu diễn:
(t1,t2) (NHANVIEN(t1) NHANVIEN(t2) (t1.MACV=’TP’ ^ t2.MACV=’GD’
=> t1.BACLUONG < t2.BACLUONG)
Bảng tầm ảnh hưởng
(BACLUONG,MACV)
III MÔ TẢ DỮ LIỆU CHO HỆ THỐNG
3.1 Kiểu dữ liệu cho các bảng
a Bảng NHANVIEN
STT TÊN THUỘC TÍNH KIỂU ĐỘ RỘNG GIẢI THÍCH
Trang 116 DANTOC Nvarchar 10 Dân tộc
b Bảng PHONGBAN
STT TÊN THUỘC TÍNH KIỂU ĐỘ RỘNG GIẢI THÍCH
c Bảng CHUCVU
ST
T
TÊN THUỘC TÍNH KIỂU ĐỘ RỘNG GIẢI THÍCH
d Bảng TRINHDOHOCVAN
STT TÊN THUỘC TÍNH KIỂU ĐỘ RỘNG GIẢI THÍCH
e Bảng LUONG
STT TÊN THUỘC TÍNH KIỂU ĐỘ RỘNG GIẢI THÍCH
f Bảng THOI GIAN CONG TAC
STT TÊN THUỘC TÍNH KIỂU ĐỘ RỘNG GIẢI THÍCH
Trang 12IV SỬ DỤNG SQL ĐỂ TRUY XUẤT DỮ LIỆU
IV.1 Giới thiệu về ngôn ngữ SQL.
IV.2 Lợi ích khi sử dụng ngôn ngữ SQL để truy xuất dữ liệu
Theo kinh nghiệm trong Visual Basic, bất cứ chỗ nào dùng một tham chiếu đến một bảng, đều có thể thay thế bằng cách sử dụng một câu lệnh SQL hoặc một tham chiếu đến một truy vấn đã lưu trữ nhưng bản thân nó vẫn dựa vào một câu lệnh SQL
Nơi thích hợp nhất để đặt một câu lệnh SQL, dựa trên các kỹ thuật truy cập dữ liệu, là
thuộc tính RecordSource của một điều khiển dữ liệu Vì vậy, thay vì chỉ ra thuộc tính
RecordSource là tên của một bảng, có thể đổi thuộc tính này thành tên của một câu
truy vấn chứa sẵn hay một câu lệnh SQL như : SELECT * FROM TEN_BANG
ORDER BY KEY Điều này cho ta sự linh hoạt đáng kể khi chọn lựa một nguồn mẫu
tin
Sử dụng câu lệnh SELECT để lấy về các mẩu tin
Câu lệnh SELECT là cốt lõi của mọi truy vấn lấy về dữ liệu Nó thông báo cho bộ máy
cơ sở dữ liệu những trường nào sẽ được lấy về Dạng thông dụng nhất của câu lệnh
SELECT là : SELECT *
Mệnh đề có ý nghĩa là “trả về tất cả các trường tìm thấy trong nguồn mẩu tin chỉ định” Dạng lệnh này rất tiện dụng vì không cần biết tên của trường để lấy chúng về một bảng Tuy nhiên, lấy về tất cả các cột trong một bảng có thể không hiệu quả, nhất là trong trường hợp mà ta chỉ cần 2 cột mà truy vấn của ta trả về quá nhiều Vì vậy, ngoài việc thông báo cho bộ máy cơ sở dữ liệu để trả về tất cả các trường trong nguồn mẩu tin, ta còn có khả năng chỉ ra chính xác trường nào cần lấy về Hiệu ứng lọc bớt này cải tiến hiệu quả của một truy vấn, nhất là trên bảng lớn có nhiều trường trong chương trình, bởi vì trong chương trình ta chỉ cần lấy về trưởng nào cần thiết
Sử dụng mệnh đề FROM để chỉ nguồn mẩu tin
Mệnh đề FROM làm việc với câu lệnh SELECT để trả về các mẫu tin trong bảng, ví
dụ : SELECT * FROM TEN_BANG Vì một câu truy vấn SELECT FROM không
xếp theo thứ tự nên thứ tự trả về là không xác định Để câu truy vấn có hiệu quả, cần
phải giới hạn số trường lấy về bằng cách sử dụng mệnh đề WHERE.
Sử dụng mệnh đề WHERE để chỉ ra tiêu chi lọc
Mệnh đề WHERE thông báo với bộ máy cơ sở dữ liệu để giới hạn số mẫu tin trả về
theo một hay nhiều tiêu chí lọc do người lập trình cung cấp Kết quả trả về của tiêu chí
lọc là TRUE/FALSE.
IV.3 Tạo các dữ liệu trong SQL.
Trang 13IV.3.1 Tạo bảng
a Bảng NHANVIEN
CREATE TABLE NHANVIEN
(MANV char(10)notnull,
HOTEN NVarchar(30),
NGSINH datetime,
QUEQUAN NVarchar(30),
GIOITINH NVarchar(10),
DANTOC NVarchar(10),
SDT_NV char(15),
MAPB int,
MACV CHAR(10),
MATDHV CHAR(10),
BACLUONG int
constraint PK_NV primary key(MANV))
b Bảng PHONGBAN
CREATE TABLE PHONGBAN
(MAPB int notnull,
TENPB Nvarchar(30),
DIACHI Nvarchar(100),
SDT_PB int,
constraint PK_PB primary key(MAPB))
c Bảng TRINHDOHOCVAN
CREATE TABLE TRINHDOHOCVAN
(MATDHV char(10)notnull,
TENTRINHDO Nvarchar(20),
constraint PK_TDHV primary key(MATDHV))
d Bảng LUONG
CREATE TABLE LUONG
(BACLUONG int notnull,
LUONGCOBAN float,
HESOLUONG decimal(10,2),
HESOPHUCAP decimal(10,2),
constraint PK_L primary key(BACLUONG))
e Bảng THOIGIANCONGTAC
CREATE TABLE THOIGIANCONGTAC
(MANV char(10)notnull,
MACV char(10) notnull,
NGAYNHAMCHUC datetime,
constraint PK_TGCT primary key(MANV,MACV))
f Bảng CHUCVU
Downloaded by Heo Út (quangutbin@gmail.com)
Trang 14CREATE TABLE CHUCVU
(MACV char(10)notnull,
TENCHUCVVU Nvarchar(30),
constraint PK_CV primary key(MACV))
IV.3.2 Tạo khóa ngoại
a Tạo khóa ngoại cho bảng NHANVIEN
ALTER TABLE NHANVIEN ADD CONSTRAINT FK01_NV FOREIGN KEY(MACV) REFERENCES CHUCVU(MACV)
ALTER TABLE NHANVIEN ADD CONSTRAINT FK02_NV FOREIGN KEY(MAPB) REFERENCES PHONGBAN(MAPB)
ALTER TABLE NHANVIEN ADD CONSTRAINT FK03_NV FOREIGN KEY(MATDHV) REFERENCES TRINHDOHOCVAN(MATDHV)
ALTER TABLE NHANVIEN ADD CONSTRAINT FK04_NV FOREIGN KEY(BACLUONG) REFERENCES LUONG(BACLUONG)
b Tạo khóa ngoại cho bảng THOIGIANCONGTAC
ALTER TABLE THOIGIANCONGTAC ADD CONSTRAINT
FK01_THOIGIANCONGTAC FOREIGN KEY (MANV) REFERENCES NHANVIEN(MANV)
ALTER TABLE THOIGIANCONGTAC ADD CONSTRAINT
FK02_THOIGIANCONGTAC FOREIGN KEY (MACV) REFERENCES CHUCVU(MACV)
IV.3.3 Tạo ràng buộc toàn vẹn cho từng bảng.
Downloaded by Heo Út (quangutbin@gmail.com)
Trang 15B ng mồ hình quan h d li u c a qu n lý nhân s ả ệ ữ ệ ủ ả ự
Khi có nhân viên mới được tuyển dụng
Tiến hành chèn nhiều bộ mới từ bảng NHAN VIEN MỌI theo câu lệnh:
INSERT INTO NHANVIEN (MANV, HOTEN, NGSINH, QUEQUAN, GIOITINH, DANTOC, SDT_NV, MAPB, MACV, MATDHV, BACLUONG)
SELECT NHANVIENMOI.MANV, NHANVIENMOI.HOTEN,
NHANVIENMOI.NGSINH, NHANVIENMOI.QUEQUAN,
NHANVIENMOI.GIOITINH, NHANVIENMOI.DANTOC,
NHANVIENMOI.SDT_NV, NHANVIENMOI.MAPB,
NHANVIENMOI.MACV, NHANVIENMOI.MATDHV,
NHANVIENMOI.BACLUONG
FROM NHANVIEN, NHANVIENMOI;
Cập nhật lại hồ sơ của nhân viên trong quá trình công tác
o Khi cập nhật lại chức vụ và bậc lương của nhân viên:
UPDATE NHANVIEN SET NHANVIEN.MACV = [Mã chức vụ mới],
NHANVIEN.BACLUONG = [Bậc lương mới]
WHERE NHANVIEN.MANV = [Nhân viên cần chỉnh sửa];
Downloaded by Heo Út (quangutbin@gmail.com)