ON UPDATE CASCADE ON DELETE NO ACTION
4.1.3 Perancangan Basis Data Fisikal
4.1.3.1 Terjemahkan Model Data Logikal Global ke dalam DBMS
4.1.3.1.1 Merancang Relasi Dasar
Tujuan dari tahap ini adalah untuk memutuskan
bagaimana merepresentasikan relasi dasar yang diidentifikasi dalam model data logikal global dalam DBM S yang diinginkan.
Tabel Identifikasi Relasional Model Data Logikal Global 1. BOQ
Atribut Deskripsi Tipe Data Nulls
BOQ_ID Secara unik mengidentifikasi BOQ VARCHAR(50) aaaaa/bbb/ccc/dd d/ee aaaaa = berisikan nomor urut bbb = berisikan BOQ NO
ccc = berisikan TBJ singkatan dari nama perusahaan ddd = berisikan bulan invoice dibuat dalam romawi ee = berisikan tahun invoice dibuat dalam format dua digit Employee_ID Secara unik mengidentifikasi
Employee VARCHAR(10) aaaa.bbbbb aaaa = berisikan tahun bergabung bbbbb = berisikan nomor urut NO
BOQ_Date Tanggal BOQ diproses DATETIM E NO Tower Tipe tower yang dibangun VARCHAR(50) NO Wide_Area Luas lahan VARCHAR(50) NO Wide_Site Luas Site VARCHAR(50) NO Price Biaya perhitungan BOQ
suatu proyek
BIGINT(15) NO
Revision Keterangan revisi BOQ INT(3) NO Information Keterangan tentang BOQ TEXT YES
Tabel 4.17 Tabel Relasi Dasar BOQ
Primary Key (BOQ_ID)
Foreign Key Employee_ID references Employee (Employee_ID) ON UPDATE
2. BOQFile
Atribut Deskripsi Tipe Data Nulls
BOQ_ID Secara unik mengidentifikasi BOQ VARCHAR(50) aaaaa/bbb/ccc/ddd/ee aaaaa = berisikan nomor urut bbb = berisikan BOQ ccc = berisikan TBJ singkatan dari nama perusahaan
ddd = berisikan bulan invoice dibuat dalam romawi ee = berisikan tahun invoice dibuat dalam format dua digit
NO
BOQ_File Alamat master file BOQ VARCHAR(150) YES BOQ_File_ Date Tanggal upload file BOQ DATETIM E YES Shop_Drawing_File Alamat master file shop
drawing
VARCHAR(150) YES
Tabel 4.18 Tabel Relasi Dasar BOQFile
Primary Key (BOQ_ID,BOQ_File)
Foreign Key BOQ_ID references BOQ (BOQ_ID) ON UPDATE CASCADE
3. BOQDetail
Atribut Deskripsi Tipe Data Nulls
BOQ_ID Secara unik mengidentifikasi BOQ VARCHAR(50) aaaaa/bbb/ccc/ddd/ee aaaaa = berisikan nomor urut bbb = berisikan BOQ ccc = berisikan TBJ singkatan dari nama perusahaan
ddd = berisikan bulan invoice dibuat dalam romawi ee = berisikan tahun invoice dibuat dalam format dua digit
NO
M aterial_ID Secara unik
mengidentifikasi M aterial VARCHAR(10) aaabbbbbbb aaa = berisikan M TR merupakan singkatan dari material bbbbbbb = berisikan nomor urut NO
Tabel 4.19 Tabel Relasi Dasar BOQDetail
Primary Key ( BOQ_ID, M aterial_ID )
Foreign Key BOQ_ID references BOQ (BOQ_ID)
Foreign Key M aterial_ID references M aterial (M aterial_ID) ON UPDATE
4. Client
Atribut Deskripsi Tipe Data Nulls
Client_ID Secara unik mengidentifikasi msClient
VARCHAR(10) aaaaa
aaaaa = berisikan inisial dari klien
NO
Client_Name Nama client pada PT. Trimtra Bangun Jagad
VARCHAR(50) NO
Address Alamat tempat client berada VARCHAR(200) NO
Tabel 4.20 Tabel Relasi Dasar Client Primary Key (Client_ID)
5. ClientPhone
Atribut Deskripsi Tipe Data Nulls
Client_ID Secara unik
mengidentifikasi msClient
VARCHAR(10) aaaaa
aaaaa = berisikan inisial dari klien
NO
Phone Nomor telepon Client VARCHAR(20) YES
Tabel 4.21 Tabel Relasi Dasar ClientPhone
Primary Key (Client_ID, Phone)
Foreign Key Client_ID references Client (Client _ID) ON UPDATE CASCADE
6. ClientFax
Atribut Deskripsi Tipe Data Nulls
Client_ID Secara unik
mengidentifikasi msClient
VARCHAR(10) aaaaa
aaaaa = berisikan inisial dari klien
NO
Fax Nomor fax client VARCHAR(20) YES
Tabel 4.22 Tabel Relasi Dasar ClientFax
Primary Key (Client_ID, Fax)
Foreign Key Client_ID references Client (Client _ID) ON UPDATE CASCADE
ON DELETE CASCADE
7. ClientEmail
Atribut Deskripsi Tipe Data Nulls
Client_ID Secara unik
mengidentifikasi msClient
VARCHAR(10) aaaaa
aaaaa = berisikan inisial dari klien
NO
Email Alamat email client VARCHAR(100) YES
Primary Key (Client_ID, Email)
Foreign Key Client_ID references Client (Client _ID) ON UPDATE CASCADE
ON DELETE CASCADE
8. Employee
Atribut Deskripsi Tipe Data Nulls
Employee_ID Secara unik mengidentifikasi Employee VARCHAR(10) aaaa.bbbbb aaaa = berisikan tahun bergabung bbbbb = berisikan nomor urut NO
Position Posisi bekerja pada
PT.Trimitra Bangun Jagad
VARCHAR(50) NO
Password Password untuk karyawan VARCHAR(50) NO Employee_Name Nama karyawan dari PT.
Trimitra Bangun Jagad
VARCHAR(50) NO
Gender Jenis kelamin dari karyawan VARCHAR(10) NO Enter_Date Tanggal bergabung dengan
perusahaan
DATETIM E NO
Address Alamat tempat tinggal karyawan
VARCHAR(200) NO
Image Alamat file photo karyawan VARCHAR(150) YES Status Status dari karyawan VARCHAR(10) NO
Tabel 4.24 Tabel Relasi Dasar Employee
Foreign Key position references positionEM P (posistion) ON UPDATE
CASCADE ON DELETE NO ACTION
9. EmployeeEmail
Atribut Deskripsi Tipe Data Nulls
Employee_ID Secara unik mengidentifikasi Employee VARCHAR(10) aaaa.bbbbb aaaa = berisikan tahun bergabung bbbbb = berisikan nomor urut NO
Email Email karyawan VARCHAR(100) YES
Tabel 4.25 Tabel Relasi Dasar EmployeeEmail Primary Key (Employee_ID, Email)
Foreign Key Employee_ID references Employee (Employee_ID) ON UPDATE
CASCADE ON DELETE CASCADE
10. EmployeePhone
Atribut Deskripsi Tipe Data Nulls
Employee_ID Secara unik mengidentifikasi Employee VARCHAR(10) aaaa.bbbbb aaaa = berisikan tahun bergabung bbbbb = berisikan NO
nomor urut
Phone No telp karyawan VARCHAR(20) YES
Tabel 4.26 Tabel Relasi Dasar EmployeePhone Primary Key (Employee_ID, Phone)
Foreign Key Employee_ID references Employee (Employee_ID) ON UPDATE
CASCADE ON DELETE CASCADE
11. Invoice
Atribut Deskripsi Tipe Data Nulls
Invoice_ID Secara unik mengidentifikasi Invoice VARCHAR(50) aaaaa/bbbbb/ccc/ddd/ee aaaaa = berisikan nomer urut bbbbb = berisikan kode klien ccc = berisikan TBJ singkatan dari nama perusahaan
ddd = berisikan bulan invoice dibuat dalam romawi
ee = berisikan tahun invoice dibuat dalam format dua digit
NO
Employee_ID Secara unik mengidentifikasi Employee
VARCHAR(10) aaaa.bbbbb
aaaa = berisikan tahun bergabung
bbbbb = berisikan nomor urut
NO
mengidentifikasi Site aaabbb
aaa = berisikan huruf abjad
bbb = berisikan angka
SOW Secara unik
mengidentifikasi msClient
VARHCAR(50) NO
Invoice_Date Tanggal invoice diproses DATETIM E NO Invoice_Due_Date Tanggal jatuh tempo
invoice
DATETIM E NO
Revision Keterangan revisi invoice INT(4) NO Information Keterangan tentang
invoice
TEXT YES
Tabel 4.27 Tabel Relasi Dasar Invoice
Primary Key (Invoice_ID)
Foreign Key Employee_ID references Employee (Employee_ID) ON UPDATE
CASCADE ON DELETE NO ACTION
Foreign Key Site_ID references Project (Site_ID) ON UPDATE CASCADE ON
DELETE NO ACTION
Foreign Key SOW references Project (SOW) ON UPDATE CASCADE ON
12. InvoiceFile
Atribut Deskripsi Tipe Data Nulls
Invoice_ID Secara unik mengidentifikasi Invoice VARCHAR(50) aaaaa/bbbbb/ccc/ddd/ee aaaaa = berisikan nomer urut bbbbb = berisikan kode klien ccc = berisikan TBJ singkatan dari nama perusahaan
ddd = berisikan bulan invoice dibuat dalam romawi
ee = berisikan tahun invoice dibuat dalam format dua digit
NO
Invoice_File Alamat master file Invoice
VARCHAR(150) NO
Invoice_File_Date Tanggal upload file Invoice
DATETIM E NO
Tabel 4.28 Tabel Relasi Dasar InvoiceFile
Primary Key (Invoice_ID, Invoice_File)
Foreign Key Invoice_ID references Invoice (Invoice_ID) ON UPDATE
13. InvoiceDescription
Atribut Deskripsi Tipe Data Nulls
Invoice_ID Secara unik mengidentifikasi Invoice VARCHAR(50) aaaaa/bbbbb/ccc/ddd/ee aaaaa = berisikan nomer urut bbbbb = berisikan kode klien ccc = berisikan TBJ singkatan dari nama perusahaan
ddd = berisikan bulan invoice dibuat dalam romawi
ee = berisikan tahun invoice dibuat dalam format dua digit
NO
Description Deskripsi pekerjaan proyek
TEXT NO
QTY Banyaknya unit INT(4) NO
Price Harga perunit BIGINT(15) NO
Tabel 4.29 Tabel Relasi Dasar InvoiceDesription
Primary Key (Invoice_ID, Description)
Foreign Key Invoice_ID references Invoice (Invoice_ID) ON UPDATE
14. Material
Atribut Deskripsi Tipe Data Nulls
M aterial_ID Secara unik mengidentifikasi M aterial VARCHAR(10) aaabbbbbbb aaa = berisikan MTR merupakan singkatan dari material bbbbbbb = berisikan nomor urut NO
M aterial_Name Nama material yang ada di PT. Trimitra Bangun Jagad
VARCHAR(50) NO
QTY Jumlah material yang dimiliki INT(4) NO
Type Jenis material VARCHAR(50) NO
Tabel 4.30 Tabel Relasi Dasar Material
Primary Key (M aterial_ID) ON UPDATE CASCADE ON DELETE NO
ACTION
15. TypeMaterial
Atribut Deskripsi Tipe Data Nulls
Type Jenis material VARCHAR(50) NO
Tabel 4.31 Tabel Relasi Dasar TypeMaterial Primary Key (Type)
16. Message
Atribut Deskripsi Tipe Data Nulls
M essage_ID Secara unik mengidentifikasi M essage
VARCHAR(25) NO
Employee_ID Secara unik mengidentifikasi Employee VARCHAR(10) aaaa.bbbbb aaaa = berisikan tahun bergabung bbbbb = berisikan nomor urut NO
M essage_Date Tanggal pesan dibuat DATETIM E NO Subject Judul pesan VARCHAR(200) NO Sender Nama sipengirim pesan VARCHAR(50) NO Content Isi dari pesan LONGTEXT NO File Alamat file yang disertakan VARCHAR(150) YES Status Status dari pesan VARCHAR(10) NO
Tabel 4.32 Tabel Relasi Dasar Message
Primary Key (M essage_ID)
Foreign Key employee_ID references employee (employee_ID) ON UPDATE
CASCADE ON DELETE CASCADE
17. PO
Atribut Deskripsi Tipe Data Nulls
PO_ID Secara unik mengidentifikasi PO
VARCHAR(50) aaaaa/bb/ccc/ddd/ee aaaaa = berisikan
nomor urut bb = berisikan PO ccc = berisikan TBJ singkatan dari nama perusahaan ddd = berisikan bulan invoice dibuat dalam romawi ee = berisikan tahun invoice dibuat dalam format dua digit Client_ID Secara unik mengidentifikasi
Client
VARCHAR(10) aaaaa
aaaaa = berisikan inisial dari klien
NO
Employee_ID Secara unik mengidentifikasi Client VARCHAR(10) aaaa.bbbbb aaaa = berisikan tahun bergabung bbbbb = berisikan nomor urut NO
PO_Name Nama proyek yang tercantum di PO
VARCHAR(50) NO
PO_Date Tanggal PO diproses DATETIM E NO PO_Date_Printed Tanggal yang tercantum di PO DATETIM E NO Contract Reference dari proyek yang
dikerjakan
VARCHAR(50) NO
TO_Payment Batas waktu pembayaran VARCHAR(100) NO Start_Date Tanggal proyek dimulai DATETIM E NO Finish_Date Tanggal batas proyek selesai DATETIM E NO
PO_File Alamat master file PO VARCHAR(150) YES Status Status dari PO VARCHAR(10) NO Information Keterangan tentang PO TEXT YES
Tabel 4.33 Tabel Relasi Dasar PO
Primary Key (PO_ID)
Foreign Key Client_ID references Client (Client_ID) ON UPDATE CASCADE
ON DELETE NO ACTION
Foreign Key Employee_ID references Employee (Employee _ID) ON UPDATE
CASCADE ON DELETE NO ACTION
18. PositionEMP
Atribut Deskripsi Tipe Data Nulls
Position Nama divisi atau department
perusahaan
VARCHAR(25) NO
Tabel 4.34 Tabel Relasi Dasar PositionEMP
19. Progress
Atribut Deskripsi Tpe Data Nulls
Activity M engidentifikasi kegiatan yang sedang dikerjakan
VARCHAR(50) YES
Tabel 4.35 Tabel Relasi Dasar Progress
Primary Key (Progress_ID)
20. Project
Atribut Deskripsi Tipe Data Nulls
Site_ID Secara unik
mengidentifikasi Site
VARCHAR(10) aaabbb
aaa = berisikan huruf abjad
bbb = berisikan angka
NO
PO_ID Secara unik
mengidentifikasi PO VARCHAR(50) aaaaa/bb/ccc/ddd/ee aaaaa = berisikan nomor urut bb = berisikan PO ccc = berisikan TBJ singkatan dari nama perusahaan
ddd = berisikan bulan invoice dibuat dalam romawi ee = berisikan tahun invoice dibuat dalam
format dua digit Ttk_Koor_N Titik koordinat utara
pada tempat proyek
DOUBLE YES
Ttk_Koor_E Titik koordinat timur pada tempat proyek
DOUBLE YES
Project_Name Nama Project VARCHAR(50) NO
SOW Ruang lingkup dari
proyek
VARCHAR(50) NO
QTY Banyaknya unit INT(4) NO
Price Harga perunit BIGINT NO
Information Keterangan pada Project TEXT YES
Tabel 4.36 Tabel Relasi Dasar Project
Primary Key (Site_ID,SOW)
Foreign Key Employee_ID references Employee (Employee_ID) ON UPDATE
CASCADE ON DELETE NO ACTION
Foreign Key Site_ID references Site (Site_ID) ON UPDATE CASCADE ON
DELETE NO ACTION
Foreign Key PO_ID references PO (PO_ID) ON UPDATE CASCADE ON
21. TransProjectS PK
Atribut Deskripsi Tipe Data Nulls
Site_ID Secara unik
mengidentifikasi Site
VARCHAR(10) aaabbb
aaa = berisikan huruf abjad
bbb = berisikan angka
NO
SOW Ruang lingkup dari
proyek
VARCHAR(50) NO
SPK_ID Secara unik
mengidentifikasi SPK
VARCHAR(50)
aaaaa/bbb/cccc/dddd/eee/ff aaaaa = berisikan nomer urut bbb = berisikan SPK cccc = berisikan kode subKon dddd = berisikan nama proyek
eee = berisikan bulan invoice dibuat dalam romawi
ff = berisikan tahun invoice dibuat dalam format dua digit
NO
Tabel 4.37 Tabel Relasi Dasar TransProjectS PK
Primary Key (Site_ID, SOW, SPK_ID)
Foreign Key Site_ID references Project (Site_ID) ) ON UPDATE CASCADE
ON DELETE CASCADE
Foreign Key SOW references Project (SOW) ) ON UPDATE CASCADE ON
Foreign Key SPK_ID references SPK (SPK_ID) ) ON UPDATE CASCADE
ON DELETE CASCADE
22. Site
Atribut Deskripsi Tipe Data Nulls
Site_ID Secara unik
mengidentifikasi Site VARCHAR(10) aaabbb aaa = berisikan huruf abjad bbb = berisikan angka NO
Site_Name Nama Site VARCHAR(50) NO Area Area tempat proyek
dilaksanakan
VARCHAR(50) NO
Address Alamat proyek
dilaksanakan
VARCHAR(200) NO
Province Propinsi dari area tersebut
VARCHAR(100) NO
Tabel 4.38 Tabel Relasi Dasar S ite Primary Key (Site_ID)
23. S PK
Atribut Deskripsi Tpe Data Nulls
SPK_ID Secara unik
mengidentifikasi SPK
VARCHAR(50)
aaaaa/bbb/cccc/dddd/eee/ff aaaaa = berisikan nomer urut bbb = berisikan SPK cccc = berisikan kode subKon dddd = berisikan nama proyek
eee = berisikan bulan invoice dibuat dalam romawi
ff = berisikan tahun invoice dibuat dalam format dua digit
NO
Employee_ID Secara unik mengidentifikasi Client
VARCHAR(10) aaaa.bbbbb
aaaa = berisikan tahun bergabung
bbbbb = berisikan nomor urut
NO
SubKon_ID Secara unik mengidentifikasi SubKon
VARCHAR(10) aaa-bbbb
aaa = berisikan SUB bbbb = berisikan inisial perusahaan subkon
NO
SPK_Date Tanggal SPK diproses DATETIM E NO Job Nama pekerjaan yang
dikerjakan
VARCHAR(200) NO
Specification Spesifik pekerjaan yang dikerjakan
VARCHAR(200) NO
Pay_System Sistem pembayaran VARCHAR(200) NO
Price Biaya pembayaran BIGINT NO
Revision Keterangan revisi SPK INT(4) NO Information Keterangan tentang SPK TEXT YES
Tabel 4.39 Tabel Relasi Dasar S PK
Primary Key (SPK_ID)
Foreign Key SubKon_ID references SubKon (SubKon_ID) ON UPDATE
CASCADE ON DELETE NO ACTION
Foreign Key Employee_ID references Employee (Employee_ID) ON UPDATE
CASCADE ON DELETE NO ACTION
24. S PKFile
Atribut Deskripsi Tipe Data Nulls
SPK_File Alamat file master SPK
VARCHAR(150) NO
SPK_ID Secara unik
mengidentifikasi SPK
VARCHAR(50)
aaaaa/bbb/cccc/dddd/eee/ff aaaaa = berisikan nomer urut bbb = berisikan SPK cccc = berisikan kode subKon dddd = berisikan nama proyek
eee = berisikan bulan invoice dibuat dalam romawi
ff = berisikan tahun invoice dibuat dalam format dua digit SPK_File_Date Tanggal upload
File SPK
DATETIM E NO
Tabel 4.40 Tabel Relasi Dasar S PKFile
Primary Key (SPK_File, SPK _ID)
Foreign Key SPK_ID references SPK (SPK_ID) ON UPDATE CASCADE ON
DELETE CASCADE
25. SubKon
Atribut Deskripsi Tipe Data Nulls
SubKon_ID Secara unik
mengidentifikasi SubKon VARCHAR(10) aaa-bbbb aaa = berisikan SUB bbbb = berisikan inisial perusahaan subkon NO
SubKon_Name Nama sub-kontraktor pada PT. Trimitra
Bangun Jagad
VARCHAR(50) NO
Address Alamat
sub-kontraktor
VARCHAR(200) NO
Tabel 4.41 Tabel Relasi Dasar S ubKon
26. SubKonPhone
Atribut Deskripsi Tipe Data Nulls
SubKon_ID Secara unik
mengidentifikasi SubKon VARCHAR(10) aaa-bbbb aaa = berisikan SUB bbbb = berisikan inisial perusahaan subkon NO
Phone Nomor telepon sub-kontraktor
VARCHAR(20) YES
Tabel 4.42 Tabel Relasi Dasar S ubKonPhone
Primary Key (SubKon_ID, Phone)
Foreign Key SubKon_ID references SubKon (SubKon_ID) ON UPDATE
CASACADE ON DELETE CASCADE
27. SubKonFax
Atribut Deskripsi Tipe Data Nulls
SubKon_ID Secara unik
mengidentifikasi SubKon VARCHAR(10) aaa-bbbb aaa = berisikan SUB bbbb = berisikan inisial perusahaan subkon NO
Fax Nomor fax
sub-kontraktor
VARCHAR(20) YES
Tabel 4.43 Tabel Relasi Dasar S ubKonFax
Foreign Key SubKon_ID references SubKon (SubKon_ID) ON UPDATE
CASACADE ON DELETE CASCADE
28. SubKonEmail
Atribut Deskripsi Tipe Data Nulls
SubKon_ID Secara unik
mengidentifikasi SubKon VARCHAR(10) aaa-bbbb aaa = berisikan SUB bbbb = berisikan inisial perusahaan subkon NO
Email Alamat email sub-kontraktor
VARCHAR(100) YES
Tabel 4.44 Tabel Relasi Dasar S ubKonEmail
Primary Key (SubKon_ID, Email)
Foreign Key SubKon_ID references SubKon (SubKon_ID) ON UPDATE
CASACADE ON DELETE CASCADE
29. SubKonEMP
Atribut Deskripsi Tipe Data Nulls
SubKon_ID Secara unik
mengidentifikasi SubKon VARCHAR(10) aaa-bbbb aaa = berisikan SUB bbbb = berisikan inisial perusahaan NO
subkon SubKon_EM P_Name Nama karyawan
yang bekerja pada sub-kontraktor
VARCHAR(50) NO
Tabel 4.45 Tabel Relasi Dasar S ubKonEMP
Primary Key (SubKon_ID, SubKon_EM P_Name)
Foreign Key SubKon_ID references SubKon (SubKon_ID) ON UPDATE
CASACADE ON DELETE CASCADE
30. TransProjectBOQ
Atribut Deskripsi Tipe Data Nulls
Site_ID Secara unik
mengidentifikasi Site
VARCHAR(10) aaabbb
aaa = berisikan huruf abjad
bbb = berisikan angka
NO
SOW Ruang lingkup dari
proyek
VARCHAR(50) NO
BOQ_ID Secara unik
mengidentifikasi BOQ
VARCHAR(50) aaaaa/bbb/ccc/ddd/ee aaaaa = berisikan nomor urut
bbb = berisikan BOQ ccc = berisikan TBJ singkatan dari nama perusahaan
ddd = berisikan bulan invoice dibuat dalam romawi
ee = berisikan tahun invoice dibuat dalam
format dua digit
Tabel 4.46 Tabel Relasi Dasar TransProjectBOQ
Primary Key (Site_ID, SOW, SPK_ID)
Foreign Key Site_ID references Project (Site_ID) ON UPDATE CASACADE
ON DELETE CASCADE
Foreign Key SOW references Project (SOW) ON UPDATE CASACADE ON