Sabtu, 09 Mei 2015

Laporan Tugas Membuat database swalayan dengan MySQL



1.      Membuat Database
Untuk membuat sebuah database dalam mysql maka digunakan perintah sebagai berikut
CREATE DATABASE nama_database, sebagai contoh akan dibuat sebuah database yang bernama ‘SWALAYAN’ maka perintah sql nya adalah,
CREATE DATABASE swalayan

Gambar database swalayan telah berhasil dibuat


2.      Menggunakan Database
Setelah database di buat maka langkah selanjutnya adalah mengetikkan perintah USE nama_database, ini berguna untuk memilih database yang akan di kelola paa tahap selanjutnya. Sebagai contoh jika kita ingin menggunakan database swalayan maka perintah sql nya adalah, USE swalayan.

3.      Membuat, Mengedit dan memasukan data Table serta Uji Coba Constraint
Dalam laporan ini ada beberapa table yang akan dibuat dalam database ‘swalayan’, maka akan dibahas satu persatu dari setiap table, beserta ujicoba constrain dan integritas pada table.


3.1.Table ms_propinsi
·         Pada table ms_propinsi akan dibuat kolom/field kode propinsi dan nama. Maka untuk membuat table tersebut perintah sql nya sebagai berikut
CREATE TABLE ms_propinsi (kode_propinsi VARCHAR(3),
nama_propinsi VARCHAR(25),
PRIMARY KEY(kode_propinsi)
) ENGINE = INNODB

Gambar table ms_propinsi yang berhasil dibuat

·         Untuk memasukan data pada table, digunakan perintah insert. Berikut perintah insert untuk memasukan data pada table ms_propinsi
INSERT INTO ms_propinsi VALUES (‘P01’,’Nangroe Aceh Darusalam’)

3.2.Table ms_kota
·         Pada table ms_kota akan di buat field sebanyak 3 buah yaitu kode_kota, nama_kota, dan kode_propinsi. Dimana kode_propinsi menjadi foreign key yang mereferensi dari table ms_propinsi. Berikut perintah untuk membuat table ms_kota.
CREATE TABLE ms_kota (
kode_kota VARCHAR(8),
nama_kota VARCHAR(16),
kode_propinsi VARCHAR(3),
PRIMARY KEY(kode_kota),
) ENGINE = INNODB
Gambar table ms_kota yang berhasil dibuat

·         Selanjutnya perintah sql untuk constraint ms_kota dan ms_propinsi dengan cara mengedit table, lalu menambahkan foreign key dan perintah hapus dan update nya agar data terintegritas.
ALTER TABLE ms_kota
ADD FOREIGN KEY(kode_propinsi) REFERENCES ms_propinsi (kode_propinsi)
            ON DELETE NO ACTION
            ON UPDATE CASCADE

·         Berikut perintah insert untuk memasukan data pada table ms_kota
INSERT INTO ms_kota VALUES (‘KOTA-001’,’Banda Aceh’,’P01’)


     
·           Pengujian Constraint ms_propinsi dengan ms_kota
Ø  Pengujian ON DELETE NO ACTION
Ø  Pengujian ON UPDATE CASCADE
3.3.Table ms_cabang
·         Pada table ms_cabang akan dibuat tiga buah field yaitu kode_cabang, nama_cabang dan kode_kota. Berikut perintah sql nya.
CREATE TABLE ms_cabang (
kode_cabang VARCHAR(10),
nama_cabang VARCHAR(100),
kode_kota VARCHAR(8),
PRIMARY KEY(kode_cabang),
) ENGINE = INNODB

Gambar table ms_cabang yang berhasil dibuat

·           Kemudian perintah sql untuk membuat foreign key nya sebangai berikut.
ALTER TABLE ms_cabang
ADD FOREIGN KEY(kode_kota) REFERENCES ms_kota (kode_kota)
            ON DELETE NO ACTION
            ON UPDATE CASCADE
