Back-End
programming adalah program yang berjalan pada database secara otomatis ketika
terjadi suatu pemicu tertentu. Dalam oracle ada beberapa metode untuk melakukan
back-end programming, yaitu dengan trigger dan stored procedure.
Trigger
Trigger adalah blok PL/SQL yang disimpan dalam
database dan akan diaktivasi ketika kita melakukan statement-statement SQL
(DELETE, UPDATE, dan INSERT) pada sebuah tabel. Aktivasi trigger didasarkan
pada event yang terjadi di dalam tabel tersebut sehingga trigger dapat membantu
dalam menjaga integritas dan konsistensi data. Implementasi trigger yang sering
ditemui dalam dunia nyata adalah untuk mengeset dan mengubah nilai kolom dalam
suatu tabel sehingga validasi nilai dari tabel tersebut akan terjaga. Adanya
trigger dalam database akan meringankan kita dalam pembuatan aplikasi karena di
dalam aplikasi yang kita buat, kita tidak perlu lagi untuk melakukan validasi
data.
Berikut
adalah daftar yang mungkin untuk aktivasi trigger :
Model-model
yang digunakan untuk menspesifikasi aturan basis data aktif adalah model ECA
(Event-Condition-Action). Aturan dalam model ECA memiliki tiga komponen yaitu:
- Event, yang memicu suatu rule tersebut biasanya berupa operasi perubahan basis data yang secara eksplisit ditambahkan ke basis data. Namun pada umumnya, bisa berupa event temporal atau jenis event eksternal yang lain.
- Condition, menentukan apakah suatu rule dijalankan atau tidak. Ketika suatu trigger dijalankan, maka bagian condition (bersifat optional) akan dievaluasi jika didefinisikan oleh yang membuat trigger. Jika evaluasi bagian condition bernilai TRUE maka aksi suatu rule dijalankan.
- Action, biasanya berupa statement sql.
Manfaat
trigger antara lain adalah :
- Membuat integrity constraint yang kompleks.
- Mencatat aktivitas suatu tabel (logging).
- Sinkronisasi
Contoh Kasus
:
Pada database supermarket, jika ada pembelian baru
maka otomatis stok barang pada tabel barang akan berkurang sesuai dengan jumlah
barang yang dibeli. Maka sintaks lengkapnya dalam pl / sql adalah sebagai
berikut :
create table
barang(
kode_barang varchar2(10) primary key,
kode_barang varchar2(10) primary key,
nama
varchar2(50),
stok_barang
number
);
create table
pembelian(
id_pembelian
number primary key,
kode_barang
varchar2(10),
constraint
fk_kd_brg foreign_key (kode_barang) references barang(kode_barang)
jumlah_beli
number,
harga number
);
create or
replace trigger trg_stok_brg after insert on jumlah_beli for each row
begin
update
barang set stok_barang =stok_barang – :new.jumlah_beli where id_pembelian =
:new.id_pembelian;
end;
/
Stored Procedure
Subprogram adalah PL/SQL Blok yang dipanggil dengan
sekumpulan parameter. PL/SQL memiliki dua jenis subprogram yaitu: procedure dan
function. Dimana secara umum procedure digunakan untuk melaksanakan aksi
dan function digunakan untuk komputasi suatu nilai.
Stored procedure adalah subprogram yang disimpan di
dalam database berupa SQL + Bahasa prosedural. Ada beberapa kelebihan yang
dapat diperoleh dengan menggunakan stored procedure, meliputi :
- Dijalankan di database server -> performance lebih baik, network trafik lebih rendah.
- Tools DBA -> praktis, selalu tersedia di database server.
- Dapat digunakan oleh banyak aplikasi
- Standarisasi business logic.
- SP dapat dipanggil oleh aplikasi luar
- Dapat memanfaatkan tipe, fungsi yang disediakan DBMS
- Powerfull, tools sangat penting bagi DB designer, DB programmer dan DBA
- Hampir semua RDBMS mensupport.
Sumber :

Tidak ada komentar:
Posting Komentar