Nama : Ahmad Nafis Syahroni
NIM : 13650131
FUNGSI, PL/PGSQL dan TRIGER
A. Pembahasan
·
Pada bab kali ini akan membahas tentang
fungsi
·
Selain hal itu akan dibahas juga
mengenai pl/pgsql dan trigger
B. Tujuan
·
Mahasiswa memahami dan menggunakan
fungsi dalam database PostgreSQL
·
Mahasiswa memahami dasar penggunaan
PL/PGSQL dan TRIGER
C. Dasar
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. Sedangkan untuk memunculkan fungsi dapat menggunakan query \df.
Fungsi PL/PGSQL
PL/SQL, merupakan bahasa prosedural yang berbentuk
script SQL dan sudah digolongkan ke dalam bahasa pernrograman generasi 4 (4GL
-fourth-generation programming language). Beberapa fitur yang diberikan antara
lain encapsulation, overloading, collection types, exception handling, dan
information hiding.
Dengan menggunakan PL/SQL, Anda bisa menggunakan statemen SQL untuk memanipulasi data di Oracle dan bisa melakukan flow-of-control statemen dalam memproses data. Selain itu, Anda bisa mendeklarasikan konstanta dan variabel, membuat prosedur dan fungsi, sekaligus bisa untuk mengetahui kesalahan (runtime errors) yang terjadi. Dengan demikian PL/SQL mengabungkan manipulasi data yang didukung SQL, dengan pemrosesan data menggunakan bahasa procedural.
Dengan menggunakan PL/SQL, Anda bisa menggunakan statemen SQL untuk memanipulasi data di Oracle dan bisa melakukan flow-of-control statemen dalam memproses data. Selain itu, Anda bisa mendeklarasikan konstanta dan variabel, membuat prosedur dan fungsi, sekaligus bisa untuk mengetahui kesalahan (runtime errors) yang terjadi. Dengan demikian PL/SQL mengabungkan manipulasi data yang didukung SQL, dengan pemrosesan data menggunakan bahasa procedural.
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.
Keuntungan
penggunaan Fungsi PL/PGSQL :
·
Meningkatkan kinerja karena mengurangi
pengiriman kode dari klien ke server.
·
Meningkatkan keamanan karena pengaksesan
data tertentu ditangani dalam server.
·
Meningkatkan konsistensi data saat sejumlah
aplikasi memanggil prosedur yang sama
Sebaliknya kelemahannya yaitu server akan lebih
terbebani karena banyak proses yang harus ditangani. Sedangkan query PL/PGSQL
agar lebih mudah di pahami akan dibagi menjadi 2 yaitu pembuatan fungsi dan
pembuatan definisi
Triger
Trigger
adalah sebuah blok PL/SQL yang disimpan dalam database yang secara otomatis
akan teraktivasi ketika terjadi suatu operasi pada sebuah table, view, schema,
atau database.
Jenis
Trigger ada 2:
Application Trigger Yang dimana
trigger tersebut akan teraktivasi ketika terjadi suatu event pada sebuah
aplikasi tertentu.
Database Trigger Yang dimana trigger
tersebut akan teraktivasi ketiak terjadi suatu data event (operasi DML (INSERT,
UPDATE, DELETE)) atau system event (logon or shutdown) pada sebuah
schema atau database dan untuk selanjutnya kita akan membahas tentang trigger
ini.
Trigger
Timing
Terdapat 3 waktu untuk sebuah
trigger teraaktivasi:
·
BEFORE
Dimana sebuah trigger akan teraktivasi sebelum terjadinya
proses DML pada table.
·
AFTER
Dimana sebuah trigger akan teraktivasi setelah terjadinya
proses DML pada table.
·
INSTEAD
OF
Trigger
yang hanya berfungsi pada VIEW dan biasanya digunakan untuk mengupdate data
pada view kompleks.
Trigger digunakan untuk menyisipkan sebuah fungsi
pada saat suatu record di- INSERT, UPDATE dan DELETE. Trigger sangat ideal
untuk mengecek atau memodifikasi sebuah data pada kolom sebelum dimasukkan ke
dalam database, sehingga sebuah fungsi dapat dipanggil setiap saat secara
otomatis ketika sebuah row akan dimodifikasi. Ciri khas dari fungsi yang
diperuntukkan untuk trigger adalah menghasilkan output bertipe OPAQUE. Tipe
opaque adalah sebuah tipe yang menginformasikan pada database bahwa fungsi
tersebut tidak menghasilkan satu dari tipe data yang ditetapkan SQL dan tidak
secara langsung dapat digunakan dalam statemen SQL. Language (bahasa) PL/PGSQL
dapat digunakan untuk trigger procedure, fungsi untuk trigger ini memiliki
beberapa variabel khusus yang terdeklarasi secara otomatis. Variabel tersebut
antara lain:
·
NEW: Variabel yang berisi nilai baru
suatu record pada saat INSERT atau UPDATE, bertipe RECORD.
·
OLD: Variabel yang berisi nilai lama
suatu record pada saat UPDATE atau DELETE, juga bertipe RECORD.
D. Tugas
Praktikan
Dan akhinya pun pada praktikum kali ini saya menggunakan CMD saya harus nyerah menggunakan PHP myadmin. lihat lah hasilnya ini... tidak tau kenapa harus eror terus
Dan akhinya pun pada praktikum kali ini saya menggunakan CMD saya harus nyerah menggunakan PHP myadmin. lihat lah hasilnya ini... tidak tau kenapa harus eror terus
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 !
SUKSES
SUKSES
2. Buatlah
fungsi untuk mencari alamat mahasiswa dari tabel mahasiswa berdasarkan nama
mahasiswa. Kemudian jalankan dengan perintah SELECT !
EROR
SUKSES
3. Buatlah
fungsi untuk menghitung nilai dengan menggunakan bahasa pl/sql !
Nilai
> 100 atau Nilai<0 Nilai Salah
Nilai
≥ 90 Nilai A
70
≤ Nilai < 90 Nilai B
60
≤ Nilai < 70 Nilai C
50 Nilai < 60
Nilai D
0
≤ Nilai < 50 Nilai E
4. Buatlah
fungsi menggunakan pl/pgsql untuk mencari bilangan ganjil atau genap dari bilangan
yang diinputkan. Kemudian jalankan dengan perintah SELECT !
EROR
SUKSES
5. Tambahkan
kolom modifikasi pada tabel mahasiswa. Dimana setiap ada insert atau update
maka tanggal pada kolom modifikasi akan menunjukkan tanggal perubahan tersebut
dilakukan.
EROR
SUKSES
E. Perbandingan
2 DBMS
Kali ini saya benar2 harus menguras otak untuk menyelesaikan tugas praktikum DESAIN BASIS DATA bab PLSQL dan TRIGGER. karena semua queri nya berbeda dengan postgres. Dan yang membuat mbangkel itu EROR nya tau bikin emosi aja.? Dan sampai akhinya dengan usaha yang saya lakukan bisa. Tapi penuh dengan kesabaran...
Kali ini saya benar2 harus menguras otak untuk menyelesaikan tugas praktikum DESAIN BASIS DATA bab PLSQL dan TRIGGER. karena semua queri nya berbeda dengan postgres. Dan yang membuat mbangkel itu EROR nya tau bikin emosi aja.? Dan sampai akhinya dengan usaha yang saya lakukan bisa. Tapi penuh dengan kesabaran...
F. Kesimpulan
Trigger adalah suatu fitur dari ORACLE yang berguna
khususnya untuk memberi efek pemicu baik ketika sebelum, dan sesudah user
mengupdate suatu query. Trigger dapat didefinisikan sebagai sebuah kumpulan
aksi yang akan dijalankan jika terjadi sebuah peristiwa yang lain.
PL/SQL adalah kependekan dari Procedural
Language/Structured Query Language. Sederhananya adalah suatu bahasa
pemrograman untuk database Oracle. Struktur dasar dari PL/SQL adalah DECLARE,
BEGIN, dan END.
G. Kritik
Saran
Tiap sub bab materi tingkat kesulitannya semakin
sulit. Sehingga kita lebih sulit untuk mengerjakannya dan kita harus berusaha
keras mencari query-query dalam mysql. Meguras otak sekali ya? Hhahahahah
H. Manfaat
Pembaca
Semoga pembaca setelah membaca postingan ini
mendapatkan ilmu tambahan dan sekiranya laporan ini ada salah-salah nya mohon
di maklumi karena kita juga manusia tidak luput dari kesalahan. Ok sekian dari
saya wassalam………
DAFTAR PUSTAKA
Modul Praktikum DBD
0 comments:
Post a Comment