Selasa, Juli 01, 2008

Mengenal Fungsi di PostgeSQL (part 1)

Assalamu'alaikum Wr. Wb

Kenapa PostgreSQL bukan MySQL :D, Apakah PostgreSQL lebih baik daripada MySQL ? dan lain-lain. Banyak pertanyaan seperti itu jika berbicara mengenai PostgreSQL. Jawaban kenapa pake PostgreSQL  bisa banyak yang pasti salah satunya adalah sakarepku to (suka suka saya) hehehhee, yang pasti saya make MySQL sebelum "beralih" ke PostgreSQL itu mungkin alasan pastinya. Kalo dahketemu yang fanatik MySQL bisa-bisa menyinggung SARaS (Suku Agama Ras dan Suka-suka) :D. Sama kalo ditanya pake distro apa ?, kenapa pake debian ?

Menurut standart SQL99, salah satu perintah dalam SQL adalah perintah fungsi (function). Seperti fungsi dalam pemrograman terstruktur, fungsi dalam SQL juga merupakan sebuah perintah yang menghasilkan suatu nilai. Fungsi dapat dibagi menjadi dua bagian yakni fungsi deterministik dan nondeterministik. Fungsi determistik merupakan fungsi yang akan menghasilkan nilai yang sama jika fungsi tersebut dipanggil dan diberikan input yang sama sedangkan nondeterministik adalah sebaliknya akan menghasilkan nilai yang berbeda jika fungsi dipanggil meskipun input yang diberikan adalah sama.

Tipe dari fungsi dalam PostreSQL dapat dibagi menjadi dua bagian yakni:

  1. Fungsi Internal :Fungsi internal merupakan fungsi bawaan dari suatu DBMS sehingga pengguna database dapat langsung memanggil fungsi tersebut tanpa harus mendefinisikan terlebih dahulu.

  2. Fungsi Eksternal :Fungsi eksternal atau juga disebut sebagai user defined function (udf) merupakan fungsi yang didefinisikan secara mandiri oleh pengguna DBMS. Fungsi tersebut akan dieksekusi oleh server dan berada dalam database itu sendiri sehingga disebut dengan stored procedure.



Fungsi Internal

PostgreSQL memiliki juga tersebut bersifat internal seperti fungsi matematika, fungsi untuk memformat teks, format tanggal dan lain-lain. Fungsi internal dan eksternal akan terekam dalam tabel pg_proc. Nama-nama dari fungsi dapat dilihat dengan perintah,

SELECT proname from pg_proc;

Terdapatcukup banyak fungsi internal dalam PostgreSQL.  Jumlah fungsi ini akan bertambah jika user juga membuat user defined function. Fungsi internal dasar yang biasa digunakan dapat dibagi menjadi dua bagian yakni,
fungsi agregasi dan fungsi skalar.
Fungsi agregasi merupakan tipe fungsi yang menghasilkan nilai tunggal dari kumpulan suatu nilai. Contoh fungsi ini adalah MAX,MIN,SUM,AVG dan COUNT yang merupakan standar SQL99. Selain itu PostgreSQL juga memiliki fungsi agregasi lainnya yakni stddev dan variance. Untuk meilihat fungsi agregasi dalam PostgreSQL dapat digunakan perintah \da dalam prompt sql

Ok segitu dulu, ntar kita bahas fungsi agregasi kapan-kapan :D

Semoga bermanfaat


Wassalamu'alaikum Wr. Wb



Blogged with the Flock Browser

Tidak ada komentar: