info.sugismart@gmail.com

Sugi Smart Solution ( IT Consultant )

Kumpulan Aplikasi Bisnis Berbayar dan Gratis

Senin, 04 Juni 2018

Studi Kasus 3 FIREBIRD ( Menggunakan TRIGGERS dan VIEWS )

Sebelum melanjutkan ke studi kasus 3, mari kita pelajari terlebih dahulu mengenai TRIGGERS dan VIEWS.

TRIGGERS
Triggers adalah sebuah mekanisme kerja yang di panggil ketika ada sebuah aksi yang terjadi pada sebuah tabel. Aksi-Aksi tersebut terdiri dari INSERT,UPDATE dan DELETE.

Perintah yang ada pada trigger dapat berupa satu perintah ataupun beberapa perintah sekaligus. Jika terdapat beberapa perintah dalam trigger, maka gunakan perintah BEGIN dan END untuk mengawali dan mengakhiri perintah. Di dalam statement trigger, kita dapat mengakses record tabel sebelum atau sesudah proses dengan menggunakan NEW dan OLD. NEW digunakan untuk mengambil record yang akan diproses ( insert atau update), sedangkan OLD digunakan untuk mengakses record yang sudah diproses ( update atau delete ).

VIEWS
View atau yang sering disebut juga dengan nama Virtual tables adalah tabel yang tidak tampak alias hanya di memori saja. View sering di gunakan oleh para pengembang database untuk mempermudah menampilkan data dengan kriteria tertentu yang di ambil dari satu atau beberapa tabel sekaligus.

VIEW berisi perintah SELECT ke tabel dalam database. Dan  dibuat atau didefinisikan dengan menggunakan perintah CREATE VIEW.

Mari kita mulai Studi Kasus ke-3

1. Tambahkan Tabel “DEPARTEMEN” dan Tabel “KARYAWAN_DEPT”



2. Isi data sebagai berikut 

3. Buatlah VIEW untuk memunculkan data Karyawan berdasarkan Departemen dan Tampilkan Data Karyawan yang memiliki lebih dari 1 Departemen !


*VIEW memunculkan data Karyawan berdasarkan Departemen*

CREATE VIEW KAR_DEPT AS
SELECT
    KARYAWAN.NIK,
    KARYAWAN.NAMA,
    KARYAWAN.JENKEL,
    KARYAWAN_DEPT.ID_DEPT,
    DEPARTEMEN.NAMA_DEPARTEMEN
FROM KARYAWAN INNER JOIN KARYAWAN_DEPT ON KARYAWAN.NIK=KARYAWAN_DEPT.NIK
INNER JOIN DEPARTEMEN ON DEPARTEMEN.ID_DEPT=KARYAWAN_DEPT.ID_DEPT

Sekarang, cobalah panggil VIEW tersebut.  Apakah datanya sudah muncul seperti gambar di atas ?

VIEW dapat dipanggil menggunakan SQL sebagai berikut :
“SELECT * FROM KAR_DEPT”

*Menampilkan Data Karyawan yang memiliki lebih dari 1 Departemen*


SELECT NIK,NAMA,LIST(NAMA_DEPARTEMEN) AS DEPARTEMEN FROM KAR_DEPT
GROUP BY NIK,NAMA HAVING COUNT(ID_DEPT)>1

4. Buatlah trigger pada tabel TMK untuk mengupdate Keterangan di Tabel Absensi yang ACCnya = ’Y’ !

Apabila belum mengerti cara membuat trigger, ikuti langkah-langkah sebagai berikut :
1. Klik salah satu tabel yang akan di berikan trigger
2. Pilih tab menu Triggers
3. Dan klik kanan pada salah satu triggersnya, pilih New Trigger

4. Setelah muncul tampilan seperti di atas, isikan script triggernya.

Pengertian Trigger

Before Insert : Sebuah Aksi yang dijalankan sebelum memasukan data ke tabel.
After Insert : Sebuah Aksi yang dijalankan setelah memasukan data ke tabel.
Before Update : Sebuah Aksi yang dijalankan sebelum mengubah data ke tabel.
After Update : Sebuah Aksi yang dijalankan setelah mengubah data ke tabel.
Before Delete : Sebuah Aksi yang dijalankan sebelum menghapus data ke tabel.
After Delete  : Sebuah Aksi yang dijalankan setelah menghapus data ke tabel.

AS
begin
  if (inserting) then begin
     if (new.acc='Y') then begin
        UPDATE ABSENSI SET KETERANGAN=new.keterangan WHERE TANGGAL=new.tanggal AND NIK=new.nik;
     end
  end
  else if (updating) then begin
     if (new.acc='Y') then begin
        UPDATE ABSENSI SET KETERANGAN=new.keterangan WHERE TANGGAL=new.tanggal AND NIK=new.nik;
     end
  end
  else if (deleting) then begin
        UPDATE ABSENSI SET KETERANGAN=NULL WHERE TANGGAL=old.tanggal AND NIK=old.nik;
  end
end

Demikianlah penjelasan Studi Kasus 3 FIREBIRD ( Menggunakan TRIGGERS dan VIEWS ). Semoga penjelasan yang diberikan memberikan manfaat bagi kita semua.

Terima kasih telah mengunjungi Website Sugi Smart Solution.

Tidak ada komentar:
Write komentar