• Tidak ada hasil yang ditemukan

Perancangan Basisdata Relasional

Dalam dokumen BAB 4 PERANCANGAN SISTEM BASIS DATA (Halaman 34-49)

4.1.3 Perancangan Basisdata Fisikal

4.1.3.1 Perancangan Basisdata Relasional

Informasi yang dibutuhkan dalam perancangan basis data fisikal dapat diperoleh melalui kamus data dan mendefinisikan penggambaran relasional menggunakan Database Design Language (DBDL). Berikut ini adalah perancangan basisdata relasional untuk setiap entiti yang bertujuan untuk domain dari setiap atribut supaya user dapat mengerti penggunaan setiap atribut tersebut berdasarkan penjelasan beserta batasan yang terdapat dalam setiap atribut.

• DBDL untuk Karyawan

Domain KodeKaryawan char, length 6 Domain NamaKaryawan varchar, length 30

Domain Alamat varchar, length 100 Domain KodePos varchar, length 7 Domain NomorRekening varchar, length 14

Karyawan (

Kd_Kry KodeKaryawan NOT NULL,

Nm_Kry NamaKaryawan NOT NULL,

Alamat Alamat NOT NULL,

Kd_Pos KodePos NULL,

No_Rek NomorRekening NULL,

Jabatan Jabatan NOT NULL,

PRIMARY KEY (Kd_Kry) );

• DBDL untuk Pelanggan

Domain KodePelanggan char, length 6 Domain NamaPelanggan varchar, length 30

Domain Alamat varchar, length 100 Domain Fax varchar, length 15 Domain Email varchar, length 40 Domain KodePos varchar, length 7 Domain NomorRekening varchar, length 14 Pelanggan (

Kd_Plg KodePelanggan NOT NULL,

Nm_Plg NamaPelanggan NOT NULL,

Alamat Alamat NOT NULL,

Fax Fax NULL,

Kd_Pos KodePos NULL,

No_Rek NomorRekening NULL,

PRIMARY KEY (Kd_Plg) );

• DBDL untuk Pemasok

Domain KodePemasok char, length 6 Domain NamaPemasok varchar, length 30

Domain Alamat varchar, length 100 Domain Fax varchar, length 15 Domain Email varchar, length 40 Domain KodePos varchar, length 7 Domain NomorRekening varchar, length 14 Pemasok (

Kd_Pms KodePemasok NOT NULL,

Nm_Pms NamaPemasok NOT NULL,

Alamat Alamat NOT NULL,

Fax Fax NULL,

Email Email NULL,

Kd_Pos KodePos NULL,

No_Rek NomorRekening NULL,

PRIMARY KEY (Kd_Pms) );

• DBDL untuk Barang

Domain KodeBarang char, length 6 Domain NamaBarang varchar, length 30 Domain TipeBarang varchar, length 15 Domain PermukaanKulit varchar, length 15 Domain KodeWarna varchar, length 6 Domain HargaBeliPerUnit numeric

Domain HargaJualPerUnit numeric

Domain MinimumStok integer, antara 0-3000 Domain MaksimumStok integer, antara 1000-10000 Domain Jumlah integer, antara 0-10000 Barang (

Kd_Brg KodeBarang NOT NULL,

Nm_Brg NamaBarang NOT NULL,

Tipe_Brg TipeBarang NOT NULL, Permukaan_Kulit PermukaanKulit NULL,

Kd_Warna KodeWarna NOT NULL,

Hrg_Beli_Unit HargaBeliPerUnit NOT NULL, Hrg_Jual_Unit HargaJualPerUnit NOT NULL, Min_Stok MinimumStok NOT NULL, Max_Stok MaksimumStok NOT NULL,

Jumlah Jumlah NOT NULL

FOREIGN KEY (Kd_Warna) REFERENCES Warna (Kd_ Warna) ON UPDATE CASCADE ON DELETE SET NULL );

• DBDL untuk Warna

Domain KodeWarna char, length 6 Domain JenisWarna varchar, length 15 Warna (

Kd_Warna KodeWarna NOTNULL,

Jenis_Warna JenisWarna NOTNULL, PRIMARY KEY (Kd_Warna)

);

