Archive | Basis Data 2 RSS feed for this section

mySQL Trigger

5 Apr

Berikut contoh penerapan trigger di database mysql. Dalam contoh ini, ada 2 tabel, tabel barang dan tabel barang_keluar. Tabel barang terdiri dari kolom kode_barang, nama_barang, stock. Tabel barang_keluar terdiri dari kolom id1, kode_barang, jml.

Relationship antar 2 tabel tampak pada gambar berikut

Dalam kasus ini, kita ingin membuat trigger agar memberikan batasan

  1. sebelum barang_keluar insert, cek dulu, jika stock kurang, maka batalkan insert
  2. setelah barang_keluar insert, lakukan pengurangan stock.

barang_keluar_after_insert

Kita berikan trigger dengan listing

BEGIN
update barang
set barang.stock = barang.stock – new.jml
where barang.kode_barang = new.kode_barang;
END

dari trigger di atas, setelah proses insert data selesai, kita melakukan update tabel barang, kita update stocknya menjadi stock – jml barang keluar.

Tampilan implementasi dengan menggunakan heidiSQL tampak pada gambar berikut

barang_keluar_before_insert

untuk pengecekan stock sebelum insert data, listing berikut

BEGIN
DECLARE dummy, jmlstock INT;
SELECT barang.stock INTO jmlstock FROM barang
WHERE barang.kode_barang = NEW.kode_barang;

if new.jml > jmlstock then
SIGNAL SQLSTATE ‘01000’ SET MESSAGE_TEXT = ‘Jumlah stock kurang’, MYSQL_ERRNO = 1000;
signal sqlstate ‘45000’;
end if;
END

Pada bagian awal, kita declare variabel jmlstock untuk menyimpan data jumlah stock. Data jumlah stock kita dapatkan melalui query select barang.stock sesuai dengan kode barang (New.kode_barang) yang akan diinsert. Kemudian dicek, jika jml stock lebih kecil dari jml barang yang akan keluar, kita munculkan sqlstate error untuk membatalkan insert data.

Hasil implementasi di heidiSQL tampak pada gambar berikut

Advertisements

Form Input / Output PHP

11 May

Dalam tulisa berikut akan di bahas contoh dasar untuk koneksi ke database mySQL menggunakan php, menampilkan isi tabel, dan menambah isi tabel. Form untuk hapus dan edit data bisa di modifikasi dari contoh form berikut dengan menyesuaikan script program php.

Dalam contoh berikut, menggunakan webServer apache dan database mysql. Semua file contoh di letakkan di web root, atau di letakkan di folder htdocs

Struktur Tabel

Struktur tabel yang di pakai dalam contoh tampak pada gambar di bawah.

Database yang digunakan adalah database mySQL, menggunakan catalog tennis, dan nama tabel siswa, dengan kolom : nis, nama, alamat

Koneksi ke Database

Setiap program php di simpan dalam file yang ber ekstensi php. Dalam file php tersebut, skrip program php di tandai di antara tanda <?php dan ?>

Untuk koneksi ke database, menggunakan perintah mysql_connect, dan untuk memilih katalog database yang akan diakses menggunakan perintah mysql_select_db. Contoh skrip sederhana untuk membuka koneksi ke database dan membuka katalog database tampak pada program di berikut. File ini di simpan dengan nama file form1.php

 

Menampilkan Data

Untuk menampilkan data, pertama kali kita melakukan koneksi ke database. Tahap ini dilakukan dengan memanggil file form1.php, yaitu dengan cara memberikan perintah include_once. Kemudian kita melakukan query ke tabel yang akan di tampilkan, query di jalankan dengan perintah mysql_query. Hasil jumlah baris query bisa di dapatkan dari perintah mysql_num_rows.

Hasil record query bisa di simpan dalam sebuah array dengan index nama kolom yang kita gunakan. Untuk menyimpan hasil query per record ke sebuah array menggunakan mysql_fetch_array.

Contoh program tampak pada gambar dibawah, dengan nama file form2.php

Pada bagian akhir form2.php ada link untuk memanggil form3.php yang akan digunakan sebagai form input. Form2 ini adalah form utama, jadi yang dipanggil pertama kali adalah form2.php.

Untuk memanggil form ini, dari browser, di bagian address di ketikkan localhost\form2.php

 

Form Input

Form input dibuat dengan menggunakan tag HTML untuk form. Pada contoh berikut, form action menggunakan metode POST, dan form yang akan memproses / form action adalah form3_prosesTambah.php

Form untuk memproses Form Input

Form ini akan dipanggil setelah tombol submit di klik di form3.php.

Pada form ini, akan di tangkap isian dari form3, yaitu isian untuk nis, nama, alamat. Kemudian dilakukan insert ke database menggunakan perintah mysql_query. Contoh skrip program tampak pada gambar berikut:

Pada bagian akhir, setelah di lakukan insert, file php memanggil form2.php, sehingga kembali ke halaman awal.

Hasil Running

 

Data Definition Language

22 Mar

Data Defintion Language (DDL) is a part of SQL (Structured Query Language) that focus on how to modify structure of database. Please read slide to learn about DDL, please feel free to ask questions / comments.

DDL