Senin, 14 Januari 2013

Stored Procedure dan Stored Function


Stored Procedure
 Sejumlah perintah dalam kode program dan beberapa parameter input, dan sejumlah hasil atau keluaran. Cara pemanggilannya dengan mengeksekusi nama proscdure tersebut. Atau dalam bahasa sederhana Stored Procedure adalah kumpulan perintah SQL yang diberi nama dan disimpan di server.
Stored Procedure biasanya berisi perintah-perintah umum yang berhubungan dengan database pada server, dan menghasilkan sekumpulan record. Stored Procedure ditulis dalam bentuk sebuah script.
Stored procedure adalah permasalah yang cukup kompleks untuk dibahas, adapun bagian penting pada stored procedure. Kapan program akan diabut, parameter yang akan dilewatkan dan hasil yang dikeluarkan, interaksi dalam basis data, menciptakan stored precedure, fungsi dan trigger dalam bahasa pemrograman.
Pemrograman Stored Prosedure dalam MySQL
Stored procedure adalah permasalah yang cukup kompleks untuk dibahas, adapun bagian penting pada stored procedure :
Kapan program akan diabut, parameter yang akan dilewatkan dan hasil yang dikeluarkan, interaksi dalam basis data, menciptakan stored precedure, fungsi dan trigger dalam bahasa pemrograman.
Beberapa perintah untuk membuat stored procedure:
CREATE PROCEDURE , CREATE FUNCTION , atau CREATE TRIGGER
Ex:
DELIMITER $$
DROP PROCEDURE IF EXISTS Kata()$$;
CREATE PROCEDURE Kata()
BEGIN
SELECT ‘AKAKOM’;
END$$
DELIMITER ;
  DELIMITER $$ akhir dari peritah body (badan/skrip mysql)
  DROP PROCEDURE IF EXISTS Kata()$$; perintah untuk menghapus jika prosedurnya sudah pernah ada.
  CREATE PROCEDURE Kata( ) mencitapkan prosedur degan nama Kata ( isi parameter kalau ada ),
  BEGIN awal perintah/blok perintah dan END akhir perintah
v Variabel
Variabel dalam bahasa SQL, fungsinya sama dengan bahasa pemrograman paxda umumnya.
Perintahnya menggunakan DECLARE, dan untuk memberikan nilai menggunakan perintah SET.
v Parameter
Parameter adalah suatu nilai yanga akan dilewatkan atau dimasukan untuk diproses dalam fungsi atau prosedure.
v Kondisional
Perintah kondisional, untuk melakukan uji kondisi terapat satu masukan dan dua piliahan dari keluaran, kondisi benar atau asalah. Perintahnya menggunakan IF, atau CASE.
v Loop
Loop adalah proses perulangan. Dalam MYSQL ada 3 type loop :
• Loop sederhana menggunakan LOOP dan END LOOP c
• Loop yang disertai kontrol kondisi benar atau salah jika benar akan loop, perintannya menggunakan WHILE dan END WHILE
• Perulangan yang menggunakan REAPEAT dan UNTIL
Interaktif dengan Database
Stored Prosedure juga basi melibatkan data dalam tabel. Ada 4 bagian tipe interaksi antara lian :
  Hasil stored procedure dari perintah SQL menghasilkan nilai balik satu baris yang dimasukan ke dalam variabel lokal.
  Create “cursor” hasil iterasi, yanng mengasilkan baris disimpan ke kursor
  Eksekusi perintah SQL menghasilkan, dengan perintah CALL progarm akan menghasilkan sejumlah baris.
  Untuk perintah INSERT, UPDATE, DELETE, tidak mengasilkan record set


Stored Function 
                Fungsi hampir sama dengan stored procedure. Function mempunyai
