11. ĐẶC TẢ DỮ LIỆU
Cấu trúc cơ sở dữ liệu của HRM Service được thiết kế theo mô hình quan hệ (Relational Database) sử dụng PostgreSQL và Prisma ORM.
11.1 Sơ đồ Thực thể Liên kết
Dưới đây là mô hình ERD đơn giản hóa, mô tả các thực thể cốt lõi trong hệ thống:
11.2 Các thực thể chính
1. Phân quyền và Bảo mật
User: Lưu thông tin đăng nhập (email, password_hash, v.v.)Role: Phân quyền RBAC cơ bản (ADMIN, HR, MANAGER, EMPLOYEE).Permission: Định nghĩa các quyền chi tiết (ví dụ:attendance.manage).
2. Sơ đồ Tổ chức
Department: Phòng ban. Có cấu trúc cha - con (parent_department_id).Team: Đội/nhóm thuộc phòng ban.Employee: Thông tin nhân sự. Lưu lịch sử công tác quaEmployeeJobHistory.
3. Chấm công
AttendanceEvent: Log sự kiện IN/OUT thô được bắn lên từ thiết bị.AttendanceRecord: Bản ghi chấm công tổng hợp theo ngày.AttendancePunchPair: Cặp IN/OUT cụ thể.
4. Quản lý Phép
LeaveType: Các loại quỹ phép (Nghỉ ốm, Nghỉ phép năm, v.v.).LeaveBalance: Số dư quỹ phép hiện tại của nhân sự.LeaveRequest: Đơn xin nghỉ phép.
5. Bảng công
TimesheetSymbol: Ký hiệu chấm công (Vắng, Đi làm đủ, Phép...).MonthlySummary: Tổng hợp ngày công, giờ OT để chốt lương.