FUNGSI, PL/PGSQL dan TRIGER
Penah denger gak PL/PgSQL??
keliahatannya rumit ya, dari tulisannya aja kayaknya susah, apalagi kodingnya,..
jawabannya coba kita simak teori berikut, lalu kita praktekin memakai PostgreSQL .
A. Landasan Teori
keliahatannya rumit ya, dari tulisannya aja kayaknya susah, apalagi kodingnya,..
jawabannya coba kita simak teori berikut, lalu kita praktekin memakai PostgreSQL .
A. Landasan Teori
FUNGSI
Fungsi
SQL adalah sebuah kumpulan query,
biasanya query yang detail dan
panjang yang dibungkus menjadi satu dan
disimpan dalam database dan kemudian apabila diperlukan hanya tinggal
mengaksesnya tanpa mengetikan query detail
Ada
beberapa konsep yang menarik dari fungsi antara lain:
·
Bahasa yang dip
akai dapat didefenisikan sendiri dengan tersedianya parameter LANGUAGE,
tanpa harus mengkompilasi ulang PostgreSQL.
·
Kita dapat membuat dua buah fungsi dengan nama yang
sama namun parameter masukkannya yang berbeda, baik tipe data maupun jumlahnya.
Selain
itu ada beberapa faktor yang perlu diperhatikan dalam membuat fungsi antara
lain:
·
Nama Fungsi
·
Nomor dari fungsi argument
·
Tipe data dari setiap argument
·
Tipe dari hasil fungsi
·
Fungsi action
PL/SQL
1.
PL merupakan kependekan dari Procedural Language. PL/SQL
mengkombinasikan kekuatan dan kefleksibilitasan SQL dengan pemrograman
prosedural.
2.
PL/PGSQL merupakan bahasa yang lain
untuk membuat sebuah fungsi, biasanya bahasa
ini digunakan untuk menangani fungsi yang lebih kompleks. Pl/pgsql sudah
terdapat dalam instalasi PostgreSQL,
namun kita perlu mendaftarkannya pada masing-masing database yang akan menggunakannya. Untuk itu kita
perlu menginstal pl/pgsql pada database yang diinginkan.
Ada beberapa faktor yang harus diperhatikan pada
bahasa ini antara lain :
·
DECLARE mendeklarasikan variabel yang digunakan dalam
fungsi
·
SELECT INTO sebuah form spesial (khusus) dari SELECT
yang memperbolehkan hasil
·
query menempati ke dalam variabel.
·
RETURN Exit dan merupakan hasil value dari fungsi
Keistimewaan
Programmer
dapat mendeklarasikan variable untuk digunakan selama pemrosesan statement.
Programmer
dapat menggunakan penanganan kesalahan untuk mencegah kegagalan program.
Programmer
dapat menulis program yang interaktif yang menerima input dari user.
Programmer
dapat membagi fungsi-fungsi ke dalam blok-blok lojik dari kode. Teknik
pemrograman secara modular ini mendukung fleksibilitas selama pengembangan
aplikasi.
Statement
SQL dapat diproses secara simultan untuk performansi keseluruhan yang lebih
baik.
Sama seperti bahasa prosedural yang lain, PL/SQL juga menyediakan :
Conditional Statement dan Looping.
Variable
Sama seperti bahasa Prosedural lainya, dalam blok PL/SQL kita juga dapat
mendeklarasikan Variabel dan Konstanta. Variabel dideklarasi dan diinisialisasi
pada bagian DECLARE
Kegunaan Variabel :
Sebagai
Tempat Penyimpanan Data Sementara
Dapat
dipakai berulang kali
Memanipulasi
Nilai Yang Telah Tersimpan Dalam Database
Identifier
Dalam membuat sebuah variabel, terlebih dahulu kita
tentukan Identifier nya, dimana salah satu kegunaan Identifier adalah Sebagai
Nama dari suatu variabel.
Dalam memberikan penamaan variabel, terdapat aturan
yang harus kita patuhi yaitu:
·
Tidak diawali dengan angka dan harus diawali dengan
huruf
·
Dapat memuat Angka
·
Dapat memuat karakter spesial seperti _ , $ , dan #
·
Terbatas hanya 30 karakter
·
Bukan Kata kunci (int, varchar, table, trigger) dalam
Oracle Server
Konstanta
Digunakan untuk menyimpan sebuah nilai di memori
komputer. Nilai yang disimpan bersifat tetap (konstan). Nilai ditentukan pada
saat deklarasi dibuat sehingga nilainya tetap pada saat program dieksekusikan.
Tipe
Data dalam PL/SQL
Tipe data utama dalam PL / SQL termasuk NOMOR,
INTEGER, CHAR, VARCHAR2, DATE, TIMESTAMP, dll TEKS. Selain tipe
data yang ada di Oracle SQL, PL/SQL menyediakan beberapa tambahan tipe data
yang dapat dideklarasikan sebagai berikut:
B. Latihan
(PostgreSQL)
cek!
tambah nama mahasiswa :
(MySQL)
(PostgreSQL)
1. Buatlah
fungsi konversi suhu dari Fahrenheit ke derajat celcius dengan rumus konversi
sebagai berikut : celcius= (5*(nilai Fahrenheit-32))/9!
Kemudian jalankan hasilnya dengan
menSELECT fungsi tersebut !
2. Buatlah
fungsi untuk mencari alamat mahasiswa dari tabel mahasiswa berdasarkan nama
mahasiswa. Kemudian jalankan dengan perintah SELECT !
Kemudian jalankan hasilnya dengan
menSELECT fungsi tersebut !
4. Buatlah
fungsi menggunakan pl/pgsql untuk mencari bilangan ganjil atau genap dari
bilangan yang diinputkan. Kemudian jalankan dengan perintah SELECT !
5. Tambahkan
kolom modifikasi pada tabel mahasiswa. Dimana setiap ada insert atau update
maka tanggal pada kolom modifikasi akan menunjukkan tanggal perubahan tersebut
dilakukan.
membuat colom modifikasi data:
cek!
tambah nama mahasiswa :
1. Buatlah fungsi konversi suhu dari Fahrenheit ke derajat celcius dengan rumus konversi sebagai berikut : celcius= (5*(nilai Fahrenheit-32))/9!
Kemudian jalankan dengan perintah SELECT !
Kemudian jalankan hasilnya dengan menSELECT fungsi tersebut !
4. Buatlah fungsi menggunakan pl/pgsql untuk mencari bilangan ganjil atau genap dari bilangan yang diinputkan.
4. Buatlah fungsi menggunakan pl/pgsql untuk mencari bilangan ganjil atau genap dari bilangan yang diinputkan.
Kemudian jalankan dengan perintah SELECT !
5. Tambahkan kolom modifikasi pada tabel mahasiswa. Dimana setiap ada insert atau update maka tanggal pada kolom modifikasi akan menunjukkan tanggal perubahan tersebut dilakukan.
C. Perbandingan PostgreSQL dan Mysql
Dalam praktek praktikum saya menggunakan PostgreSQL untuk mempraktekkan modul yang telah di berikan. jadi PostgreSQL : serasa lebih mudah di banding MySQL yang harus belajar otodidak yang membuat bingung ketika Error menyerang hehe...
D. Kesimpulan
Nah gimana sobat-sobat bloger??
sekarang dapat kita ketahui bahwa PL/SQL dapat dibagi menjadi tiga, yaitu: prosedur, fungsi, trigger. dan dari hasil percobaan di atas saya dapat simpulkan bahwa prosedur dan fungsi bekerja berdasarkan eksekusi langsung dari kita (user), sedangkan trigger kerjanya dapat secara otomatis bila terjadi aktivasi insert, update, atau pun delete data.
untuk penggunaan PL/PGSQL hanya dapat di gunakan dalam database PostgreSQL, jika menguunakan database MySQL maka akan banyak Error-Error yang bertebaran seperti hasil latihan diatas.
Nah gimana sobat-sobat bloger??
sekarang dapat kita ketahui bahwa PL/SQL dapat dibagi menjadi tiga, yaitu: prosedur, fungsi, trigger. dan dari hasil percobaan di atas saya dapat simpulkan bahwa prosedur dan fungsi bekerja berdasarkan eksekusi langsung dari kita (user), sedangkan trigger kerjanya dapat secara otomatis bila terjadi aktivasi insert, update, atau pun delete data.
untuk penggunaan PL/PGSQL hanya dapat di gunakan dalam database PostgreSQL, jika menguunakan database MySQL maka akan banyak Error-Error yang bertebaran seperti hasil latihan diatas.
E. Kritik dan Saran
Ya sepertinya kalau gak sering-sering ngoding design basis data kayak gini, mungkin bakalan bener-bener gak akan paham maksud dari coding-coding Fungsi,PL/PGSQL dan juga Trigger.
ya sepertinya benar kata pepatah "bisa karna terbiasa".
Jadi sobat-sobat blogger harus sering-sering latihan ya, agar lebih mudah memahami coding,. oke oke :D
Ya sepertinya kalau gak sering-sering ngoding design basis data kayak gini, mungkin bakalan bener-bener gak akan paham maksud dari coding-coding Fungsi,PL/PGSQL dan juga Trigger.
ya sepertinya benar kata pepatah "bisa karna terbiasa".
Jadi sobat-sobat blogger harus sering-sering latihan ya, agar lebih mudah memahami coding,. oke oke :D
Daftar Pustaka
modul praktikum
http://www.postgresql.org/docs/8.3/static/plpgsql.html
http://www.postgresql.org/docs/9.1/static/plpgsql.html
http://www.postgresql.org/docs/8.3/static/plpgsql.html
http://www.postgresql.org/docs/9.1/static/plpgsql.html
Komentar
Posting Komentar