sejumlah paramter input dan hanya mengembalikan satu output, standar
perintah yang digunakan menggunakan perintah standar SQL.
Fungsi SQL Aggregate :
fungsi yang menghasilkan nilai tunggal dari perhitungan sebuah nilai dari sebuah kolom, yaitu:
AVG() – memberikan nilai rata-rata dari sebuah kolom numerik
COUNT() – memberikan jumlah baris atau data yang sesuai dengan kriteria yang diberikan
FIRST() – memberikan nilai pertama dari sebuah kolom
LAST() – memberikan nilai terakhir dari sebuah kolom
MAX() – memberikan nilai terbesar dari sebuah kolom
MIN() – memberikan nilai terkecil dari sebuah kolom
SUM() – memberikan jumlah dari sebuah kolom numerik
Fungsi SQL Scalar :
fungsi yang menghasilkan nilai tunggal dari nilai yang dimasukkan, yaitu :
UCASE() – merubah menjadi huruf kapital
LCASE() – merubah menjadi huruf kecil
MID() – mengekstrak karakter dari sebuah data teks
LEN() – menghitung jumlah karakter dari sebuah data teks
ROUND() – membulatkan data numerik ke nilai terdekat
NOW() – memberikan data tanggal dan waktu dari sistem
FORMAT() – memberikan format dari sebuah data yang akan ditampilkan

Bentuk Umum :

CREATE OR REPLACE FUNCTION nama_function (parameter_1, …)
RETURN tipe_data AS
variabel_1 tipe_data;

BEGIN
statemen_1;

RETURN nilai_yang_dikembalikan;
END;

Semoga bermanfaat J

AGREGASI



AGREGASI

Fungsi aggregate atau disebut fungsi ringkasan digunakan untuk melakukan penghitungan menjadi sebuah nilai dari beberapa nilai input. Aggregate dapat digabungkan dengan sebuah parameter seperti WHERE untuk menghasilkan suatu hasil yang lebih komplek.
Berikut struktur SQL untuk penampilan datanya :
SELECT COUNT(*) FROM Nama_Tabel ;
SELECT SUM (Nama_Kolom) FROM Nama_Tabel;
SELECT MAX (Nama_Kolom) FROM Nama_Tabel;
SELECT MIN (Nama_Kolom) FROM Nama_Tabel;
SELECT AVG (Nama_Kolom) FROM Nama_Tabel;

Ø  GROUP BY
Group By merupakan fungsi yang digunakan untuk melakukan pengelompokan dari perintah SELECT. Group by seringkali diperlukan untuk menjalankan agregate menjadi sebuah kelompok dari hasil Query. Berikut struktur SQL untuk penampilan data :
SELECT [NAMA KOLOM] FROM [NAMA TABEL] GROUP BY [NAMA KOLOM];
Ø  HAVING
Pemakaian HAVING terkait dengan GROUP BY, kegunaanya adalah untuk menentukan kondisi bagi GROUP BY, dimana kelompok yang memenuhi kondisi saja yang akan di hasilkan.
Berikut  contoh Struktur yang digunakan :
SELECT Pelanggan, SUM (HargaOrder) FROM Pesanan GROUP BY Pelanggan HAVING SUM (HargaOrder) <2000;
Ø  VIEW
VIEW dapat juga disebut tabel bayangan tetapi buka temporary table, bukan juga merupakan sebuah tabel yang asli. Tetapi meskipun demikian di dalam PostgreSQL. VIEW dapat juga di SELECT, INSERT, UPDATE atau DELETE. Satu lagi kelebihan yang dimiliki oleh view yaitu dapat menyimpan perintah query, dan dapat mewakili sebuah subset dari tabel asli dan memilih kolom atau row tertentu dari tabel biasa.
Berikut adalah tabel contoh kasus penggunaan VIEW :
CREATE VIEW [NAMA TABEL VIEW] AS [QUERY]
Catatan : Query diatas merupakan query untuk menampilkan data menggunakan select.
1. Dari tabel mahasiswa yang telah dibuat tampilkan banyaknya data mahasiswa yang telah
di inputkan. Kemudian cari nim atau id mahasiswa yang paling kecil, paling besar dan
rata-ratanya.
-   Menampilkan Banyaknya Data Mahasiswa
-   Mencari id mahasiswa dari yang paling kecil, besar, dan rata-ratanya



2.   Menampilkan rata-rata id atau nim mahasiswa yang data nimnya lebih dari 3.

3.  Menampilkan jumlah mahasiswa berdasarkan fakultas. Sehingga hasilnya seperti berikut :

Berikut tampilannya :

4.  Menampilkan fakultas yang jumlah mahasiswanya paling kecil dan tampilkan jumlahnya.

5.   Menampilkan seperti nomor 3 dengan persyaratan jumlah mahasiswa yang lebih dari 2 saja yang ditampilkan.

6.   Membuat view untuk query penampilan data mahasiswa, fakultas dan jurusan. Ambil berdasarkan nim, nama mahasiswa, nama fakultas, nama jurusan.


Semoga bermanfaat :)