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)