1. Materi
join di SQL
SQL mempunyai kemampuan untuk
menggabungkan dua tabel atau lebih guna mendapatkan informasi yang diinginkan,
dengan proses yang dilakukan dengan nama JOIN. JOIN digunakan untuk menampilkan
semua record dari sebuah table yang cocok maupun tidak cocok dengan record dari
table lainnya.Suatu operasi Join mengkombinasikan product, selection, dan mungkin projection.
Operator Join secara horisontal mengkombinasikan / menggabungkan data dari satu
baris tabel dengan baris dari yang lain atau tabel yang sama ketika kriteria
tertentu ditemukan. Kriteria melibatkan suatu hubungan diantara kolom didalam
gabungan tabel relasional.
CONTOH:
- Tabel_reference JOIN tabel_factor WHERE|ON [join_condition]
- Sintak Join :
Select nama_kolom
From nama_tabel1
JOIN nama_tabel2
ON nama_tabel1.key1 = nama_tabel2.key1;
INNER JOIN :
INNER
JOIN memerlukan kriteria kolom tertentu sebagai penghubung kedua tabel.
Syntax:
Table_reference INNER JOIN
table_factor WHERE [join_conditional]
LEFT
[OUTER] JOIN
Menampilkan
record dari tabel sebelah kiri yang cocok maupun tidak cocok, akan ditampilkan
dengan tabel sebelah kanan.
Record
yang tidak cocok, akan ditampilkan dengan nilai NULL
Syntax:
Table_reference LEFT [OUTER] JOIN
teble_reference ON join_conditional
RIGHT
[OUTER] JOIN
Menampilkan
record yang cocok dengan tabel sebelah kanan.
Syntax:
Table_reference RIGHT [OUTER] JOIN
table_reference ON join_conditional
Table
JOIN
Selain
beberapa jenis join di atas, anda juga bias menggunakan konsep join tabel yang
sangat sederhana yaitu dengan cara:
·
Jika
ingin menampilkan semua field SELECT
*from table_1, table2;
·
Jika
ingin menampilkan field tertentu SELECT table_1, table_2.field_2,
table_2.field_3 from table_1, table2;
CONTOH
:
Contoh
pada database mysql:
·
SELECT
*from help_relation JOIN help_keyword;
·
SELECT
help_relation.help_keyword_id, help_keyword.name from help_keyword,
help_relation
WHERE
help_keyword.help_keyword_id=help_relation.help_keyword_id;
2. Materi
Stored Procedure
Stored
procedure adalah suatu subprogram atau sekelompok statemen Transact-SQL,yang
tersimpan dan menyatu dalam suatu database. Stored Procedure dibuat dalam SQL
Servel,bukan di komputer client,dan akan menyatu dengan suatu database dalam
server.
Tujuan utama
Transact-SQL (T-SQL) ini adalah untuk menyediakan sekumpulan tool prosedural
untuk pengembangan database transaksional.T-SQL dapat digunakan dalam berbagai
cara di SQL Server client atau aplikasi server.
Contoh :
- T-SQL digunakan dalam ekspresi sebagai bagian dari perintah DML (insert,update,dan dalete) yang dikirimkan oleh proses klien
- T-SQL digunakan dalam sebuah kumpulan kode yang dikirimkan ke SQL-Server dari klien sebagai batch atau script
- Fungsi T-SQL digunakan juga dalam ekspresi dalam pemeriksaan constraint
- Kode T-SQL digunakan dalam batch juga yang satu paket dalam SQL-SERVER sebagai Stored Procedure,fungsi atau trigger
Stored
procedure dapat diakses program aplikasi object-object tertentu pada program
aplikasi masing-masing. Stored procedure tersimpan dalam database dalam bentuk
kode yang sudah terkompilasi sehingga prosesnya menjadi lebih cepat
KEUNTUNGAN
STORED PROCEDURE
- Sebuah stored procedure dikompilasi dan leebih cepat dalam mengeksekusi batch atau query
- Memproses data lewat stored procedure dilakukan pada server sehingga mengurangi intensitas lalu lintas data network
- Stored procedure menawarkan pemrograman modular hal ini karena sebuah stored procedure dapat memanggil stored precedure lain. Stored procedure juga mudah untuk dikembangkan dan diubah. Keuntungan yang timbul dari perubahan stored procedure adalah bila ada perubahan maka otomatis perubahan tersebut dapt langsung terasa pada semua user karena perubahan hanya dilakukan pada satu tempat saja yaitu SERVER.
- Stored procedure bisa jadi adalah salah satu komponen penting dalam keamanan database. Jika semua akses user melalui strored procedure maka semua akses langsung ke tabel dan data dapat di kontrol.
Di SQL
SERVER ada 2 macam stored procedure, yaitu :
- Stored procedure yang sudah ada pada sistem
- Stored procedure yang dibuat oleh user
Dalam contoh dibawah ini kasus tentang sistem
informasi sekolah, yang mana store procedure yang dibuat akan menangani tentang
menghasilkan data siswa yang difilter bedasarkan kelas.
sturuktur tabel siswa
CREATE TABLE `data_siswa`.`tbl_siswa` (
`nis` char(10) NOT NULL,
`nama` varchar(255) NOT NULL,
`kelas` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
store procedure untuk menampilkan data siswa dalam bentuk resultset
DELIMITER $$
CREATE PROCEDURE sp_tampil_siswa_kelas(p_kelas int)
BEGIN
SELECT * FROM tbl_siswa where KELAS = p_kelas;
END$$
DELIMITER ;
penjelasannya sebagai berikut:
sturuktur tabel siswa
CREATE TABLE `data_siswa`.`tbl_siswa` (
`nis` char(10) NOT NULL,
`nama` varchar(255) NOT NULL,
`kelas` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
store procedure untuk menampilkan data siswa dalam bentuk resultset
DELIMITER $$
CREATE PROCEDURE sp_tampil_siswa_kelas(p_kelas int)
BEGIN
SELECT * FROM tbl_siswa where KELAS = p_kelas;
END$$
DELIMITER ;
penjelasannya sebagai berikut:
- DELIMITER = adalah untuk memberi tahu kepada myql soal delimiter yang digunakan, secara default menggunakan ; jadi bila ada tanda ; mysql akan mengartikan akhir dari statement, pada contoh di atas delimeter yang digunakan $$ jadi akhir statementnya adalah $$
- CREATE PROCEDURE = adalah header untuk membuat store procedure
- BEGIN END = adalah body dari store procedure, jadi semua SQL nya di tulis disini.