• Tidak ada hasil yang ditemukan

2. Weak Entity

4.1.3 Perancangan Basis Data Fisikal

4.1.3.1 Merancang Relasi-Relasi Dasar

Tahap awal perancangan fisikal ini bertujuan untuk memutuskan bagaimana menggambarkan relasi basis model data logikal global pada DBM S. Untuk memulai prosesnya, dilakukan penyusunan informasi tentang relasi yang terbentuk pada perancangan logikal. Informasi yang tersusun antara lain nama relasi, atribut-atribut, primary keys, foreign keys, refential integrity, domain yang terdiri dari tipe data, panjang, constraints, dan apakah atribut yang bernilai null.

Berikut ini adalah perancangan DBDL untuk setiap entiti yang bertujuan untuk membuat domain dari setiap atribut agar user dapat mengerti penggunaan setiap atribut tersebut

berdasarkan penjelasannya dan juga batasan yang terdapat di dalam setiap atribut.

1. DBDL (Database Design Language) untuk Tabel msbarang Domain kdbarang fixed length character string, 5 Domain nama_barang variable length character string, 20 Domain harga integer

Domain stok integer Domain satuan integer msbarang (

kdbarang kode barang NOT NULL nama_barang nama barang NOT NULL harga harga barang NOT NULL

stok stok NOT NULL

satuan satuan barang NOT NULL Primary Key (kdbarang)

)

2. DBDL (Database Design Language) untuk Tabel pembelianD Domain kdpembelian fixed length character string, 5 Domain kdbarang fixed length character string, 5 Domain qty integer

pembelianD (

kdpembelian kode pembelian NOT NULL kdbarang kode barang NOT NULL qty jumlah barang NOT NULL

Primary Key (kdpembelian,kdbarang)

Foreign Key (kdpembelian) References pembelian (kdpembelian)

ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key (kdbarang) References msbarang (kdbarang)

ON UPDATE CASCADE ON DELETE NO ACTION )

3. DBDL (Database Design Language) untuk Tabel pembelianH Domain kdpembelian fixed length character string, 5 Domain kdsuplier fixed length character string, 5 Domain kdkaryawan fixed length character string, 5 Domain tgl_pembelian datetime

pembelianH (

kdpembelian kode pembelian NOT NULL kdsuplier kode suplier NOT NULL kdkaryawan kode karyawan NOT NULL tgl_pembelian tanggal pembelian NOT NULL Primary Key (kdpembelian)

Foreign Key (kdsuplier) References mssuplier (kdsuplier) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key (kdkaryawan) References mskaryawan

(kdkaryawan)

ON UPDATE CASCADE ON DELETE NO ACTION )

4. DBDL (Database Design Language) untuk Tabel mssuplier Domain kdsuplier fixed length character string, 5 Domain nama_suplier variable length character string, 20 Domain alamat_suplier variable length character string, 20 Domain kota variable length character string, 20 mssuplier (

kdsuplier kode suplier NOT NULL nama_suplier nama suplier NOT NULL alamat_suplier alamat suplier NOT NULL

kota kota NOT NULL

Primary Key (kdsuplier) )

5. DBDL (Database Design Language) untuk Tabel TelpSuplier Domain NoTelpSuplier numeric

Domain kdsuplier fixed length character string, 5 TelpSuplier (

NoTelpSuplier no telepon suplier NOT NULL kdsuplier kode suplier NOT NULL Primary Key (NoTelpSuplier)

Foreign Key (kdsuplier) References mssuplier (kdsuplier) ON UPDATE CASCADE ON DELETE NO ACTION )

6. DBDL (Database Design Language) untuk Tabel msuser Domain userID variable length character string, 20

Domain pass fixed length character string, 35 Domain status fixed length character string, 1 Domain login integer, 1

msuser (

userID nama user NULL pass password user NULL status status jabatan NOT NULL login status login NOT NULL Primary Key (userID)

)

7. DBDL (Database Design Language) untuk Tabel mskaryawan

Domain kdkaryawan fixed length character string, 5 Domain userID variable length character string, 20 Domain kdjabatan fixed length character string, 5 Domain nama_karyawan variable length character string, 20 Domain alamat_karyawan variable length character string, 20 Domain kota variable length character string, 20 mskaryawan (

kdkaryawan kode karyawan NOT NULL

userID nama user NOT NULL

kdjabatan kode jabatan NOT NULL nama_karyawan nama karyawan NOT NULL alamat_karyawan alamat karyawan NOT NULL

kota kota karyawan NOT NULL Primary Key (kdkaryawan)

Foreign Key (userID) References msuser (userID)

ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key (kdjabatan) References msjabatan (kdjabatan)

ON UPDATE CASCADE ON DELETE NO ACTION )

