Selasa, 21 April 2009

Postgres SQL

Postgres merupakan database yang dibangun dengan metode berbasis Open Source berbasis SQL, dan oleh para pengembangnya diutamakan kelengkapan fasilitas member kemudahan bagi para pengguna, serta optimizer dalam untuk meningkatkan kecepatan. Dari fitur-fitur tersebut, ada beberapa yang sidikitnya telah saya gunakan dalam pengembangan aplikasi, yaitu, Store Prosedure(function) dan Trigger.
Saat ini saya akan membahas sedikit mengenai penggunaan store procedure atau function dalam Posgtres dalam aplikasi. Dalam pengembangannya store procedure biasanya digunakan dalam pengananan transaksi seperti perhitungan pajak, atau transaksi yang berhubungan dengan proses yang melibatkan keamanan dan kecepatan akses data ke database.
Akan tetapi apa yang terjadi ketika secara keseluruhan apliaksi yang dikembangan menggunakan strore procedure dalam mengakses datanya ke database. Apakah aplikasi tersebut memiliki performance yang baik? Atau justru semakin lambat dari yang diharapkan. Dari yang telah saya alami dalam sebuah pengembangan modul aplikasi integrate sistem pada harmonious, hal itu justru tidak terjadi. Kecepatan seperti apa yang telah sebagaian besar dituliskan dalam teori store procedure tidak saya dapatkan. Hal ini dikarnakan beban database (Postgres), terlampau banyak jika secara keseluruhan permintaan harus diatasi oleh database postres. Oleh karena itu, tidak secara keseluruhan pengembangan aplikasi baik jika menggunakan store procedure. Hal ini akan memberikan beban yang berlebiahan pada database.

Seluruh tulisan ini di terbitkan oleh hendi karnain
Saat melakukan pengembangan sistem inforamsi akademik.

Kamis, 02 April 2009

Pembuatan Function Pada PostgresSQL

CREATE OR REPLACE FUNCTION sp_mar_po_public( character varying, bpcahar, integer, ....refcursor)
RETURNS refcursor AS
$BODY$
DECLARE
current_cd_seq character varying;
INTO next_id_var character varying;
BEGIN
IF $1='SELECT' THEN
BEGIN
IF $2 = 'mar_wo' THEN
Select * from mst_employee into current_cd_seq;
END IF;
Return ”Berhasil”;
END;
ELSEIF $1='INSERT' THEN
BEGIN
IF $2 = 'mst_customer' THEN
SELECT * FROM sp_autoincrement
sp_autoincrement('mst_customer','cd_customer',5) INTO next_id_var;
INSERT INTO
mst_customer(cd_customer,name,address)
VALUSE (next_id_var, ”hendi”,”situ gunting”);
RETURN ”berhasil”;
END
END IF;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION sp_mar_po_public (character varying, bpcahar, integer, ....refcursor)

Rabu, 01 April 2009

Cara pembuatan Trigger pada POSTGRES

Trigger adalah fungsi yang akan dieksekusi sebelum atau sesudah proses INSERT,UPDATE atau DELETE pada suatu tabel, baik untuk setiap perubahan record pada tabel maupun tiap kali perintah SQL dijalankan. Fungsi yang akan dijalankan oleh Trigger harus didefinisikan dahulu sebelum Trigger diciptakan. Fungsi yang didefinisikan harus tanpa argumen dan mempunyai nilai balik trigger.Contoh Triger:

CREATE OR REPLACE FUNCTION fgUpdateStok() RETURNS TRIGGER as ‘
DECLARE
current_stok int4;
BEGIN
select into current_stok stok from produk where id = NEW.id_produk;
current_stok = current_stok + NEW.jumlah;
update produk set stok = current_stok where id = NEW.id_produk;
return NEW;
END
‘ LANGUAGE ‘plpgsql’;