sangho2049 / node-express

0 stars 0 forks source link

Thiết kế và tạo cơ sở dữ liệu cho ứng dụng chấp công #2

Open legiaquan opened 3 weeks ago

legiaquan commented 3 weeks ago

1. Phân tích và vẽ các bảng quan hệ

Tạo các bảng chính cho hệ thống bao gồm Users, Attendance, LeaveRequests, OvertimeRequests, Approvals, và HRReports.

Dùng dbdiagram để thiết kế db và các quan hệ.

Ví dụ: Tạo bảng Users với các trường chính như id, name, email, role, created_at, updated_at.

2. Thiết lập quan hệ giữa các bảng

Định nghĩa quan hệ giữa các bảng để liên kết dữ liệu hiệu quả và chính xác.

Ví dụ: Thiết lập quan hệ giữa bảng Users và Attendance (user_id trong Attendance là khoá ngoại tham chiếu id của Users).

legiaquan commented 3 weeks ago

Cơ sở dữ liệu tham khảo cho WebApp Quản lý Chấm công và Nghỉ phép

Users

Trường Kiểu dữ liệu Mô tả
id INT Khóa chính, định danh duy nhất cho mỗi người dùng
name VARCHAR(100) Tên của người dùng
email VARCHAR(100) Địa chỉ email của người dùng
role VARCHAR(50) Vai trò của người dùng (e.g., Nhân viên, Quản lý, Nhân sự)
created_at TIMESTAMP Thời gian tạo bản ghi
updated_at TIMESTAMP Thời gian cập nhật bản ghi

Attendance

Trường Kiểu dữ liệu Mô tả
id INT Khóa chính, định danh duy nhất cho mỗi bản ghi chấm công
user_id INT Khóa ngoại tham chiếu đến Users.id
check_in_time TIMESTAMP Thời gian check-in
check_out_time TIMESTAMP Thời gian check-out
date DATE Ngày chấm công

LeaveRequests

Trường Kiểu dữ liệu Mô tả
id INT Khóa chính, định danh duy nhất cho mỗi yêu cầu nghỉ phép
user_id INT Khóa ngoại tham chiếu đến Users.id
leave_type VARCHAR(50) Loại nghỉ phép (e.g., Nghỉ ốm, Nghỉ phép)
start_date DATE Ngày bắt đầu nghỉ phép
end_date DATE Ngày kết thúc nghỉ phép
reason TEXT Lý do nghỉ phép
status VARCHAR(20) Trạng thái của yêu cầu nghỉ phép (e.g., Đang chờ, Đã duyệt, Bị từ chối)
created_at TIMESTAMP Thời gian tạo bản ghi
updated_at TIMESTAMP Thời gian cập nhật bản ghi

OvertimeRequests

Trường Kiểu dữ liệu Mô tả
id INT Khóa chính, định danh duy nhất cho mỗi yêu cầu làm thêm giờ
user_id INT Khóa ngoại tham chiếu đến Users.id
ot_date DATE Ngày làm thêm giờ
hours DECIMAL(5,2) Số giờ làm thêm
reason TEXT Lý do làm thêm giờ
status VARCHAR(20) Trạng thái của yêu cầu làm thêm giờ (e.g., Đang chờ, Đã duyệt, Bị từ chối)
created_at TIMESTAMP Thời gian tạo bản ghi
updated_at TIMESTAMP Thời gian cập nhật bản ghi

Approvals

Trường Kiểu dữ liệu Mô tả
id INT Khóa chính, định danh duy nhất cho mỗi bản ghi phê duyệt
request_type VARCHAR(20) Loại yêu cầu (e.g., Nghỉ phép, Làm thêm giờ)
request_id INT Khóa ngoại tham chiếu đến LeaveRequests.id hoặc OvertimeRequests.id
approved_by INT Khóa ngoại tham chiếu đến Users.id (người phê duyệt yêu cầu)
approved_at TIMESTAMP Thời gian phê duyệt
status VARCHAR(20) Trạng thái của phê duyệt (e.g., Đã duyệt, Bị từ chối)

HRReports

Trường Kiểu dữ liệu Mô tả
id INT Khóa chính, định danh duy nhất cho mỗi báo cáo nhân sự
report_type VARCHAR(50) Loại báo cáo (e.g., Tổng hợp chấm công, Tổng hợp nghỉ phép)
created_at TIMESTAMP Thời gian tạo bản ghi
generated_by INT Khóa ngoại tham chiếu đến Users.id (người tạo báo cáo)
sangho2049 commented 2 weeks ago

web cham cong diagram