·         Berikut perintah insert untuk memasukan data pada table ms_cabang
INSERT INTO ms_cabang VALUES (‘CABANG-001’,’TOM`S MARKET – Banda Aceh 01’,’KOTA-001’)
3.4. 
·           Pengujian Constraint ms_kota dengan ms_cabang
Ø  Pengujian ON DELETE NO ACTION
Ø  Pengujian ON UPDATE CASCADE

3.4.             Table ms_kategori
·         Ms_kategori merupakan table yang akan digunakan untuk menyimpan jenis-jenis kategori barang pada swalayan, makan pada table ini akan dibuat field kode_kategori dan nama_kategori saja.
CREATE TABLE ms_kategori (
kode_kategori VARCHAR(7),
nama_kategori VARCHAR(17),
PRIMARY KEY(kode_kategori)
) ENGINE = INNODB

Gambar table ms_kategori yang berhasil dibuat

·         Berikut perintah insert untuk memasukan data pada table ms_kategori
INSERT INTO ms_kategori VALUES (‘KATE-01’,’Sayur – Sayuran’)


3.5.            Table ms_produk
·           Ms_produk merupakan table yang akan digunakan untuk menampung database produk, akan di buat beberapa field pada table ini serta akan melibatkan table ms_kategori sebagai foreign key nya. Berikut perintah sql untuk memebuat table ms_produk.
CREATE TABLE ms_produk (
kode_item VARCHAR(7),
kode_produk VARCHAR(12),
kode_kategori VARCHAR(7),
nama_produk VARCHAR(100),
unit INT(11),
kode_satuan VARCHAR(4),
PRIMARY KEY(kode_produk),
) ENGINE = INNODB


Gambar table ms_produk yang berhasil dibuat

·         Lalu berikut perintah editing table untuk menambahkan constrain pada table ms_produk ini.
ALTER TABLE ms_produk
ADD FOREIGN KEY(kode_kategori) REFERENCES ms_kategori (kode_kategori)
            ON DELETE NO ACTION
            ON UPDATE CASCADE
·         Berikut perintah insert untuk memasukan data pada table ms_produk
INSERT INTO ms_produk VALUES (‘ITM-001’,’PROD-0000001’,’KATE-01’,’Kentang 1 kg’,’1’,’S001’)
·           Pengujian Constraint ms_produk dengan ms_kategori
Ø  Pengujian ON DELETE NO ACTION
Ø  Pengujian ON UPDATE CASCADE
3.6.             Table ms_karyawan
·         Berikut perintah sql untuk membuat table ms_karyawan
CREATE TABLE ms_karyawan (
kode_cabang VARCHAR(10),
kode_karyawan VARCHAR(10),
nama_depan VARCHAR(8),
nama_belakang VARCHAR(9),
jenis_kelamin VARCHAR(1),
PRIMARY KEY(kode_karyawan),
) ENGINE = INNODB
Gambar table ms_karyawan yang berhasil dibuat

·           Selanjutnya perintah untuk menambahkan foreign key pada table ms_karyawan, sebagai berikut
ALTER TABLE ms_karyawan
ADD FOREIGN KEY(kode_cabang) REFERENCES ms_cabang (kode_cabang)
            ON DELETE NO ACTION
            ON UPDATE CASCADE
·         Berikut perintah insert tuntuk memasukan data pada table ms_karyawan
INSERT INTO ms_karyawan VALUES (‘CABANG-001’,’KR-0000001’,’Ahmad’,’Sobirin’,’L’)
·           Pengujian Constraint ms_karyawan dengan ms_cabang
Ø  Pengujian ON DELETE NO ACTION



Ø  Pengujian ON UPDATE CASCADE
3.7.             Table ms_harga_harian
·         Pada table ini akan sedikit berbada dengan table sebelumnya karena pada table ini terdapat tiga buah primary key yaitu kode_produk, tgl_berlaku dan kode_cabang serta dua buah foreign key yaitu kode_produk dan kode_cabang. Berikut perintah sql nya untuk membut table tersebut.
CREATE TABLE ms_harga_harian (
kode_produk VARCHAR(12),
tgl_berlaku DATETIME,
kode_cabang VARCHAR(10),
harga_berlaku_cabang INT(11),
modal_cabang INT(11),
biaya_cabang INT(11),
PRIMARY KEY(kode_produk, tgl_berlaku, kode_cabang),
) ENGINE = INNODB
Gambar table ms_harga_harian yang berhasil dibuat

·         Perintah sql untuk menambahkan foreign key pada table ms_harga_harian
ALTER TABLE ms_harga_harian
ADD FOREIGN KEY(kode_produk) REFERENCES ms_produk (kode_produk)
            ON DELETE NO ACTION
            ON UPDATE CASCADE,
ADD FOREIGN KEY(kode_cabang) REFERENCES ms_cabang (kode_cabang)
            ON DELETE NO ACTION
            ON UPDATE CASCADE
·         Berikut perintah insert untuk memasukan data pada table ms_harga_harian
INSERT INTO ms_harga_harian VALUES (‘PROD-0000001’,’2018-04-21 15:00:00’,’CABANG-001’,’10000’,’8000’,’1500’)
·           Pengujian Constraint ms_harga_harian dengan ms_produk
Ø  Pengujian ON DELETE NO ACTION
Ø  Pengujian ON UPDATE CASCADE
·           Pengujian Constraint ms_harga_harian dengan ms_cabang
Ø  Pengujian ON DELETE NO ACTION
Ø  Pengujian ON UPDATE CASCADE
3.8.             Table ms_penjualan
·         Pada table ms_penjualan tidak ada primary key, melainkan hanya ada foreign key.
Berikut perintah sql untuk membuat table ms_penjualan
CREATE TABLE ms_penjualan (
tgl_transaksi DATETIME,
kode_cabang VARCHAR(10),
kode_karyawan VARCHAR(10),
kode_item VARCHAR(7),
kode_produk VARCHAR(12),
jumlah_pembelian INT(11),
) ENGINE = INNODB

Gambar table ms_penjualan yang berhasil dibuat
·           Untuk menambahkan foreign key, berikut perintah sql nya.
ALTER TABLE ms_penjualan
ADD FOREIGN KEY(kode_cabang) REFERENCES ms_cabang (kode_cabang)
            ON DELETE NO ACTION
            ON UPDATE CASCADE,
ADD FOREIGN KEY(kode_karyawan) REFERENCES ms_karyawan (kode_karyawan)
            ON DELETE NO ACTION
            ON UPDATE CASCADE,
ADD FOREIGN KEY(kode_produk) REFERENCES ms_produk (kode_produk)
            ON DELETE NO ACTION
            ON UPDATE CASCADE
·         Berikut perintah insert untuk memasukan data pada table ms_penjualan
INSERT INTO ms_penjualan VALUES (‘2015-03-20 14:42:00’,’CABANG-001’,’KR-0000001’,’ITM-001’,’PROD-0000001’,’1’)
·           Pengujian Constraint ms_penjualan dengan ms_cabang, ms_karyawan dan ms_produk
Ø  Pengujian ON DELETE NO ACTION
Ø  Pengujian ON UPDATE CASCADE
4.      View
Dalam mengolah database, fasilitas view digunakan untuk melihat field-field gabungan dari beberapa table yang sifatnya hanya menampilkan data, yang artinya di dalam view data tidak bias di olah melainkan hanya bias di lihat.
Berikut beberapa contoh view dan perintah sql nya.
4.4.View Data Propinsi Kota
Pada view ini data dari table ms_propinsi dan ms_kota akan di tampilkan bersamaan. Berikut perintah sql dan gambar view yang telah berhasil dibuat.
CREATE VIEW datapropinsikota (kode_propinsi, nama_propinsi, nama_kota)
            AS SELECT ms_propinsi.kode_propinsi, ms_propinsi.nama_propinsi, ms_kota.nama_kota
            FROM ms_propinsi, ms_kota
            WHERE ms_propinsi.kode_propinsi = ms_kota.kode_propinsi





4.5.            View Cabang
Pada view ini akan melibatkan 3 buah table yaitu ms_cabang, ms_kota dan ms_propinsi. Pada kondisi (where) akan ditambahkan fungsi AND agar data yang tampil sesuai dengan yang di inginkan.
Berikut perintah sql untuk membuat view cabang beserta gambarnya.
CREATE VIEW vw_cabang (kode_cabang, nama_cabang, nama_kota, nama_propinsi)
            AS SELECT ms_cabang.kode_cabang, ms_cabang.nama_cabang, ms_kota.nama_kota, ms_propinsi.nama_propinsi
            FROM ms_cabang, ms_kota, ms_propinsi
            WHERE ms_cabang.kode_kota = ms_kota.kode_kota AND ms_kota.kode_propinsi = ms_propinsi.kode_propinsi
4.6.View Produk
Membuat view produk hamper sama dengan membuat view data propinsi kota.
Berikut perintah untuk membuat view produk beserta gambarnya
CREATE VIEW vw_produk (kode_item, kode_produk, nama_produk, nama_kategori)
            AS SELECT ms_produk.kode_item, ms_produk.kode_produk, ms_produk.nama_produk, ms_kategori.nama_kategori
            FROM ms_produk, ms_kategori
            WHERE ms_produk.kode_kategori = ms_kategori.kode_kategori