4. Entity integrity
3.2.3. a Merancang Relasi Dasar
Pada langkah pertama merupakan perancangan Database Design Language (DBDL) untuk setiap entity yang bertujuan untuk membuat domain dari setiap atribut berdasarkan penjelasan berserta batasan yang ada dalam setiap atribut,yaitu :
DBDL untuk Barang
Domain Kode Barang fixed length character string, length 6, format: [B][R][0-9][0-9][0-9][0-9]
Domain Nama Barang variable length character string, length 30 Domain Harga_Jual variable length numeric, length 10,2 Domain Jumlah Stok integer
Barang (
Kode_Barang Kode Barang NOT NULL,
Nama_Barang Nama Barang NOT NULL,
Harga Harga NOT NULL,
Jumlah_Stok Jumlah Stok NOT NULL,
PRIM ARY KEY (Kode_Barang) );
DBDL untuk Bagian
Domain Kode Bagian fixed length character string, length 4, format: [B][G][0-9][0-9]
Domain Nama Bagian variable length character string, length 30 Bagian (
Kode_Bagian Kode Bagian NOT NULL,
Nama_Bagian Nama Bagian NOT NULL,
PRIM ARY KEY (Kode_Bagian) );
DBDL untuk Pegawai
Domain Kode Pegawai fixed length character string, length 6, format: [P][G][0-9][0-9][0-9][0-9]
Domain Nama Pegawai variable length character string, length 30 Domain Alamat Pegawai variable length character string, length 100 Domain Password variable length character string, length 10
Domain Kode Bagian fixed length character string, length 4, format: [B][G][0-9][0-9]
Pegawai (
Kode_Pegawai Kode Pegawai NOT NULL,
Nama_Pegawai Nama Pegawai NOT NULL,
Alamat_Pegawai Alamat Pegawai NOT NULL,
Kode_Bagian Kode Bagian NOT NULL, PRIM ARY KEY (Kode_Pegawai),
FOREIGN KEY Kode_Bagian REFERENCES Bagian (Kode_Bagian) ON UPDATE CASCADE ON DELETE NO ACTION
);
DBDL untuk Telp_Pegawai
Domain Telepon Pegawai variable length character string, length 15, format: [0-9] untuk setiap digit
Domain Kode Pegawai fixed length character string, length 6, format: [P][L][0-9][0-9][0-9][0-9]
Telepon_Pegawai (
Telepon_Pegawai Telepon Pegawai NOT NULL,
Kode_Pegawai Kode Pegawai NOT NULL,
PRIM ARY KEY (Telepon_Pegawai),
FOREIGN KEY (Kode_Bagian) REFERENCES Pegawai (Kode_Pegawai) ON UPDATE CASCADE ON DELETE NO ACTION
DBDL untuk S ales_order
Domain Nomor Faktur fixed length character string, length 6, format: [F][P][0-9][0-9][0-9][0-9]
Domain Tanggal Faktur datetime
Domain Kode Pegawai fixed length character string, length 6, format: [P][G][0-9][0-9][0-9][0-9]
Penjualan (
No_Faktur No Faktur NOT NULL,
Tgl_Faktur Tanggal Faktur NOT NULL,
Kode_Pegawai Kode Pegawai NOT NULL,
PRIM ARY KEY (No_Faktur),
ON UPDATE CASCADE ON DELETE NO ACTION
FOREIGN KEY (Kode_Pegawai) REFERENCES Pegawai (Kode_Pegawai) ON UPDATE CASCADE ON DELETE NO ACTION
);
DBDL untuk S ales_order_detail Detail
Domain Nomor Faktur fixed length character string, length 6, format: [F][P][0-9][0-9][0-9][0-9]
Domain Kode Barang fixed length character string, length 6, format: [B][R][0-9][0-9][0-9][0-9]
Domain Harga Jual variable length numeric, length 10,2 Domain Kuantitas integer
Penjualan_Detail (
No_Faktur No Faktur NOT NULL,
Kode_Barang Kode Barang NOT NULL,
Harga_Jual Harga Jual NOT NULL,
PRIM ARY KEY (No_Faktur, Kode_Barang),
FOREIGN KEY No_Faktur REFERENCES Penjualan (No_Faktur) ON UPDATE CASCADE ON DELETE NO ACTION
FOREIGN KEY Kode_Barang REFERENCES Barang (Kode_Barang) ON UPDATE CASCADE ON DELETE NO ACTION );
DBDL untuk Konsumen
Domain Kode Konsumen variable length character string, length 5 Domain Nama Konsumen variable length character string, length 30 Domain Alamat Konsumen variable length character string, length 100 Domain Telepon Konsumen variable length character string, length 15 konsumen (
Kode_Konsumen Kode Konsumen NOT NULL,
Nama_Konsumen Nama Konsumen NOT NULL,
Alamat_Konsumen Alamat Konsumen NOT NULL, Telepon_Konsumen Telepon konsumen NOT NULL, PRIM ARY KEY (Kode_konsumen),
ON UPDATE CASCADE ON DELETE NO ACTION );
DBDL untuk Cek_Stok
Domain Nomor Cek Stok fixed length character string, length 6, format: [C][S][0-9][0-9][0-9][0-9]
Domain Tanggal Cek Stok datetime
Domain Kode Pegawai fixed length character string, length 6, format: [P][G][0-9][0-9][0-9][0-9]
Penjualan (
No_Cek_Stok No Cek Stok NOT NULL,
Tgl_Cek_Stok Tanggal Cek Stok NOT NULL,
Kode_Pegawai Kode Pegawai NOT NULL,
PRIM ARY KEY (No_Cek_Stok),
FOREIGN KEY (Kode_Pegawai) REFERENCES Pegawai (Kode_Pegawai) ON UPDATE CASCADE ON DELETE NO ACTION
);
DBDL untuk Cek_Stok_Detail
Domain Nomor Cek Stok fixed length character string, length 6, format: [C][S][0-9][0-9][0-9][0-9]
Domain Kode Barang fixed length character string, length 6, format: [B][R][0-9][0-9][0-9][0-9]
Domain Jumlah Sistem integer Domain Jumlah Fisik integer
Cek_Stok-Detail (
No_Cek_Stok No Cek Stok NOT NULL,
Kode_Barang Kode Barang NOT NULL,
Jumlah_Sistem Jumlah Sistem NOT NULL,
Jumlah_Fisik Jumlah Fisik NOT NULL,
Keterangan Keterangan NOT NULL,
PRIM ARY KEY (No_Cek_Stok, Kode_Barang),
FOREIGN KEY (No_Cek_Stok) REFERENCES Cek_Stok (No_Cek_Stok) ON UPDATE CASCADE ON DELETE NO ACTION
FOREIGN KEY (Kode_Barang) REFERENCES Barang (Kode_Barang) ON UPDATE CASCADE ON DELETE NO ACTION
);
DBDL untuk Supplier
Domain Kode Supplier fixed length character string, length 6, format: [S][P][0-9][0-9][0-9][0-9]
Domain Nama Supplier variable length character string, length 30 Domain Alamat Supplier variable length character string, length 100 Domain Email Supplier variable length character string, length 30 Supplier (
Kode_Supp Kode Supplier NOT NULL,
Nama_Supp Nama Supplier NOT NULL,
Kode_Bagian Kode Bagian NOT NULL, PRIM ARY KEY (Kode_Supp),
ON UPDATE CASCADE ON DELETE NO ACTION );
DBDL untuk Purchase Order
Domain Nomor Purchase Order fixed length character string, length 6, format: [P][O][0-9][0-9][0-9][0-9]
Domain Tgl Purchase Order datetime
Domain Kode Pegawai fixed length character string, length 6, format: [P][G][0-9][0-9][0-9][0-9]
Domain Kode Supplier fixed length character string, length 6, format: [S][P][0-9][0-9][0-9][0-9]
Purchase_Order (
No_PO Nomor Purchase Order NOT NULL,
Tgl_PO Tanggal Purchase Order NOT NULL,
Kode_Pegawai Kode Pegawai NOT NULL,
Kode_Supp Kode Supplier NOT NULL,
PRIM ARY KEY (No_PO),
FOREIGN KEY (Kode_Pegawai) REFERENCES Pegawai (Kode_Pegawai) ON UPDATE CASCADE ON DELETE NO ACTION
FOREIGN KEY (Kode_Supp) REFERENCES Supplier (Kode_Supp) ON UPDATE CASCADE ON DELETE NO ACTION
);
DBDL untuk Purchase_Order_Detail
Domain Kode Purchase Order fixed length character string, length 6, format: [P][O][0-9][0-9][0-9][0-9]
Domain Kode Barang fixed length character string, length 6, format: [B][R][0-9][0-9][0-9][0-9]
Domain Kuantitas integer Purchase_Order_Detail (
No_PO Nomor Purchase Order NOT NULL,
Kode_Barang Kode Barang NOT NULL,
Kuantitas Kuantitas PRIM ARY KEY (Kode_PO, Kode_Barang),
FOREIGN KEY (Kode_PO) REFERENCES Purchase_Order (Kode_PO) ON UPDATE CASCADE ON DELETE NO ACTION
FOREIGN KEY (Kode_Barang) REFERENCES Supplier (Kode_Barang) ON UPDATE CASCADE ON DELETE NO ACTION
);
DBDL untuk Pembayaran
Domain Nomor Giro fixed length character string, length 6, format: [P][P][0-9][0-9][0-9][0-9]
Domain Kode Pegawai fixed length character string, length 6, format: [P][G][0-9][0-9][0-9][0-9]
Domain Kode Supplier fixed length character string, length 6, format: [S][P][0-9][0-9][0-9][0-9]
Pembayaran (
No_PP Nomor Purchase Payment NOT NULL,
Tgl_PP Tgl Purchase Payment NOT NULL,
Kode_Pegawai Kode Pegawai NOT NULL,
Kode_Supp Kode Supp NOT NULL,
PRIM ARY KEY (Kode_PP),
FOREIGN KEY (Kode_Pegawai) REFERENCES Kode Pegawai (Kode_Pegawai) ON UPDATE CASCADE ON DELETE NO ACTION
FOREIGN KEY (Kode_Supp) REFERENCES Supplier (Kode_Supp) ON UPDATE CASCADE ON DELETE NO ACTION
)