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à
Mô tả kịch bản thế giới thực
Ứ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 tự động hóa quy trình nhân sự, giúp giảm thiểu sai sót trong quản lý dữ liệu và hỗ trợ ra quyết định chính xác và kịp thời trong lĩnh vực nhân sự.
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:
STT Thuộc tính Mô tả
1 ID_NV Mã định danh nhân viên (duy nhất)
2 HO_TEN Tên đầy đủ của nhân viên
3 NGAY_SINH Ngày tháng năm sinh của nhân viên
5 DIA_CHI Nơi cư trú của nhân viên
6 SDT Số điện thoại liên lạc của nhân viên
7 EMAIL Địa chỉ email liên hệ
STT Thuộc tính Mô tả
1 ID_PB Mã định danh phòng ban
2 TEN_PB Tên của phòng ban
3 SO_LUONG_NV Số lượng nhân viên phòng ban
4 SDT_PB Số điện thoại liên lạc với phòng ban
STT Thuộc tính Mô tả
1 ID_TD Mã trình độ học vấn
2 TDHV Trình độ học vấn: “Trung cấp” hoặc “Cao đẳng” hoặc “Đại học” hoặc “Sau đại học”
STT Thuộc tính Mô tả
1 ID_VT Mã định danh vị trí
2 CAP_BAC Cấp bậc (Ví dụ: Nhân viên, Trưởng phòng)
STT Thuộc tính Mô tả
1 SO_BHYT Mã số trên thẻ BHYT
2 NGAY_DK Thời gian bắt đầu đăng ký thẻ BHYT
3 NGAY_HH Thời gian hết hạn của thẻ BHYT
STT Thuộc tính Mô tả
1 ID_DA Mã dự án
2 TEN_DA Tên dự án
3 NGAY_BD Ngày bắt đầu thời gian thực hiện dự án
4 NGAY_HT Ngày hoàn thành thời gian thực hiện dự án
STT Thuộc tính Mô tả
1 ID_ROLE Mã của vai trò trong dự án
2 TEN_ROLE Tên vai trò trong dự án
STT Thuộc tính Mô tả
1 BAC_LUONG Hệ số bậc lương
2 LUONG_CB Lương cơ bản (Lương cứng)
4 PHU_CAP Các khoản hỗ trợ khác
5 KHAU_TRU Các khoản khấu trừ
STT Thuộc tính Mô tả
1 ID_HD Mã định danh hợp đồng
2 LOAI_HD Loại hợp đồng
3 NGAY_BD Ngày hợp đồng có hiệu lực
4 THOI_HAN Khoản thời gian hợp đồng có hiệu lực
STT Thuộc tính Mô tả
1 ID_CC Mã định danh chấm công
2 NGAY_LAM Ngày chấm công
3 GIO_BD Thời gian nhân viên bắt đầu làm
4 GIO_KT Thời gian nhân viên kết thúc công việc
STT Thuộc tính Mô tả
1 ID_COURSE Mã của khóa học
2 TEN_COURSE Tên của khóa học
3 MO_TA Nội dung khóa học
4 THOI_HAN Thời gian khóa học kết thúc
STT Thuộc tính Mô tả
1 ID_CT Mã của chương trình đào tạo
2 MO_TA Nội dung của chương trình đào tạo
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:
- Thao tác quản lý nhân viên:
• 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í
- Thao tác quản lý lương:
• 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ừ)
- Thao tác quản lý chấm công:
• 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
- Thao tác quản lý hợp đồng:
• 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
- Thao tác quản lý dự án:
• 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
• 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
- Thao tác quản lý đào tạo:
• 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
Phần II – Thiết kế khái niệm
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
Thực tập sinh có cơ hội tham gia nhiều khóa đào tạo thuộc các chương trình đào tạo khác nhau Mỗi chương trình đào tạo không chỉ bao gồm nhiều khóa học mà còn thu hút sự tham gia của nhiều thực tập sinh.
Nhân viên có thể đảm nhận nhiều vai trò khác nhau trong các dự án Mỗi dự án có thể yêu cầu nhiều vai trò và được thực hiện bởi một đội ngũ nhân viên đa dạng.
Phầ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ệ
2 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)
F1 = {ID_HD → NGAY_BD; ID_HD → THOI_HAN, ID_HD → LOAI_HD}
- 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 yêu cầu rằng khóa chính của bảng là {ID_HD}, và tất cả các thuộc tính khác phải phụ thuộc hoàn toàn vào `ID_HD`, không có phụ thuộc lẫn nhau Điều này có nghĩa là `ID_HD` xác định tất cả các thuộc tính khác trong bảng, do đó lược đồ đã đạt chuẩn 2NF.
Lược đồ đã đạt chuẩn 3NF khi không có phụ thuộc bắc cầu nào giữa các phụ thuộc hàm, đồng thời tất cả các thuộc tính đều phụ thuộc đầy đủ vào khóa chính `ID_HD`.
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)
F2 = {SO_BHYT → NGAY_DK, SO_BHYT → NGAY_HH}
- 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
Lược đồ đã đạt chuẩn 3NF vì các phụ thuộc hàm trong lược đồ không tạo ra phụ thuộc bắc cầu, đồng thời các thuộc tính đều phụ thuộc đầy đủ vào khóa chính `SO_BHYT`.
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)
F3 = {BAC_LUONG → LUONG_CB, BAC_LUONG → PHU_CAP, BAC_LUONG → THUONG}
- 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`,
Cả `PHU_CAP` và `THUONG` đều hoàn toàn phụ thuộc 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, do đó 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)
F4 = {ID_NV → HO, ID_NV → TEN, ID_NV → NGAY_SINH, ID_NV
→ GIOI_TINH, ID_NV → DIA_CHI, ID_NV → BAC_LUONG, ID_NV → ID_TD, ID_NV → ID_VT, ID_NV → ID_PB}
- 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 yêu cầu rằng khóa chính là `{ID_NV}`, với tất cả các thuộc tính còn lại phải phụ thuộc hoàn toàn vào `ID_NV` Điều này có nghĩa là không có thuộc tính nào phụ thuộc một phần vào khóa, do đó lược đồ đã đạt tiêu 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)
- 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 chính Lược đồ đã ở chuẩn 3NF
Kết luận: Lược đồ `Nhân viên - Email` đã ở chuẩn 3NF
• Nhân viên – SĐT(ID_NV, SDT)
- 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)
- 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
• Vị trí công việc(ID_VT, CAP_BAC)
- 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)
F9 = {ID_CC → GIO_BD, ID_CC → ID_NV, ID_CC → GIOKT, ID_CC →
- 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)
F10 = {ID_PB → TEN_PB, ID_PB → SO_LUONG_NV, ID_PB → SDT_PB}
- 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_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)
- 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)
- 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
• Thực tập sinh(ID_NVTTS)
- 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)
F14 = {ID_NVTTS, ID_CT, ID_COURSE}
- 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)
- 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
- 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)
F16 = {ID_COURSE → TEN_COURSE, ID_COURSE → MO_TA, ID_COURSE → THOI_HAN}
- 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)
- 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 đồ `Nhân viên Chính thức` đã ở chuẩn 3NF
• Thực hiện dự án(ID_NVCT, ID_ROLE, ID_DA)
F18 = {ID_NVCT, ID_ROLE, ID_DA}
- 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 hiện dự án` đã ở chuẩn 3NF
• Vai trò(ID_ROLE, TEN_ROLE)
- 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)
F20 = {ID_DA → TEN_DA, ID_DA → NGAY_BD, ID_DA → NGAY_HT}
- 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
Phần IV – Cài đặt hệ thống
8 Bảng chương trình đào tạo
12 Bảng hợp đồng lao động
17 Bảng nhân viên chính thức
18 Bảng quản lý dự án
19 Bảng nhân viên thực tập
20 Bảng đào tạo nhân viê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
Câ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é
Câ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
Câu 5: Liệt kê thông tin trưởng phòng của từng dự án
Câu 6: Liệt kê các nhân viên còn hợp đồng lao động
Câ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
Thống kê danh sách nhân viên bao gồm mã nhân viên, tên nhân viên, số lượng số điện thoại và 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 yêu cầu cung cấp họ, tên và mã nhân viên có hợp đồng lao động còn hiệu lực, ký kết trong vòng 4 năm qua, đã hoặc đang tham gia tối thiểu 2 dự án, và có lương cơ bản không vượt quá 20 triệu VND.
Thiết kế khái niệm
Thiết kế logic và chuẩn hóa
Ánh xạ lược đồ E-R sang các lược đồ quan hệ
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)
F1 = {ID_HD → NGAY_BD; ID_HD → THOI_HAN, ID_HD → LOAI_HD}
- 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
Để đạt chuẩn 2NF, bảng cần có khóa chính là {ID_HD} và tất cả các thuộc tính khác phải phụ thuộc vào khóa chính này mà không có sự phụ thuộc lẫn nhau Điều này có nghĩa là `ID_HD` xác định tất cả các thuộc tính khác trong bảng, do đó lược đồ đã đáp ứng đầy đủ tiêu chí của chuẩn 2NF.
Lược đồ đạt chuẩn 3NF khi các phụ thuộc hàm không tạo ra phụ thuộc bắc cầu và tất cả các thuộc tính đều phụ thuộc đầy đủ vào khóa chính `ID_HD`.
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)
F2 = {SO_BHYT → NGAY_DK, SO_BHYT → NGAY_HH}
- 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
Lược đồ đã đạt chuẩn 3NF khi các phụ thuộc hàm không tạo ra phụ thuộc bắc cầu và tất cả các thuộc tính đều phụ thuộc đầy đủ vào khóa chính `SO_BHYT`.
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)
F3 = {BAC_LUONG → LUONG_CB, BAC_LUONG → PHU_CAP, BAC_LUONG → THUONG}
- 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` hoàn toàn phụ thuộc 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 Do đó, lược đồ này đã đạt tiêu 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)
F4 = {ID_NV → HO, ID_NV → TEN, ID_NV → NGAY_SINH, ID_NV
→ GIOI_TINH, ID_NV → DIA_CHI, ID_NV → BAC_LUONG, ID_NV → ID_TD, ID_NV → ID_VT, ID_NV → ID_PB}
- 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 yêu cầu rằng khóa chính là `{ID_NV}` và tất cả các thuộc tính khác phải phụ thuộc hoàn toàn vào `ID_NV`, không có thuộc tính nào phụ thuộc một phần vào khóa chính Do đó, 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)
- 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 chính Lược đồ đã ở chuẩn 3NF
Kết luận: Lược đồ `Nhân viên - Email` đã ở chuẩn 3NF
• Nhân viên – SĐT(ID_NV, SDT)
- 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)
- 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
• Vị trí công việc(ID_VT, CAP_BAC)
- 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)
F9 = {ID_CC → GIO_BD, ID_CC → ID_NV, ID_CC → GIOKT, ID_CC →
- 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)
F10 = {ID_PB → TEN_PB, ID_PB → SO_LUONG_NV, ID_PB → SDT_PB}
- 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_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)
- 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)
- 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
• Thực tập sinh(ID_NVTTS)
- 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)
F14 = {ID_NVTTS, ID_CT, ID_COURSE}
- 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)
- 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
- 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)
F16 = {ID_COURSE → TEN_COURSE, ID_COURSE → MO_TA, ID_COURSE → THOI_HAN}
- 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)
- 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 đồ `Nhân viên Chính thức` đã ở chuẩn 3NF
• Thực hiện dự án(ID_NVCT, ID_ROLE, ID_DA)
F18 = {ID_NVCT, ID_ROLE, ID_DA}
- 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 hiện dự án` đã ở chuẩn 3NF
• Vai trò(ID_ROLE, TEN_ROLE)
- 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)
F20 = {ID_DA → TEN_DA, ID_DA → NGAY_BD, ID_DA → NGAY_HT}
- 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.
Cài đặt hệ thống
Các bảng dữ liệu
8 Bảng chương trình đào tạo
12 Bảng hợp đồng lao động
17 Bảng nhân viên chính thức
18 Bảng quản lý dự án
19 Bảng nhân viên thực tập
20 Bảng đào tạo nhân viên
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
Câ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é
Câ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
Câu 5: Liệt kê thông tin trưởng phòng của từng dự án
Câu 6: Liệt kê các nhân viên còn hợp đồng lao động
Câ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
Thống kê thông tin nhân viên bao gồm mã nhân viên, tên nhân viên, số lượng điện thoại và 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 yêu cầu cung cấp họ, tên và mã nhân viên có hợp đồng lao động còn hiệu lực, ký trong vòng 4 năm qua, đã hoặc đang tham gia ít nhất 2 dự án, và có lương cơ bản không vượt quá 20 triệu VND.