Chuẩn hóa các lược đồ quan hệ về dạng 3NF • Hợp đồng lao động ID_HD, ID_NV, THOI_HAN, LOAI_HD, NGAY_BD Bước chuẩn hóa: - Chuẩn 1NF: Các thuộc tính trong bảng `Hợp đồng lao động` đều là
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CNTT1
BÁO CÁO BÀI TẬP LỚN
CƠ SỞ DỮ LIỆU
Đề tài: Xây dựng hệ cơ sở dữ liệu
quản lý nhân sự công ty
Lớp: 01 Nhóm: 02
Thành viên: Nguyễn Việt Tú B22DCCN748
Nguyễn Trung Hiếu B22DCCN316 Nguyễn Thị Minh B22DCCN540
Vũ Thành Nam B22DCCN569
Giảng viên giảng dạy: Phan Thị Hà
Hà Nội - 2024
Trang 2
MỤC LỤC
I Mô tả kịch bản thế giới thực……….2
1 Ứng dụng của hệ CSDL quản lý nhân sự công ty……… 2
2 Các yêu cầu về dữ liệu cần lưu trữ ……… 2
3 Các thao tác trên cơ sở dữ liệu ……… 6
II Thiết kế khái niệm……… 8
1 Mô tả chi tiết lược đồ E-R ……….8
2 Lược đồ E-R ……… 9
III Thiết kế logic và chuẩn hóa………10
1 Ánh xạ lược đồ E-R sang các lược đồ quan hệ……… 10
2 Chuẩn hóa các lược đồ quan hệ về dạng 3NF………11
IV Cài đặt hệ thống……… 19
1 Các bảng dữ liệu………19
2 Các câu truy vấn………33
Trang 3Phần I – Mô tả kịch bản thế giới thực
1 Ứng dụng của hệ CSDL quản lý nhân sự công ty
Hệ thống cơ sở dữ liệu quản lý nhân sự được xây dựng nhằm hỗ trợ các hoạt động sau trong quản trị nhân sự của một công ty:
• Quản lý thông tin nhân viên: Lưu trữ hồ sơ nhân sự như họ tên, ngày sinh, giới tính,
địa chỉ, phòng ban, vị trí, trình độ
• Quản lý tiền lương: Theo dõi mức lương cơ bản, các khoản thưởng, phụ cấp và khấu
trừ
• Quản lý chấm công: Theo dõi quá trình điểm danh, chấm công của nhân viên
• Theo dõi hợp đồng và quyết định nhân sự: Quản lý các hợp đồng lao động, quá
trình lao động của nhân viên
• Quản lý đào tạo: Theo dõi việc đào tạo, các khối đào tạo và chương trình đào tạo cho
các nhân viên
• Quản lý dự án: Theo dõi việc giao dự án, nhận dự án và tiến độ hoàn thành của các
dự án
• Lập báo cáo quản trị: Tổng hợp thông tin nhân sự theo từng phòng ban, thống kê
lương, báo cáo chấm công
➔ Hệ thống này giúp tự động hóa các quy trình nhân sự, giảm thiểu sai sót trong quản lý
dữ liệu và hỗ trợ ra quyết định nhân sự chính xác, kịp thời
2 Các yêu cầu về dữ liệu cần lưu trữ
Hệ thống thu thập và lưu trữ thông tin về các đối tượng sau:
- Nhân viên:
Trang 44 GIOI_TINH Nam/Nữ
- Phòng ban:
- Trình độ:
đẳng” hoặc “Đại học” hoặc “Sau đại học”
Trang 5- Bảo hiểm y tế:
- Dự án:
- Vai trò:
- Lương:
Trang 65 KHAU_TRU Các khoản khấu trừ
- Hợp đồng lao động:
- Chấm công:
- Khóa đào tạo:
- Chương trình đào tạo:
Trang 7STT Thuộc tính Mô tả
3 Các thao tác trên cơ sở dữ liệu
Hệ thống quản lý nhân sự hỗ trợ các thao tác sau:
• Thêm nhân viên mới: Ghi nhận thông tin của nhân viên mới vào hệ thống
• Cập nhật thông tin nhân viên: Sửa đổi thông tin liên lạc, vị trí, hoặc phòng ban
của nhân viên
• Xóa nhân viên: Xóa hồ sơ của nhân viên khi họ nghỉ việc, sa thải
• Tra cứu thông tin nhân viên: Tìm kiếm nhân viên theo ID, tên, phòng ban, vị trí
• Tính lương nhân viên: Tính lương dựa trên lương cơ bản, thưởng, phụ cấp và khấu
trừ (Lương cơ bản + Thưởng + Phụ cấp – Khấu trừ)
• Cập nhật chấm công: Thêm hoặc chỉnh sửa dữ liệu chấm công hàng ngày
• Thêm hợp đồng mới: Ghi nhận hợp đồng mới cho nhân viên
• Gia hạn hợp đồng: Cập nhật ngày hết hạn của hợp đồng hiện tại
• Kết thúc hợp đồng: Ghi nhận khi hợp đồng kết thúc
• Thêm dự án mới: Ghi nhận những dự án mới
• Xóa dự án cũ: Xóa đi những dự án đã hoàn thành, quá thời hạn
Trang 8• Cập nhật thời gian: Chỉnh sửa ngày bắt đầu, kết thúc của một dự án
• Thêm, xóa, sửa chương trình đào tạo: Ghi nhận các chương trình đào tạo mới, xóa
các chương trình cũ, sửa mô tả
• Thêm, xóa, sửa các khóa đào tạo: Ghi nhận các khóa đào tạo mới, xóa các chương
trình cũ, sửa mô tả
- Thao tác lập báo cáo quản trị:
• Báo cáo nhân sự: Tổng hợp danh sách nhân viên theo phòng ban, vị trí
• Báo cáo chấm công: Thống kê thời gian làm việc của nhân viên
• Báo cáo lương: Thống kê chi phí lương của toàn bộ nhân viên
Trang 9Phần II – Thiết kế khái niệm
1 Mô tả lược đồ E-R
Lược đồ E-R gồm 18 tập thực thể trong đó có 1 tập thực thể yếu, 2 tập thực thể liên kết Có
2 quan hệ tập cha / tập con Có 9 liên kết, trong đó có 2 liên kết 3 ngôi
1 bậc lương có thể thuộc về nhiều nhân viên 1 nhân viên chỉ có 1 bậc lương duy nhất
1 nhân viên sẽ có nhiều lần điểm danh trong quá trình chấm công 1 bản ghi chấm công chỉ thuộc về 1 nhân viên duy nhất
1 nhân viên có thể ký nhiều hợp đồng lao động 1 hợp đồng lao động bắt buộc phải được ký từ 1 nhân viên duy nhất
1 nhân viên chỉ có 1 mã số BHYT tế duy nhất 1 mã số BHYT bắt buộc chỉ thuộc về 1 nhân viên duy nhất
1 nhân viên chỉ đạt 1 trình đô học vấn duy nhất 1 trình độ học vấn có thể đạt được bởi nhiều nhân viên
1 nhân viên chỉ đảm nhận 1 vị trí công việc duy nhất 1 vị trí có thể được đảm nhận bởi nhiều nhân viên
1 nhân viên chỉ thuộc 1 phòng ban duy nhất 1 phòng ban có thể có nhiều nhân viên
Trang 10Thực tập sinh có thể tham gia nhiều khóa đào tạo Khóa đạo tạo có thể thuộc về nhiều chương trình đào tạo Chương trình đào tạo có thể chứa nhiều khóa đào tạo và nhiều thực tập sinh tham gia
Nhân viên có thể có đảm nhận nhiều vai trò Vai trò có thể xuất hiện trong nhiều dự án Dự án có thể có nhiều vai trò khác nhau và được thực hiện bởi nhiều nhân viên
2 Lược đồ E-R
Trang 11Phần III – Thiết kế logic và chuẩn hóa
1 Ánh xạ lược đồ E-R sang các lược đồ quan hệ
Trang 122 Chuẩn hóa các lược đồ quan hệ về dạng 3NF
• Hợp đồng lao động (ID_HD, ID_NV, THOI_HAN, LOAI_HD, NGAY_BD)
Bước chuẩn hóa:
- Chuẩn 1NF: Các thuộc tính trong bảng `Hợp đồng lao động` đều là thuộc tính nguyên
tử Lược đồ này đã ở chuẩn 1NF
- Chuẩn 2NF: Khóa chính của bảng là {ID_HD}`, và các thuộc tính còn lại không có
phụ thuộc lẫn nhau mà chỉ phụ thuộc vào `ID_HD`, tức là `ID_HD` xác định tất cả các thuộc tính khác trong bảng.Vậy lược đồ đã đạt chuẩn 2NF
- Chuẩn 3NF: Các phụ thuộc hàm trong lược đồ không tạo ra phụ thuộc bắc cầu nào, vì
các thuộc tính phụ thuộc đầy đủ vào khóa chính `ID_HD` Vậy lược đồ đã ở chuẩn 3NF
Kết luận: Lược đồ `Hợp đồng lao động` đã ở chuẩn 3NF
• Bảo hiểm y tế (SO_BHYT, NGAY_DK, NGAY_HH, ID_NV)
Bước chuẩn hóa:
- Chuẩn 1NF: Các thuộc tính trong bảng `Bảo hiểm y tế` đều là thuộc tính nguyên tử
Lược đồ này đã ở chuẩn 1NF
- Chuẩn 2NF: Khóa chính của bảng là `{SO_BHYT}`, và các thuộc tính `NGAY_DK`,
`NGAY_HH` phụ thuộc đầy đủ vào `SO_BHYT`, không có thuộc tính phụ thuộc một phần vào khóa Vậy lược đồ đã đạt chuẩn 2NF
- Chuẩn 3NF: Các phụ thuộc hàm trong lược đồ không tạo ra phụ thuộc bắc cầu nào, vì
các thuộc tính phụ thuộc đầy đủ vào khóa chính `SO_BHYT` Vậy lược đồ đã ở chuẩn 3NF
Kết luận: Lược đồ `Bảo hiểm y tế` đã ở chuẩn 3NF
• Lương (BAC_LUONG, LUONG_CB, THUONG, PHU_CAP, KHAU_TRU)
Trang 13F3 = {BAC_LUONG → LUONG_CB, BAC_LUONG → PHU_CAP, BAC_LUONG → THUONG}
Bước chuẩn hóa:
- Chuẩn 1NF: Các thuộc tính trong bảng `Lương` đều là thuộc tính nguyên tử Lược đồ
này đã ở chuẩn 1NF
- Chuẩn 2NF: Khóa chính là `{BACLUONG}`, các thuộc tính `LUONG_CUNG`,
`PHU_CAP`, và `THUONG` đều phụ thuộc đầy đủ vào `BAC_LUONG` Không có thuộc tính nào phụ thuộc một phần vào khóa chính Vậy lược đồ đã đạt chuẩn 2NF
- Chuẩn 3NF: Không có phụ thuộc bắc cầu nào vì các thuộc tính phụ thuộc đầy đủ vào
khóa chính Vậy lược đồ đã đạt chuẩn 3NF
Kết luận: Lược đồ `Lương` đã ở chuẩn 3NF
• Nhân viên (ID_NV, HO, TEN, NGAY_SINH, GIOI_TINH, DIA_CHI,
BAC_LUONG, ID_TD, ID_VT, ID_PB)
→ GIOI_TINH, ID_NV → DIA_CHI, ID_NV → BAC_LUONG, ID_NV → ID_TD, ID_NV → ID_VT, ID_NV → ID_PB}
Bước chuẩn hóa:
- Chuẩn 1NF: Các thuộc tính trong bảng `Nhân viên` đều là thuộc tính nguyên tử Vậy
lược đồ này đã ở chuẩn 1NF
- Chuẩn 2NF: Khóa chính là `{ID_NV}`, và tất cả các thuộc tính còn lại đều phụ thuộc
đầy đủ vào `ID_NV` Không có thuộc tính nào phụ thuộc một phần vào khóa Vậy lược
đồ đạt chuẩn 2NF
- Chuẩn 3NF: Không có phụ thuộc bắc cầu vì các thuộc tính phụ thuộc đầy đủ vào khóa
chính Vậy lược đồ đạt chuẩn 3NF
Kết luận: Lược đồ `Nhân viên` đã ở chuẩn 3NF
• Nhân viên –Email(ID_NV, EMAIL)
Trang 14Bước chuẩn hóa:
- Chuẩn 1NF: Các thuộc tính đều nguyên tử Lược đồ đã ở chuẩn 1NF
- Chuẩn 2NF: Khóa chính là `{ EMAIL }`, ` ID_NV ` phụ thuộc đầy đủ vào khóa chính
Vậy lược đồ đạt chuẩn 2NF
- Chuẩn 3NF: Không có phụ thuộc bắc cầu, các thuộc tính phụ thuộc đầy đủ vào khóa
Bước chuẩn hóa:
- Chuẩn 1NF: Các thuộc tính đều nguyên tử Lược đồ đã ở chuẩn 1NF
- Chuẩn 2NF: Khóa chính là `{SDT}`, ` ID_NV ` phụ thuộc đầy đủ vào khóa chính Vậy
lược đồ đạt chuẩn 2NF
- Chuẩn 3NF: Không có phụ thuộc bắc cầu Lược đồ đã ở chuẩn 3NF
Kết luận: Lược đồ `Nhân viên - SĐT` đã ở chuẩn 3NF
• Trình độ(ID_TD, TDHV)
Bước chuẩn hóa:
- Chuẩn 1NF: Các thuộc tính đều nguyên tử Lược đồ đã ở chuẩn 1NF
- Chuẩn 2NF: Khóa chính là `{ID_TD}`, `TDHV` phụ thuộc đầy đủ vào khóa chính
Vậy lược đồ đạt chuẩn 2NF
- Chuẩn 3NF: Không có phụ thuộc bắc cầu Lược đồ đã ở chuẩn 3NF
Kết luận: Lược đồ `Trình độ` đã ở chuẩn 3NF
Trang 15• Vị trí công việc(ID_VT, CAP_BAC)
Bước chuẩn hóa:
- Chuẩn 1NF: Các thuộc tính đều nguyên tử Lược đồ đã ở chuẩn 1NF
- Chuẩn 2NF: Khóa chính là `{ID_VT}` ` CAP_BAC ` phụ thuộc đầy đủ vào khóa
chính Vậy lược đồ đạt chuẩn 2NF
- Chuẩn 3NF: Không có phụ thuộc bắc cầu Lược đồ đã ở chuẩn 3NF
Kết luận: Lược đồ `Vị trí công việc` đã ở chuẩn 3NF
• Chấm công(ID_CC, ID_NV, GIO_BD, GIO_KT, NGAY_LAM)
NGAY_LAM}
Bước chuẩn hóa:
- Chuẩn 1NF: Các thuộc tính đều nguyên tử Lược đồ đã ở chuẩn 1NF
- Chuẩn 2NF: Khóa chính là `{ID_CC}`, các thuộc tính `ID_NV`, `GIO_BD`,
`GIO_KT`, `NGAY_LAM` phụ thuộcđầy đủ vào khóa chính Lược đồ đã ở chuẩn 2NF
- Chuẩn 3NF: Không có phụ thuộc bắc cầu Lược đồ đã ở chuẩn 3NF
Kết luận: Lược đồ `Chấm công` đã ở chuẩn 3NF
• Phòng ban(ID_PB, TEN_PB, SO_LUONG_NV, SDT_PB)
Bước chuẩn hóa:
- Chuẩn 1NF: Các thuộc tính đều nguyên tử Vậy lược đồ đã ở chuẩn 1NF
Trang 16- Chuẩn 2NF: Khóa chính là `{ID_PB}`, các thuộc tính `TEN_PB`, `SO_LUONG_NV`,
`SDT_PB` phụ thuộc đầy đủ vào khóa chính Lược đồ đã đạt chuẩn 2NF
- Chuẩn 3NF: Không có phụ thuộc bắc cầu, các thuộc tính đều phụ thuộc đầy đủ vào
khóa chính Vậy lược đồ đã ở chuẩn 3NF
Kết luận: Lược đồ `Phòng ban` đã ở chuẩn 3NF
• Công nghệ(ID_CN, CONG_CU)
Bước chuẩn hóa:
- Chuẩn 1NF: Các thuộc tính đều nguyên tử Vậy lược đồ đã ở chuẩn 1NF
- Chuẩn 2NF: Khóa chính là `{ID_CN}`, `CONG_CU` phụ thuộc đầy đủ vào khóa
chính Lược đồ đã đạt chuẩn 2NF
- Chuẩn 3NF: Không có phụ thuộc bắc cầu, `CONG_CU` phụ thuộc đầy đủ vào khóa
chính Vậy lược đồ đã ở chuẩn 3NF
Kết luận: Lược đồ `Công nghệ` đã ở chuẩn 3NF
• Truyền thông(ID_TT, PHUONG_THUC)
Bước chuẩn hóa:
- Chuẩn 1NF: Các thuộc tính đều nguyên tử Vậy lược đồ đã ở chuẩn 1NF
- Chuẩn 2NF: Khóa chính là `{ID_TT}`, `PHUONG_THUC` phụ thuộc đầy đủ vào khóa
chính Lược đồ đã đạt chuẩn 2NF
- Chuẩn 3NF: Không có phụ thuộc bắc cầu, `PHUONG_THUC` phụ thuộc đầy đủ vào
khóa chính Vậy lược đồ đã ở chuẩn 3NF
Kết luận: Lược đồ `Truyền thông` đã ở chuẩn 3NF
Trang 17• Thực tập sinh(ID_NVTTS)
Bước chuẩn hóa:
- Chuẩn 1NF: Các thuộc tính đều nguyên tử Lược đồ đã ở chuẩn 1NF
- Chuẩn 2NF: Vì không có phụ thuộc hàm, không có thuộc tính nào phụ thuộc một phần
vào khóa Vậy lược đồ đã đạt chuẩn 2NF
- Chuẩn 3NF: Không có phụ thuộc bắc cầu nào, vì không có phụ thuộc hàm Vậy lược
đồ đã đạt chuẩn 3NF
Kết luận: Lược đồ `Thực tập sinh` đã ở chuẩn 3NF
• Đào tạo(ID_NVTTS, ID_CT, ID_COURSE)
Bước chuẩn hóa:
- Chuẩn 1NF: Các thuộc tính đều nguyên tử Lược đồ đã ở chuẩn 1NF
- Chuẩn 2NF: Vì không có phụ thuộc hàm, không có thuộc tính nào phụ thuộc một phần
vào khóa Vậy lược đồ đã đạt chuẩn 2NF
- Chuẩn 3NF: Không có phụ thuộc bắc cầu nào, vì không có phụ thuộc hàm Vậy lược
đồ đã đạt chuẩn 3NF
Kết luận: Lược đồ `Đào tạo` đã ở chuẩn 3NF
• Chương trình đào tạo(ID_CT, MO_TA)
Bước chuẩn hóa:
- Chuẩn 1NF: Các thuộc tính đều nguyên tử Lược đồ đã ở chuẩn 1NF
- Chuẩn 2NF: Khóa chính là `{ID_CT}`, `MO_TA` phụ thuộc đầy đủ vào khóa chính
Lược đồ đã đạt chuẩn 2NF
Trang 18- Chuẩn 3NF: Không có phụ thuộc bắc cầu Vậy lược đồ đã đạt chuẩn 3NF
Kết luận: Lược đồ `Chương trình đào tạo` đã ở chuẩn 3NF
• Khóa đào tạo(ID_COURSE, TEN_COURSE, MO_TA, THOI_HAN)
THOI_HAN}
Bước chuẩn hóa:
- Chuẩn 1NF: Các thuộc tính đều nguyên tử Lược đồ đã ở chuẩn 1NF
- Chuẩn 2NF: Khóa chính là `{ID_COURSE}`, các thuộc tính `TEN_COURSE`,
`MO_TA`, và `THOI_HAN` đều phụ thuộc đầy đủ vào khóa chính Lược đồ đã đạt chuẩn 2NF
- Chuẩn 3NF: Không có phụ thuộc bắc cầu Vậy lược đồ đã đạt chuẩn 3NF
Kết luận: Lược đồ `Khóa đào tạo` đã ở chuẩn 3NF
• Nhân viên Chính thức(ID_NVCT)
Bước chuẩn hóa:
- Chuẩn 1NF: Các thuộc tính đều nguyên tử Lược đồ đã ở chuẩn 1NF
- Chuẩn 2NF: Vì không có phụ thuộc hàm, không có thuộc tính nào phụ thuộc một phần
vào khóa Vậy lược đồ đã đạt chuẩn 2NF
- Chuẩn 3NF: Không có phụ thuộc bắc cầu nào, vì không có phụ thuộc hàm Vậy lược
Trang 19Bước chuẩn hóa:
- Chuẩn 1NF: Các thuộc tính đều nguyên tử Lược đồ đã ở chuẩn 1NF
- Chuẩn 2NF: Vì không có phụ thuộc hàm, không có thuộc tính nào phụ thuộc một phần
vào khóa Vậy lược đồ đã đạt chuẩn 2NF
- Chuẩn 3NF: Không có phụ thuộc bắc cầu nào, vì không có phụ thuộc hàm Vậy lược
Bước chuẩn hóa:
- Chuẩn 1NF: Các thuộc tính đều nguyên tử Lược đồ đã ở chuẩn 1NF
- Chuẩn 2NF: Khóa chính là `{ID_ROLE}` `TEN_ROLE` phụ thuộc đầy đủ vào khóa
chính Lược đồ đã đạt chuẩn 2NF
- Chuẩn 3NF: Không có phụ thuộc bắc cầu Vậy lược đồ đã đạt chuẩn 3NF
Kết luận: Lược đồ `Vai trò` đã ở chuẩn 3NF
• Dự án(ID_DA, TEN_DA, NGAY_BD, NGAY_HT)
Bước chuẩn hóa:
- Chuẩn 1NF: Các thuộc tính đều nguyên tử Vậy lược đồ đã ở chuẩn 1NF
- Chuẩn 2NF: Khóa chính là `{ID_DA}`, các thuộc tính `TEN_DA`, `NGAY_BD` và
`NGAY_HT` đều phụ thuộc đầy đủ vào khóa chính Lược đồ đã đạt chuẩn 2NF
- Chuẩn 3NF: Không có phụ thuộc bắc cầu Vậy lược đồ đã đạt chuẩn 3NF
Kết luận: Lược đồ `Dự án` đã ở chuẩn 3NF
Trang 20Phần IV – Cài đặt hệ thống
1 Các bảng dữ liệu
1 Bảng trình độ
2 Bảng vị trí
Trang 213 Bảng bậc lương
4 Bảng phòng ban
Trang 225 Bảng dự án
6 Bảng vai trò
Trang 237 Bảng khóa đào tạo
8 Bảng chương trình đào tạo
9 Bảng nhân viên
Trang 2510 Bảng email
11 Bảng số điện thoại
Trang 2612 Bảng hợp đồng lao động
Trang 2713 Bảng bảo hiểm y tế
Trang 2814 Bảng chấm công
Trang 2915 Bảng công nghệ
Trang 3016 Bảng truyền thông
17 Bảng nhân viên chính thức
Trang 3118 Bảng quản lý dự án
Trang 3219 Bảng nhân viên thực tập
Trang 3320 Bảng đào tạo nhân viên
Trang 342 Các câu truy vấn
Câu 1: Tra cứu thông tin nhân viên có tên bắt đầu là chữ M
Câu 2: Hiển thi danh sách chấm công tháng 10
Trang 35Câu 3: In danh sách 5 người có lương cao nhât tháng 10 Sắp xếp theo thứ tự từ lớn đến bé
Trang 36Câu 4: Liệt kê thực tập sinh đang tham gia các khóa đào tạo, chương trình đào tạo
Trang 37Câu 5: Liệt kê thông tin trưởng phòng của từng dự án
Trang 38Câu 6: Liệt kê các nhân viên còn hợp đồng lao động
Trang 39Câu 7: In ra mã nhân viên, họ tên nhân viên có hợp đồng hết hạn trước năm 2023 và có lương
cơ bản trên 15 triệu
Câu 8: In ra mã nhân viên, họ, tên, địa chỉ, trình độ học vấn của công nhân có bậc lương bằng B4 hoặc B5, hợp đồng hết hạn sau 2022
Trang 40Câu 9: Thống kê mã nhân viên, tên nhân viên, số lượng số điện thoại, số lượng email của những nhân viên có từ 2 số điện thoại trở lên và từ 2 email trở lên
Câu 10: In ra họ, tên, mã nhân viên có hợp đồng lao động còn hiệu lực và đã ký từ ít hơn 4 năm trước, đã hoặc đang tham gia ít nhất 2 dự án, lương cơ bản của nhân viên không vượt quá 20