Pertemuan I - Basis Data dan Komputer

advertisement
Pertemuan I
KONSEP DASAR
STORED ROUTINES
TUJUAN
1.
2.
3.
4.
5.
Mahasiswa dapat memahami apa yg dimaksud
dengan stored routines
Mahasiswa dapat memahami tentang keuntungan dari
stored routines
Mahasiswa dapat menjelaskan tentang feature utama
dari stored routine
Mahasiswa dapat memahami role untuk stored
routines
Mahasiswa dapat memahami konsep dasar
pembuatan stored procedure dan stored function
beserta dengan contoh
Apakah Stored Routines ?
• Stored Routines (SR) dapat terdiri dari 2 yaitu
Stored Procedure (SP) dan Stored Function
(SF).
• Yang lebih umum sering disebut dengan
PL/SQL singkatan dari Procedural Language /
Structure Query Language.
• PL/SQL mulai dikembangkan tahun 1970 –
1980.
• PL/SQL merupakan perluasan dari bahasa
query (SQL) yang memiliki kemampuan seperti
bahasa pemrograman. Manipulasi data dan
perintah-perintah query dalam SQL dimasukan
ke dalam kode-kode pemrograman.
Apakah Stored Routines ? (cont)
• MySQL baru mengembangkan SR pada MySQL versi
5.0. SR dalam MySQL merujuk ke SQL 2003
• SR adalah suatu sub program atau sekelompok perintah
SQL yang tersimpan dan menyatu dalam suatu
database.
• SR tersimpan dalam SERVER database dan bukan di
komputer client dan akan menyatu dengan sebuah
database dalam server.
• Setelah SR dibuat,maka client tidak perlu lagi membuat
statement sendiri-sendiri cukup dengan merefer SR
yang sesuai.
Beberapa situasi dimana SR
sangatlah berguna:
• Ketika banyak aplikasi pada client yang dibuat dengan
bahasa pemrograman yang berbeda-beda dan bekerja
dengan berbagai platform, membutuhkan database yang
memiliki operasi yang sama.
• Ketika keamanan sangat dibutuhkan. Sebagai contoh
adalah bank, yang harus menyediakan lingkungan yang
konsisten dan aman, dan suatu routine yang dapat
memastikan setiap operasi tercatat. Karena dilakukan
disisi server maka dapat diatur aplikasi dan user tidak
dapat mengakses langsung ke dalam database secara
langsung, tetapi hanya mengeksekusi SR tertentu saja.
Keutungan dari SR
• Mendukung konsep pemrograman
CLIENT – SERVER tersimpan dalam
SERVER database dan bukan di komputer
client dan akan menyatu dengan sebuah
database dalam server.
• SR sangat portable. Aplikasi yang ditulis
dalam SR dapat dijalankan pada sistem
operasi dan platform apapun dimana
database berjalan.
Keutungan dari SR (cont)
• SR mendukung SQL. Sangat erat integritasnya
dengan SQL, sehingga tidak perlu adanya
konversi tipe data antara SQL dan SR. Perintahperintah SQL dapat dilakukan di dalam SR.
• SR akan meningkatkan unjuk kerja sistem. Pada
saat program aplikasi memanggil SR maka akan
dilaksanakan di sisi server, kemudian hasilnya
akan dikirim ke client.
• SR tersimpan dalam database dalam bentuk
yang sudah terkompilasi sehingga prosesnya
menjadi lebih cepat.
Keutungan dari SR (cont)
• Sekuritas menjadi lebih baik. SR memindahkan
kode aplikasi dari client ke server sehingga
dapat
dilakukan
pengamanan
dengan
melakukan proteksi terhadap pengrusakan,
menyembunyikan dari detail internal, dan
membatasi akses user.
• Trigger yang merupakan bentuk khusus dari SR
dapat mengontrol atau mencatat perubahan
pada data, sehingga setiap perubahan data
sesuai dengan ketentuan yang berlaku.
Pemahaman Feature Utama dari SR
PL/SQL mengkombinasikan kekuatan :
– Dalam memanipulasi data dari SQL dan
– Proses dari bahasa prosedural.
• Dapat dilakukan kontrol program dengan statement
seperti IF dan LOOP. Seperti halnya dengan bahasa
prosedural, dapat dilakukan deklarasi variabel,
mendefinisikan prosedur dan fungsi, dan melakukan
trapping pada saat terjadi error saat program
dijalankan.
Pemahaman Feature Utama dari SR (cont)
• SR dapat membantu melakukan break down dari
masalah yg kompleks ke dalam kode prosedural yang
mudah untuk dipahamai dan penggunaan kembali kode
program untuk berbagai aplikasi. Pada saat suatu
masalah dapat diselesaikan melalui SQL, kita dapat
menggunakan perintah SQL tersebut untuk dimasukan
ke dalam program SR.
• Tipe data SR berkorespondesi dengan tipe kolom dari
SQL sehingga memudahkan untuk melakukan
pertukaran variable SR dengan yang ada di dalam tabel.
Role untuk Store Routine dalam MySQL.
SR dalam MySQL membutuhkan table proc dalam
database mysql. Table proc merupakan tempat untuk
menyimpan seluruh SR yang dibuat. Server akan
memanipulasi mysql.proc dalam merespon statement
untuk edit, hapus, alter SR.
• Grant yang diberikan untuk dapat melakukan SR:
– CREATE ROUTINE privilage dibutuhkan untuk
membuat store routines
– ALTER ROUTINE privilage dibutuhkan untuk
melakukan alter atau drop store routine. Privilage ini
akan di grant otomatis untuk orang yang membuat
routine.
– EXECUTE privilage dibutuhkan untuk mengeksekusi
SR.
Membuat Store Procedure
Beberapa hal yang perlu diperhatikan dalam membuat
store procedure :
a. Ketika sebuah routine di jalankan secara implisit
menggunakan statement USE nama_db. Sehingga
penggunakan statement USE dalam store procedure
tidak diijinkan.
b. Sebuah routine mungkin tidak berada dalam
databasenya. Sebagai contoh, kita dapat melakukan
invoke store procedure p atau function f yang
berhubungan dengan database test, dapat digunakan
CALL test.p() atau test.f ().
c. Pada saat database di drop, seluruh routine yang
berhubungan dengannya akan di drop juga.
Contoh store procedure :
DELIMITER $$
DROP PROCEDURE IF EXISTS `pbd`.`sp_modul1` $$
CREATE PROCEDURE ‘pbd’.`sp_modul1`()
BEGIN
select * from barang;
END $$
DELIMITER ;
CALL sp_modul1();
Contoh store function
DELIMITER $$
DROP FUNCTION IF EXISTS `pbd`.`hello` $$
CREATE FUNCTION ‘pbd’.`hello`(s char(20))
RETURNS char(50)
BEGIN
RETURN CONCAT('Hello ....,',s,' !');
END $$
DELIMITER ;
SELECT HELLO (‘WORLD’);
Download