4.2.3 Perancangan Basis Data Fisik
4.2.3.1 Perancangan Relasional Dasar Basis Data
Tujuan dari tahap ini adalah untuk memutuskan bagaimana merepresentasikan relasi dasar yang diidentifikasi dalam model data logikal global dalam DBM S yang diinginkan.
Tabel 4.20 Tabel Identifikasi Relasional Model Data Logical Local Entity Employee
Domain Data type Length NULLS
EmployeeID Fixed Length Character String 8 NO
Username Variable Length Character String 30 NO
Password Variable Length Character String 40 NO
Name Variable Length Character String 40 YES
Gender Single Length Character 1 YES
Title Variable Length Character String 30 YES
OfficialEmail Variable Length Character String 50 YES
BirthDate Date, format date - YES
Color Fixed Length Character String 7 YES
StartofService Date, format datetime - YES
EmpStatus Boolean - YES
NPWP Variable Length Character String 20 YES
EmpNotes Variable Length Character String 100 YES
ResignDate Date, format date - YES
DivisionID Fixed Length Character String 3 YES
Primary key EmployeeID
Foreign key DivisionID references Division (DivisionID) ON UPDATE CASCADE ON
DELETE NO ACTION
Entity Manager
Domain Data type Length NULLS
EmployeeID Fixed Length Character String 8 NO
MgrEmployeeID Fixed Length Character String 9 NO
Primary key MgrEmployeeID
Foreign key EmployeeID references Employee(EmployeeID) ON UPDATE CASCADE
Entity EmpPhone
Attribute Data type Length NULLS
EmployeeID Fixed Length Character String 8 NO
EmpPhoneNum Variable Length Character String 15 NO
Primary key EmpPhoneNum
Foreign key EmployeeID references Employee (EmployeeID) ON UPDATE CASCADE
ON DELETE CASCADE
Entity PersonalEmail
Attribute Data type Length NULLS
EmployeeID Fixed Length Character String 8 NO
EmpPersEmail Variable Length Character String 50 NO
Primary key EmpPersEmail
Foreign key EmployeeID references Employee (EmployeeID) ON UPDATE CASCADE
ON DELETE CASCADE
Entity Division
Attribute Data type Length NULLS
DivisionID Fixed Length Character 3 NO
DivisionName Variable Length Character String 30 NO
Entity Privilege
Attribute Data type Length NULLS
MgrEmployeeID Fixed Length Character String 9 NO
VerifierAbsence Boolean - NO AppLeave Boolean - NO AppClaim Boolean - NO Payer Boolean - NO NewsEditor Boolean - NO HolidayEditor Boolean - NO ProjectManager Boolean - NO SuperUser Boolean - NO
Primary key EmployeeID
Foreign key MgrEmployeeID references Manager (MgrEmployeeID) ON UPDATE
CASCADE ON DELETE CASCADE
Entity LeaveRequest
Attribute Data type Length NULLS
LeaveRequestID Fixed Length Character String 7 NO
EmployeeID Fixed Length Character String 8 NO
MgrEmployeeID Fixed Length Character String 9 YES
LeaveTypeID Single Length Character 1 NO
LEndDate Date, format date - NO
Duration Integer - YES
LeaveNotes
Variable Length Character String
50 YES
LRequestDate Date, format date - NO
LRequestStatus Single Length Character 1 NO
LeaveReason
Variable Length Character String
50 YES
DecisionDate Date, format datetime - YES
Primary key LeaveRequestID
Foreign key EmployeeID references Employee (EmployeeID) ON UPDATE CASCADE
ON DELETE CASCADE
Foreign key LeaveTypeID references LeaveType (LeaveTypeID) ON UPDATE
CASCADE ON DELETE NO ACTION
Foreign key MgrEmployeeID references Manager (MgrEmployeeID) ON UPDATE
Entity Leave
Attribute Data type Length NULLS
LeaveRequestID Fixed Length Character String 7 NO
LeaveDate Date, format date - NO
Primary key LeaveRequestID
Foreign key LeaveRequestID references LeaveRequest (LeaveRequestID) ON UPDATE
CASCADE ON DELETE CASCADE
Entity LeaveEntitle
Attribute Data type Length NULLS
EntitleID Fixed Length Character String 10 NO
EmployeeID Fixed Length Character String 8 NO
LeaveRequestID Fixed Length Character String 7 YES
Duration Integer 2 NO
YearEntitle Date, format year 4 NO
EntitleStatus Variable Length Character String 10 NO
EntitleActualDate Date, format datetime - NO
Primary key EntitleID
Foreign key EmployeeID references Employee (EmployeeID) ON UPDATE CASCADE
ON DELETE CASCADE
Foreign key LeaveRequestID references LeaveRequest (LeaveRequestID) ON UPDATE
Entity LeaveHoliday
Attribute Data type Length NULLS
LeaveRequestID Fixed Length Character String 7 NO
HolidayID Fixed Length Character String 7 NO
Foreign key LeaveRequestID references LeaveRequest(LeaveRequestID) ON UPDATE
CASCADE ON DELETE NO ACTION
Foreign key HolidayID references Holiday(HolidayID) ON UPDATE CASCADE ON
DELETE NO ACTION
Entity LeaveType
Attribute Data type Length NULLS
LeaveTypeID Single Length Character 1 NO
LeaveTypeDescription Variable Length Character String
20 NO
Primary key LeaveTypeID
Entity Absence
Attribute Data type Length NULLS
AbsenceID Fixed Length Character String 10 NO
MgrEmployeeID Fixed Length Character String 9 NO
AbsTypeID Single Length Character 1 NO
ProjectID Fixed Length Character String 9 NO
StageID Fixed Length Character String 4 NO
AbsDate Date, format date - NO
AbsenceNotes
Variable Length Character String
50 YES
AbsenceStatus Single Length Character 1 NO
AbsClaimStatus Single Length Character 1 YES
AbsenceReason
Variable Length Character String
50 YES
BackDate Boolean - NO
AbsActualDate Date, format datetime - NO
Primary key AbsenceID
Foreign key EmployeeID references Employee (EmployeeID) ON UPDATE CASCADE
ON DELETE CASCADE
Foreign key ProjectID references Project (ProjectID) ON UPDATE CASCADE ON
DELETE NO ACTION
Foreign key StageID references Stage (StageID) ON UPDATE CASCADE ON
DELETE NO ACTION
Foreign key MgrEmployeeID references Manager (MgrEmployeeID) ON UPDATE
Entity AbsenceType
Attribute Data type Length NULLS
AbsTypeID Single Length Character 1 NO
AbsTypeDescription
Variable Length Character String
20 NO
ClaimPrice Decimal 10,2 YES
Primary key AbsTypeID
Entity AllowClaimDetail
Attribute Data type Length NULLS
ClaimID
Fixed Length Character String
9 NO
AbsenceID
Fixed Length Character String
10 NO
AllowClaimPrice Decimal 10,2 NO
Primary key ClaimID
Foreign key AbsenceID references Absence (AbsenceID) ON UPDATE CASCADE ON
DELETE NO ACTION
Foreign key ClaimID references AllowClaimHeader (ClaimID) ON UPDATE
Entity AllowClaimHeader
Attribute Data type Length NULLS
ClaimID
Fixed Length Character String
9 NO
EmployeeID Fixed Length Character String
8 NO
MgrEmployeeID Fixed Length Character String
9 NO
CRequestDate Date, format datetime - NO
CRequestStatus Single Length Character 1 NO
ClaimReason
Variable Length Character String
50 YES
Primary key ClaimID
Foreign key EmployeeID references Employee (EmployeeID) ON UPDATE CASCADE
ON DELETE NO ACTION
Foreign key MgrEmployeeID references Manager (MgrEmployeeID) ON UPDATE
CASCADE ON DELETE NO ACTION
Entity NonAllowClaimDetail
Attribute Data type Length NULLS
ClaimID
Fixed Length Character String
9 NO
NACDescription
Variable Length Character String
50 NO
Price Decimal 10,2 NO
Primary key ClaimID, Sequence
Foreign key ClaimID references AllowClaimHeader (ClaimID) ON UPDATE
CASCADE ON DELETE CASCADE
Entity NonAllowClaimHeader
Attribute Data type Length NULLS
ClaimID
Fixed Length Character String
9 NO
EmployeeID Fixed Length Character String
8 NO
MgrEmployeeID Fixed Length Character String
9 NO
CRequestDate Date, format datetime - NO
CRequestStatus Single Length Character 1 NO
ClaimReason
Variable Length Character String
50 YES
Primary key ClaimID
Foreign key EmployeeID references Employee (EmployeeID) ON UPDATE CASCADE
ON DELETE NO ACTION
Foreign key MgrEmployeeID references Manager (MgrEmployeeID) ON UPDATE
Entity Project
Attribute Data type Length NULLS
ProjectID
Fixed Length Character String
9 NO
ClientID
Fixed Length Character String
6 NO
StatusID
Fixed Length Character String
2 NO
ProjectName
Variable Length Character String
50 NO
MgrEmployeeID Fixed Length Character String
9 NO
IsFinished Boolean - NO
CompletedDate Date, format date - YES
Primary key ProjectID
Foreign key ClientID references Client (ClientID) ON UPDATE CASCADE ON
DELETE NO ACTION
Foreign key StatusID references Status (StatusID) ON UPDATE CASCADE ON
DELETE NO ACTION
Foreign key MgrEmployeeID references Manager (MgrEmployeeID) ON UPDATE
Entity ProjectMember
Attribute Data type Length NULLS
EmployeeID
Fixed Length Character String
8 NO
ProjectID
Fixed Length Character String
9 NO
Foreign key EmployeeID references Employee(EmployeeID) ON UPDATE CASCADE
ON DELETE CASCADE
Foreign key ProjectID references Project(ProjectID) ON UPDATE CASCADE ON
DELETE CASCADE
Entity ProjectStatus
Attribute Data type Length NULLS
StatusID
Fixed Length Character String
2 NO
StatusProjectDescription
Variable Length Character String
30 NO
Primary key StatusID
Entity Client
Attribute Data type Length NULLS
ClientID
Fixed Length Character String
ClientName
Variable Length Character String
30 NO
ClientAddress
Variable Length Character String
100 NO
Primary key ClientID
Entity ClientPhone
Attribute Data type Length NULLS
ClientID
Fixed Length Character String
6 NO
ClientPhoneNum
Variable Length Character String
15 NO
Primary key ClientID
Foreign key ClientID references Client(ClientID) ON UPDATE CASCADE ON
DELETE CASCADE
Entity ClientEmail
Attribute Data type Length NULLS
ClientID
Fixed Length Character String
6 NO
ClientEmailAddr
Variable Length Character String
50 NO
Foreign key ClientID references Client(ClientID) ON UPDATE CASCADE ON DELETE CASCADE
Entity ClientFax
Attribute Data type Length NULLS
ClientID
Fixed Length Character String
6 NO
ClientFaxNum
Variable Length Character String
15 NO
Primary key ClientID
Foreign key ClientID references Client(ClientID) ON UPDATE CASCADE ON
DELETE CASCADE
Entity Stage
Attribute Data type Length NULLS
StageID
Fixed Length Character String
4 NO
StageDescription
Variable Length Character String
30 NO
Entity News
Attribute Data type Length NULLS
NewsID
Fixed Length Character String
9 NO
MgrEmployeeID Fixed Length Character String
9 NO
Title
Variable Length Character String
30 NO
News
Variable Length Character String
300 NO
InsertedDate Date, format date - NO
DueDate Date, format date - NO
Primary key NewsID
Foreign key MgrEmployeeID references Manager(MgrEmployeeID) ON UPDATE
CASCADE ON DELETE NO ACTION
Entity Holiday
Attribute Data type Length NULLS
HolidayID
Fixed Length Character String
7 NO
HolidayDate Date, format date - NO
Event
Variable Length Character String
30 NO
Entity ActivityPlan
Attribute Data type Length NULLS
ProjectID
Fixed Length Character String
9 NO
StageID
Fixed Length Character String
4 NO
Sequence Integer - NO
StartDate Date, format date - NO
EndDate Date, format date - NO
Foreign key ProjectID references Project (ProjectID) ON UPDATE CASCADE ON
DELETE CASCADE
Foreign key StageID references Stage (StageID) ON UPDATE CASCADE ON DELETE
CASCADE