8. DBDL (Database Design Language) untuk Tabel TelpKaryawan

Domain NoTelpKaryawan numeric

Domain kdkaryawan fixed length character string, 5 TelpKaryawan (

NoTelpKaryawan no telepon karyawan NOT NULL kdkaryawan kode karyawan NOT NULL Primary Key (NoTelpKaryawan)

Foreign Key (kdkaryawan) References mskaryawan (kdkaryawan)

ON UPDATE CASCADE ON DELETE NO ACTION )

9. DBDL (Database Design Language) untuk Tabel msrental Domain kdrental fixed length character string, 5 Domain nama_rental variable length character string, 20 Domain alamat_rental variable length character string, 20 Domain kota variable length character string, 20

msrental (

kdrental kode rental NOT NULL nama_rental nama rental NOT NULL alamat_rental alamat rental NOT NULL

kota kota rental NOT NULL

Primary Key (kdrental) )

10. DBDL (Database Design Language) untuk Tabel penawaranH

Domain kdpenawaran fixed length character string, 5 Domain kdkonsumen fixed length character string, 5 Domain kdkaryawan fixed length character string, 5 Domain kdproyek fixed length character string, 5 Domain nama_penawaranvariable length character string, 20 Domain tgl_penawaran datetime

Domain jumlah_penawaran integer

Domain status fixed length character string, 10 penawaranH (

kdpenawaran kode penawaran NOT NULL kdkonsumen kode konsumen NOT NULL kdkaryawan kode karyawan NOT NULL kdproyek kode proyek NOT NULL nama_penawaran nama penawaran NOT NULL tgl_penawaran tanggal penawaran NOT NULL

status status penawaran NOT NULL Primary Key (kdpenawaran)

Foreign Key (kdkonsumen) References mskonsumen (kdkonsumen)

ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key (kdkaryawan) References mskaryawan (kdkaryawan)

ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key (kdproyek) References msjabatan (kdproyek) ON UPDATE CASCADE ON DELETE NO ACTION )

11. DBDL (Database Design Language) untuk Tabel pembayaranH

Domain kdpembayaran fixed length character string, 5 Domain kdkaryawan fixed length character string, 5 Domain kdproyek fixed length character string, 5 Domain tgl_pelunasan datetime

pembayaran (

kdpembayaran kode pembayaran NOT NULL kdkaryawan kode karyawan NOT NULL kdproyek kode proyek NOT NULL tgl_pelunasan tanggal pelunasan NOT NULL Primary Key (kdpembayaran)

Foreign Key (kdkaryawan) References mskaryawan (kdkaryawan)

ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key (kdproyek) References msproyek (kdproyek)

ON UPDATE CASCADE ON DELETE NO ACTION )

12. DBDL (Database Design Language) untuk Tabel msjabatan Domain kdjabatan fixed length character string, 5 Domain jabatan variable length character string, 20 msjabatan (

kdjabatan kode jabatan NOT NULL

jabatan jabatan NOT NULL

Primary Key (kdjabatan) )

13. DBDL (Database Design Language) untuk Tabel peminjamanH

Domain kdkaryawan fixed length character string, 5 Domain kdpeminjaman fixed length character string, 5 Domain kdrental fixed length character string, 5 Domain tgl_pinjam datetime

Domain tgl_kembali datetime peminjamanH (

kdkaryawan kode karyawan NOT NULL kdpeminjaman kode peminjaman NOT NULL

kdrental kode rental NOT NULL tgl_pinjam tanggal pinjam NOT NULL tgl_kembali tanggal kembali NOT NULL Primary Key (kdkaryawan, kdpeminjaman)

Foreign Key (kdkaryawan) References mskaryawan (kdkaryawan)

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key (kdperalatan) References msperalatan (kdperalatan)

ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key (kdrental) References msrental (kdrental)

ON UPDATE CASCADE ON DELETE NO ACTION )

14. DBDL (Database Design Language) untuk Tabel TelpRental Domain NoTelpRental numeric

Domain kdrental fixed length character string, 5 TelpRental (

NoTelpRental no telp rental NOT NULL kdrental kode rental NOT NULL Primary Key (NoTelpRental)

Foreign Key (kdrental) References msrental (kdrental) ON UPDATE CASCADE ON DELETE NO ACTION )

15. DBDL (Database Design Language) untuk Tabel msproyek Domain kdproyek fixed length character string, 5 Domain nama_proyek variable length character string, 20 Domain alamat_proyek variable length character string, 20 Domain kota variable length character string, 20 Domain tgl_mulai datetime