• DBDL untuk Pemesanan_Penjualan

Domain KodePemesananPenjualan char, length 10 Domain TanggalPemesananPenjualan date

Domain TanggalDibutuhkan date

Domain KodePelanggan char, length 6 Domain KodeKaryawan char, length 6 Pemesanan_Penjualan (

Kd_Pemesanan_Penj KodePemesananPenjualan NOT NULL, Tgl_Pemesanan_Penj TanggalPemesananPenjualan NOT NULL,

Kd_Plg KodePelanggan NOT NULL,

Kd_Kry KodeKaryawan NOT NULL,

PRIMARY KEY (Kd_Pemesanan_Penj),

FOREIGN KEY (Kd_Plg) REFERENCES Pelanggan (Kd_Plg)ON UPDATE CASCADE ON DELETE SET NULL, FOREIGN KEY (Kd_Kry) REFERENCES Karyawan (Kd_Kry)ON UPDATE CASCADE ON DELETE SET NULL );

• DBDL untuk Detail_Pemesanan_Penjualan

Domain KodePemesananPenjualan char, length 10 Domain KodeBarang varchar, length 6

Domain Jumlah integer

Detail_Pemesanan_Penjualan(

Kd_Pemesanan_Penj KodePemesananPenjualan NOT NULL,

Kd_Brg KodeBarang NOT NULL,

Jumlah Jumlah NOT NULL,

PRIMARY KEY (Kd_Pemesanan_Penj, Kd_Brg),

FOREIGN KEY (Kd_Pemesanan_Penj) REFERENCES Pemesanan_Penjualan (Kd_Pemesanan_Penj) ON UPDATE CASCADE ON DELETE SET NULL,

FOREIGN KEY (Kd_ Brg) REFERENCES Barang (Kd_ Brg) ON UPDATE CASCADE ON DELETE SET NULL

• DBDL untuk Penjualan

Domain KodePenjualan char, length 10 Domain TanggalPenjualan date

Domain KodePemesananPenjualan char, length 10 Domain Pajak integer, antara 0-10 Domain KodeKaryawan char, length 6 Penjualan (

Kd_Penj KodePenjualan NOT NULL, Tgl_Penj TanggalPenjualan NOT NULL, Kd_Pemesanan_Penj KodePemesananPenjualan NOT NULL,

Pajak Pajak NOT NULL,

Kd_Kry KodeKaryawan NOT NULL, PRIMARY KEY (Kd_Penj),

FOREIGN KEY (Kd_Pemesanan_Penj) REFERENCES Pemesanan_Penjualan (Kd_Pemesanan_Penj) ON UPDATE CASCADE ON DELETE SET NULL,

FOREIGN KEY (Kd_Kry) REFERENCES Karyawan (Kd_Kry)ON UPDATE CASCADE ON DELETE SET NULL );

• DBDL untuk Detail_Penjualan

Domain KodePenjualan char, length 10 Domain KodeBarang char, length 6

Domain JumlahBarang integer, antara 0-1000 Domain Diskon integer, antara 0-100 Detail_Penjualan (

Kd_Penj KodePenjualan NOT NULL,

Kd_Brg KodeBarang NOT NULL,

Jumlah_Brg JumlahBarang NOT NULL,

Diskon Diskon NOT NULL,

PRIMARY KEY (Kd_Penj, Kd_Brg),

FOREIGN KEY (Kd_Penj) REFERENCES Penjualan (Kd_ Penj) ON UPDATE CASCADE ON DELETE SET NULL, FOREIGN KEY (Kd_ Brg) REFERENCES Barang (Kd_ Brg) ON UPDATE CASCADE ON DELETE SET NULL );

• DBDL untuk Pengembalian_Penjualan

Domain KodePengembalianPenjualan char, length 10

Domain TanggalPengembalianPenjualan date

Domain KodePenjualan char, length 10

Domain KodeKaryawan char, length 6 Pengembalian_Penjualan (

Kd_Pengembalian_Penj KodePengembalianPenjualan NOT NULL, Tgl_Pengembalian_Penj TanggalPengembalianPenjualan NOT NULL, Kd_Penj KodePenjualan NOT NULL, Kd_Kry KodeKaryawan NOT NULL,

PRIMARY KEY (Kd_ Pengembalian _Penj),

FOREIGN KEY (Kd_Penj) REFERENCES Penjualan (Kd_Penj) ON UPDATE CASCADE ON DELETE SET NULL,

FOREIGN KEY (Kd_Kry) REFERENCES Karyawan (Kd_Kry)ON UPDATE CASCADE ON DELETE SET NULL

);

• DBDL untuk Detail_ Pengembalian _Penjualan

Domain KodePengembalianPenjualan char, length 10 Domain KodeBarang char, length 6

Domain Jumlah integer

Domain Keterangan varchar, length 100 Detail_ Pengembalian _Penjualan (

Kd_Pengembalian_Penj Kode Pengembalian Penjualan NOT NULL Kd_Brg KodeBarang NOT NULL, Jumlah Jumlah NOT NULL, Keterangan Keterangan NOT NULL,

PRIMARY KEY (Kd_ Pengembalian _Penj, Kd_Brg),

FOREIGN KEY (Kd_Pengembalian_Penj) REFERENCES Pengembalian_ Penjualan (Kd_ Pengembalian _Penj) ON UPDATE CASCADE ON DELETE SET NULL,

FOREIGN KEY (Kd_ Brg) REFERENCES Barang (Kd_ Brg) ON UPDATE CASCADE ON DELETE SET NULL

• DBDL untuk Pemesanan_Pembelian

Domain KodePemesananPembelian char, length 10 Domain TanggalPemesananPembelian date

Domain TanggalDibutuhkan date

Domain KodeKaryawan char, length 6 Pemesanan_Pembelian (

Kd_Pemesanan_Pemb KodePemesananPembelian NOT NULL, Tgl_Pemesanan_PembTanggalPemesananPembelianNOT NULL

Tgl_Butuh TanggalDibutuhkan NOT NULL,

Kd_Kry KodeKaryawan NOT NULL,

PRIMARY KEY (Kd_Pemesanan_Pemb),

FOREIGN KEY (Kd_Kry) REFERENCES Karyawan (Kd_Kry)ON UPDATE CASCADE ON DELETE SET NULL );

• DBDL untuk Detail_Pemesanan_Pembelian

Domain KodePemesananPembelian char, length 10 Domain KodeBarang char, length 6

Domain Jumlah integer

Detail_Pemesanan_Pembelian (

Kd_Pemesanan_Pemb KodePemesananPembelian NOT NULL, Kd_Brg KodeBarang NOT NULL,

PRIMARY KEY (Kd_Pemesanan_Pemb, Kd_Brg),

FOREIGN KEY (Kd_Pemesanan_Pemb) REFERENCES Pemesanan_ Pembelian (Kd_Pemesanan_Pemb) ON UPDATE CASCADE ON DELETE SET NULL,

FOREIGN KEY (Kd_ Brg) REFERENCES Barang (Kd_ Brg) ON UPDATE CASCADE ON DELETE SET NULL );

• DBDL untuk Pembelian

Domain KodePembelian char, length 10 Domain TanggalPembelian date

Domain KodePemesananPembelian char, length 10 Domain Pajak integer, antara 0-10 Domain KodeKaryawan char, length 6 Pembelian (

Kd_Pemb KodePembelian NOT NULL, Tgl_Pemb TanggalPembelian NOT NULL, Kd_Pemesanan_Pemb KodePemesananPembelian NOT NULL,

Pajak Pajak NOT NULL,

Kd_Kry KodeKaryawan NOT NULL, PRIMARY KEY (Kd_Pemb),

FOREIGN KEY (Kd_Pemesanan_Pemb) REFERENCES Pemesanan_ Pembelian (Kd_Pemesanan_Pemb) ON UPDATE

FOREIGN KEY (Kd_Kry) REFERENCES Karyawan (Kd_Kry)ON UPDATE CASCADE ON DELETE SET NULL );

• DBDL untuk Detail_Pembelian

Domain KodePembelian char, length 10 Domain KodeBarang char, length 6

Domain JumlahBarang integer, antara 0-1000 Domain Diskon integer, antara 0-100 Detail_Pembelian (

Kd_Pemb KodePembelian NOT NULL, Kd_Brg KodeBarang NOT NULL, Jumlah_Brg JumlahBarang NOT NULL,

Diskon Diskon NOT NULL,

PRIMARY KEY (Kd_Pemb, Kd_Brg),

FOREIGN KEY (Kd_Pemb) REFERENCES Pembelian (Kd_Pemb) ON UPDATE CASCADE ON DELETE SET NULL,

FOREIGN KEY (Kd_ Brg) REFERENCES Barang (Kd_ Brg) ON UPDATE CASCADE ON DELETE SET NULL );

Domain KodePengembalianPembelian char, length 10 Domain TanggalPengembalian Pembelian date

Domain KodePembelian char, length 10 Domain KodeKaryawan char, length 6 Pengembalian_Pembelian (

Kd_Pengembalian_Pemb KodePengembalianPembelian NOT NULL Tgl_Pengembalian_Pemb TanggalPengembalianPembelian NOT NULL, Kd_Pemb KodePembelian NOT NULL, Kd_Kry KodeKaryawan NOT NULL, PRIMARY KEY (Kd_ Pengembalian _Pemb),

FOREIGN KEY (Kd_Pemb) REFERENCES Pembelian(Kd_Pms)ON UPDATE CASCADE ON DELETE SET NULL,

FOREIGN KEY (Kd_Kry) REFERENCES Karyawan (Kd_Kry)ON UPDATE CASCADE ON DELETE SET NULL

);

• DBDL untuk Detail_ Pengembalian _Pembelian

Domain KodePengembalianPembelian char, length 10 Domain KodeBarang char, length 6

Domain Jumlah integer

Domain Keterangan varchar, length 100 Detail_ Pengembalian _Pembelian (

Jumlah Jumlah NOT NULL, Keterangan Keterangan NOT NULL, PRIMARY KEY (Kd_ Pengembalian _Pemb, Kd_Brg),

FOREIGN KEY (Kd_Pengembalian_Pemb) REFERENCES Pengembalian_ Pembelian (Kd_ Pengembalian_Pemb) ON UPDATE CASCADE ON DELETE SET NULL,

FOREIGN KEY (Kd_ Brg) REFERENCES Barang (Kd_ Brg) ON UPDATE CASCADE ON DELETE SET NULL

);

• DBDL untuk Telp_Karyawan

Domain TelponKaryawan varchar, length 6 Domain KodeKaryawan char, length 6 Telp_Karyawan (

Telp_Kry TelponKaryawan NOT NULL, Kd_Kry KodeKaryawan NOT NULL, PRIMARY KEY (Telp_Kry),

FOREIGN KEY (Kd_Kry) REFERENCES Karyawan (Kd_ Kry) ON UPDATE CASCADE ON DELETE SET NULL );

• DBDL untuk Telp_Pelanggan

Domain Kode Pelanggan char, length 6 Telp_ Pelanggan (

Telp_Plg Telpon Pelanggan NOT NULL, Kd_Plg Kode Pelanggan NOT NULL, PRIMARY KEY (Telp_Plg),

FOREIGN KEY (Kd_Plg) REFERENCES Pelanggan (Kd_Plg) ON UPDATE CASCADE ON DELETE SET NULL

);

• DBDL untuk Telp_Pemasok

Domain TelponPemasok varchar, length 6 Domain KodePemasok char, length 6 Telp_Pemasok (

Telp_Pms TelponPemasok NOT NULL, Kd_Pms KodePemasok NOT NULL, PRIMARY KEY (Telp_Pms),

FOREIGN KEY (Kd_Pms) REFERENCES Pemasok (Kd_ Pms) ON UPDATE CASCADE ON DELETE SET NULL );

Dalam dokumen BAB 4 PERANCANGAN SISTEM BASIS DATA (Halaman 34-49)

Dokumen terkait