Lượng nhân viên tham gia khảo sát
3.1. Dé thi quan hé
Employee (EmployeelD, FirstName, LastName, DateOfBirth, Gender, Email, Phone, Address, DepartmentID, HireDate, Salary)
> Qi(A, Xi, Xo, Xs, Xs Xs, Xe, X7, B, Xs, Xo)
Department (DepartmentID, DepartmentName, Location)
> Q:(B, Xu, Xi)
Role (RoleID, RoleName, Description)
> Q3(C, X12, X13)
EmployeeRole (EmployeeRoleID, EmployeelD, RoleID)
> Q.(D, A, C)
Task (TaskID, TaskName, EmployeeID, Deadline, Status)
> Q:ŒE, Xa, Â, Xs, X16)
Attendance (AttendanceID, EmployeeID, AttendanceDate, ClockInTime, ClockOutTime)
> Q(E, A, X17, Xis, X19)
Payroll (PayrollID, PayrollDate, EmployeeID, Salary, Deductions, Bonuses, NetSalary)
D> Q(G, X20, A, Xai, X22, X23, Xo4)
Leave Request (LeaveRequestID, EmployeeID, LeaveType, StartDate, EndDate, Status, ApprovedBy)
> Qs(H, A, Xos, X26, X27, Xos, X29)
Training and Certification (TrainingID, EmploveeID, TrainingName, Certification, CompletionDate)
> Q.(1, A, X20, Xs1, X32, X33)
Performance Review (ReviewID, EmployeeID, ReviewDate, Reviewer, Rating, Comments)
D QiolK, A, X34, X35, X36, X37)
Bước 2: Tạo 10 nút ứng với 1Ú quan hệ trong CSDL, 15
OO €) &
OO oO &
Hình 2: Tạo nút cho đồ thị quan hệ
Ni->QỌi N;>Q; N3->Q; Nu->Qy Ns->Qs Ne->Q¢ N;->Q; Ns->Qs Na->Q¿ Nyo->Qio Bước 3: Tạo nút bản lề
ủ 1 2 3 4 5 6 7 8 9 10
Ql - {B} | 127 | {A} | (A7 | (AJ | (AI | (AJ | (AI | (A}
Q2 - | to} | (a | (ay | toy | fy [| wy | t@} | (@®
Q3 - | fcr | fo} | fo} | {oy | toy | fay ] {2}
Q4 - {A$} | {A} | {A | {A} | {ART fA}
Q5 - {A} | {A} | {A} | {A} | {A$
Q6 - {A} | {A} | {A} | {A}
Q7 - {A} | {A} | {A}
Q8 - {A} | {A}
Q9 - {A}
Q10 -
Bảng 3: Tạo nút bản lề
=> không tạo nút bản lề do không thỏa điều kiện.(khi đã duyệt hết tập giao Q¡ NM Qj) Quan hệ nút siữ nguyên như bước 2.
16
Bước 4: Tạo cung và quan hệ cung
Qi(A, Xi, Xo, Xs, My Xs, Xs, Xr, B, Xs, Xs)
Q2(B, X10, X11)
Q3(, Xv, Xis)
Q.(D, A, C)
Qs(B, Xia, A, Xs, X16)
Qo(F, A, X17, Xis, Xis)
Q;@, X20, A, Xa, Xã, Xã, X24)
Q:(H, A, Xs, X26, Xo7, Xóa, X29)
Q:q, A, X30, Xi, Xã, X33)
Qio(K, A, Xa, Xã, X36, X37)
N/Q PTH PTH THUA| LONG LỎNG KHÓA |_ CUNG
KHÓA THỪA
N1 | 2,5,6,7,8,9,10 | 5/67/8910 |@ @ 2
N2 @ @ @ @ @
N3 |4 @ @ @ 4
N4 | 1,3,5,6,7,8,9,10 | 5,6,7,8,9,10 | @ @ 1,3
NS | 1 @ @ @ 1
N6 |1 @ @ @ 1
N7 |1 @ @ @ 1
N8 |1 @ @ @ 1
N9 |1 @ @ @ 1
N10 | 1 @ @ @ 1
Bang 4: Tao cung Các quan hệ cung :
Q..(EmployeeID, DepartmentID)
Qio(ReviewID, EmployeelD)
Q,.(TrainingID, EmployeeID) Qs(LeaveRequestID, EmployeeID) Q.(PayrollID, EmployeeID) Q,<(AttendanceID, EmployeeID) Q;:(TaskID, EmployeeTD)
Q;;(EmployeeRoleID, EmployeeID, RoleID) 17
Q„:(EmployeeRoleID, EmployeeID, RoleID)
Đề thị sau khi tạo cung:
Hinh 3: Tao cung do thi Bước 5: Hủy các nút bản lề thừa
Ở bước 3 không có nút bản lề nên không không có nút để hủy.
Bước 6; Mịn hóa
Đề thị sau khi mịn hóa:
Q›Œ.XI0.X11) Q4(D,A.C) Q3(E.X12,X13)
Qio(K.X34.X35.X36.X37)
Q;(A, Xị, X2. X3, X4 Xs, Xó, X7, X§, Xo)
Test (leas
Q16(FA) Qo(1,X30,X3 1.X32.%33) 6194
Q17(GA)
Q¿(Œ.X17.X1§.X19)
Q;(H.X2s.X26.X27.X2s.X29)
Q¿;(G. X20. X21, X22. X23, X24)
Hình 4: Mịn hóa Bước 7: Tạo cung võ hướng
Tạo cung vô hướng Q13(AC) loại bỏ nút N4 và cung {Q14; Q43}
Q;(.XI0.XII) Qs(-X12.X13)
Qio(.X34.X35.X36.X3?) Q13(AC)
1(AB)
Qi(A, Xy, X2, X3, X4 X5, XG, X7, Xg, X9)
saa Vestas
Q16(FA) Q17(GA) Qo(LX40.X31.X32.X343) G190A
Q6(F.X17.X18.X19)
Qs(H.X25.X26.X27.X28.X29)
Q;(G. X20. X21. X22. X23, X24) Hình 5: Đồ thị hoàn chỉnh
3.2. Dạng chuẩn Employee (Nhân viên):
19
Khóa chính: EmployeelD Khóa ngoại: DepartmentID
Dạng chuẩn 1 (1NE): Tất cả đữ liệu được lưu trữ ở dạng bảng với các giá trị nguyên thủy và mỗi bảng chứa thông tin về một thực thê hoặc quan hệ và không có giá trị lặp lại.
Dạng chuẩn 2 (2NF): Tất cả các cột trong bảng phụ thuộc đầy đủ vào khóa chính (EmployeelD). Các cột như: FirstName, LastName, DateOfBrrth, Gender, Email, Phone, Address, DepartmentID, HireDate, Salary đều phụ thuộc vào EmployeelD.
Dạng chuẩn 3 (3NF): Không có phụ thuộc bắc cầu trong bảng. DepartmentID phụ thuộc vào EmployeelD mà không phụ thuộc vào FirstName, LastName hoặc các cột khác trone bảng Employee.
Department (Phòng ban):
Khóa chính: Department]D
Dạng chuẩn 1 (INF): Tất cả dữ liệu được lưu trữ ở dạng bảng với các giá trị nguyên thủy và mỗi bảng chứa thông tin về một thực thê hoặc quan hệ và không có giá trị lặp lại.
Dạng chuẩn 2 (2NF): Tất cả các cột trong bảng phụ thuộc đầy đủ vào khóa chính (DepartmentID). Các cột như DepartmentName và Location đều phụ thuộc vào DepartmentID.
Dạng chuẩn 3 (3NF): Không có phụ thuộc bắc cầu trong bảng. Các cột như DepartmentName và Location không phụ thuộc vào nhau mà chỉ phụ thuộc vào khóa chinh DepartmentID.
Roles (Vai tro):
Khoa chinh: RoleID
Dang chuẩn 1 (INF): Bảng chứa thông tin về một thực thê hoặc quan hệ và không có giá trị lặp lại.
Dạng chuân 2 (2NF): Tất cả các cột trong bảng phụ thuộc vào khóa chính (RoleID). Các cột như RoleName và Description đều phụ thuộc vào RoleID.
Dạng chuẩn 3 (3NF): Không có phụ thuộc bắc cầu trong bảng. Các cột như RoleName và Description không phụ thuộc vào nhau mà chỉ phụ thuộc vào RoleTD.
20
EmployeeRole (Vai trò của nhân viên):
Khóa chính: EmployeeRolelD Khóa ngoại: EmployeelD, RolelD
Dạng chuẩn 1 (INF): Bảng chứa thông tin về một thực thê hoặc quan hệ và không có giá trị lặp lại.
Dạng chuẩn 2 (2NF): Tất cả các cột trong bảng phụ thuộc đầy đủ vào khóa chính (EmployeeRolelD). Các cột như EmployeelD và RolelD phụ thuộc vào EmployeeRoleID.
Dạng chuẩn 3 (3NF): Không có phụ thuộc bắc cầu trong bảng. Các cột như EmployeelD và RolelD không phụ thuộc vào nhau mà chỉ phụ thuộc vào EmployeeRoleID.
Tasks (Công việc):
Khóa chính: TaskID Khóa ngoại: EmployeelD
Dạng chuẩn 1 (INF): Bảng chứa thông tin về một thực thê hoặc quan hệ và không có giá trị lặp lại.
Dạng chuẩn 2 (2NF): Tất cả các cột trong bảng phụ thuộc đầy đủ vào khóa chính (EmployeelD). Các cột như TaskName, Deadline, Status phụ thuộc vào TaskID.
Dạng chuẩn 3 (3NF): Không có phụ thuộc bắc cầu trong bảng. Các cột như TaskName, Deadline, Status không phụ thuộc vào nhau mà chỉ phụ thuộc vào TaskID.
Attendance (Diem danh):
Khóa chính: AttendancelD Khóa ngoại: EmployeelD
Dạng chuẩn 1 (INF): Bảng chứa thông tin về một thực thê hoặc quan hệ và không có giá trị lặp lại.
21
Dạng chuẩn 2 (2NF): Tất cả các cột trong bảng phụ thuộc đầy đủ vào khóa chính (AttendancelID). Khóa chính là AttendancelD, và EmployeelD đều phụ thuộc vào Attendance]TD.
Dạng chuẩn 3 (3NF): Không có phụ thuộc bắc cầu trong bảng. Các cột như AttendanceDate, ClockInTime, ClockOutTime không phụ thuộc vào nhau mà chỉ phụ thuộc vào AttendancelD.
Payroll (Bảng lương):
Khóa chính: PayrollID Khóa ngoại: EmployeelD
Dạng chuẩn 1 (INF): Bảng chứa thông tin về một thực thê hoặc quan hệ và không có giá trị lặp lại.
Dạng chuẩn 2 (2NF): Tất cả các cột trong bảng phụ thuộc đầy đủ vào khóa chính (PayrollID). Khóa chính là PayrolllD, và EmployeelD đều phụ thuộc vào PayrollID.
Dạng chuẩn 3 (3NF): Không có phụ thuộc bắc cầu trong bảng. Các cột như PayrollDate, Salary, Deductions, Bonuses, NetSalary không phụ thuộc vào nhau mà chỉ phụ thuộc vào PayrollID.
Leave Request (Yêu cầu nghỉ phép):
Khóa chính: LeaveRequestID Khóa ngoại: EmployeelD, ApprovedBy
Dạng chuẩn 1 (INF): Bảng chứa thông tin về một thực thê hoặc quan hệ và không có giá trị lặp lại.
Dạng chuẩn 2 (2NF): Tất cả các cột trong bảng phụ thuộc đầy đủ vào khóa chính (LeaveRequestID). Khóa chính là LeaveRequestID, và EmployeelD đều phụ thuộc vào LeaveRequestID.
Dạng chuẩn 3 (3NF): Không có phụ thuộc bắc cầu trong bảng. Các cột như LeaveType, StartDate, EndDate, Status, ApprovedBy không phụ thuộc vào nhau mà chỉ phụ thudc vao LeaveRequestID.
22
Training and Certification (Dao tạo và Chứng chỉ):
Khóa chinh: TrainingID Khóa ngoại: EmployeelD
Dạng chuẩn 1 (INF): Bảng chứa thông tin về một thực thê hoặc quan hệ và không có giá trị lặp lại.
Dạng chuẩn 2 (2NF): Tất cả các cột trong bảng phụ thuộc đầu đủ vào khóa chính (TrainingID). Khóa chính là TraininglD, và EmployeelD đều phụ thuộc vào TramingID.
Dạng chuẩn 3 (3NF): Không có phụ thuộc bắc cầu trong bảng. Các cột như TrainingName, Certification, CompletionDate kh6ng phụ thuộc vào nhau mà chỉ phụ thuộc vào TraininpTD.
Performance Review (Danh gia hiéu suat):
Khóa chính: ReviewlD Khóa ngoại: EmployeelD
Dạng chuẩn 1 (INF): Bảng chứa thông tin về một thực thê hoặc quan hệ và không có giá trị lặp lại.
Dạng chuẩn 2 (2NF): Tất cả các cột trong bảng phụ thuộc đầy đủ vào khóa chinh (ReviewID). Cac cét nhu ReviewDate, Reviewer, Rating, Comments phu thuộc vao ReviewID.
Dạng chuẩn 3 (3NF): Không có phụ thuộc bắc cầu trong bảng. Các cột như ReviewDate, Reviewer, Rating, Comments khéng phu thudc vao nhau ma chi phụ thuộc vào Review]lD.
Tom lai, cơ sở dữ liệu này tuân theo Dạng chuẩn 1 (INF), Dạng chuẩn 2 (2NF), và Dạng chuẩn 3 (3NF) do các bảng thỏa mãn các yêu cầu về phụ thuộc hàm, sự phụ thuộc hoàn toàn vào khóa chính và không phụ thuộc bắc cầu.
23