Domain tgl_selesai datetime Domain harga_proyek integer msproyek (

kdproyek kode proyek NOT NULL nama_proyek nama proyek NOT NULL alamat_proyek alamat proyek NOT NULL

kota kota proyek NOT NULL

tgl_mulai tanggal mulai NOT NULL tgl_selesai tanggal selesai NOT NULL harga_proyek harga proyek NOT NULL Primary Key (kdproyek)

)

16. DBDL (Database Design Language) untuk Tabel pembayaranD

Domain kdpembayaran fixed length character string, 5 Domainkdkonsumen fixed length character string, 5 Domain tgl_pembayaran integer

pembayaranD (

kdpembayaran kode pembayaran NOT NULL kdkonsumen kode konsumen NOT NULL jml_pembayaran jumlah pembayaran NOT NULL tgl_pembayaran tanggal pembayaran NOT NULL Primary Key (kdpembayaran, kdkonsumen)

Foreign Key (kdpembayaran) References mspembayaran (kdpembayaran)

ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key (kdkonsumen) References mskonsumen (kdkonsumen)

ON UPDATE CASCADE ON DELETE NO ACTION )

17. DBDL (Database Design Language) untuk Tabel peminjamanD

Domain kdkaryawan fixed length character string, 5 Domain kdpeminjaman fixed length character string, 5 Domain kdperalatan fixed length character string, 5 Domain qty integer

peminjamanD (

kdkaryawan kode karyawan NOT NULL kdpeminjaman kode peminjaman NOT NULL kdperalatan kode peralatan NOT NULL qty jumlah peralatan NOT NULL

Primary Key (kdkaryawan, kdpeminjaman, kdperalatan)

Foreign Key (kdkaryawan) References mskaryawan (kdkaryawan)

ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key (kdpeminjaman) References mspeminjaman (kdpeminjaman)

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key (kdperalatan) References msperalatan (kdperalatan)

ON UPDATE CASCADE ON DELETE NO ACTION )

18. DBDL (Database Design Language) untuk Tabel penawaranD

Domain kdpenawaran fixed length character string, 5 Domain kdperalatan fixed length character string, 5 Domain kdbarang fixed length character string, 5 Domain kdjasa fixed length character string, 5 Domain qty_barang integer

Domain qty_peralatan integer penawaranD (

kdpenawaran kode penawaran NOT NULL kdperalatan kode peralatan NOT NULL kdbarang kode barang NOT NULL

qty_barang jumlah barang NOT NULL qty_peralatan jumlah peralatan NOT NULL Primary Key (kdpenawaran, kdperalatan, kdbarang, kdjasa) Foreign Key (kdpenawaran) References mspenawaran (kdpenawaran)

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key (kdperalatan) References msperalatan (kdperalatan)

ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key (kdbarang) References msbarang (kdbarang)

ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key (kdjasa) References msjasa (kdjasa)

ON UPDATE CASCADE ON DELETE NO ACTION )

19. DBDL (Database Design Language) untuk Tabel msjasa Domain kdjasa fixed length character string, 5 Domain jasa variable length character string, 20 Domain biaya integer

msjasa (

kdjasa kode jasa NOT NULL

jasa jasa NOT NULL

biaya harga jasa NOT NULL

Primary Key (kdjasa) )

20. DBDL (Database Design Language) untuk Tabel mskonsumen

Domain kdkonsumen fixed length character string, 5 Domain nama_konsumen variable length character string, 20 Domain alamat_konsumen variable length character string, 20 Domain kota variable length character string, 20 mskonsumen (

kdkonsumen kode konsumen NOT NULL nama_konsumen nama konsumen NOT NULL alamat_konsumen alamat konsumen NOT NULL

kota kota konsumen NOT NULL

Primary Key (kdkonsumen) )

21. DBDL (Database Design Language) untuk Tabel TelpKonsumen

Domain NoTelpKonsumen numeric

Domain kdkonsumen fixed length character string, 5 TelpKonsumen (

NoTelpKonsumen no telepon konsumen NOT NULL kdkonsumen kode konsumen NOT NULL Primary Key (NoTelpKonsumen)

Foreign Key (kdkonsumen) References mskonsumen (kdkonsumen)

)

22. DBDL (Database Design Language) untuk Tabel msperalatan Domain kdperalatan fixed length character string, 5 Domain nama_peralatan variable length character string, 20 Domain harga_sewa integer

Domain stok integer msperalatan (

kdperalatan kode peralatan NOT NULL nama_peralatan nama peralatan NOT NULL harga_sewa harga sewa NOT NULL stok stok peralatan NOT NULL Primary Key (kdperalatan)

)

Dokumen terkait