• Tidak ada hasil yang ditemukan

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

Dokumen terkait