Upload
sary-auliya-alvin
View
87
Download
0
Embed Size (px)
Citation preview
5/17/2018 modul5 - slidepdf.com
http://slidepdf.com/reader/full/modul5-55b0882a1a4d5 1/9
BAB I
PENDAHULUAN
1.1 Latar Belakang
Dengan diadakannya praktikum basis data yang didasarkan stored procedured dan
transaksi pada perancangan basis data.Para praktikan (Mahasiswa) diharapkan dapat
lebih memahami lebih jauh lagi tentang SQL yaitu Function and Trigger .
Trigger adalah prosedur tersimpan pada Microsoft SQL Server yang secara
otomatis dijalankan apabila data di dalam tabel berubah karena eksekusi perintah SQL
(INSERT, UPDATE atau DELETE).
Diharapkan pula dengan adanya praktikum basis data ini dapat diimplementasikan
demi kemajuan dalam Bidang Pengetahuan dan Teknologi di Kampus kita.
5/17/2018 modul5 - slidepdf.com
http://slidepdf.com/reader/full/modul5-55b0882a1a4d5 2/9
BAB II
DASAR TEORI
TriggerTrigger adalah prosedur tersimpan pada Microsoft SQL Server yang
secara otomatis dijalankan apabila data di dalam tabel berubah karena eksekusi
perintah SQL (INSERT, UPDATE atau DELETE). Salah satu penggunaannya
yang paling umum adalah untuk menerapkan pembatasan yang lebih kompleks
dari yang telah diizinkan melalui pembatasan CHECK, yang berfungsi
membatasi informasi yang disisipkan ke dalam kolom.
Trigger bisa dibuat bersama dengan perintah INSERT, yang akan
melakukan query ke tabel lain dan mengembalikan nilai logik yang membantu
membatasi data yang diberikan kepada kolom tertentu. Sebagai contoh: Trigger
bisa dibuat untuk menjalankan replikasi, misalnya apabila ada sebuah baris
disisipkan ke dalam database Z, sebuah baris dengan informasi yang sama akan
ditambahkan ke dalam database Y. Atau Apabila sebuah baris dihapus dari
sebuah tabel, Trigger akan menghapus baris lain yang berhubungan dengan
baris tersebut pada tabel lain. Trigger dibuat sebagai sebuah transaksi dan bisa
dimundurkan apabila ada masalah yang dideteksi.
5/17/2018 modul5 - slidepdf.com
http://slidepdf.com/reader/full/modul5-55b0882a1a4d5 3/9
BAB III
TUGAS PENDAHULUAN
1. Jelaskan yang dimaksud trigger !
2. Jelaskan yang dimaksud dengan function !
3. Jelaskan manfaat dari function maupun trigger !
Penyelesaian!
1. Trigger merupakan stored procedure yang dijalankan secara automatis saat user
melakukan modifikasi data pada tabel. Modifikasi data yang dilakukan pada tabel yaitu
berupa perintah INSERT, UPDATE, dan DELETE.Bentuk dasar perintahnya:
CREATE TRIGGER nama_trigger
ON nama_tabel
FOR INSERT, UPDATE, DELETE
AS
isi statement-statement Anda disini.
GO
2. Function adalah jenis PL/SQL block yang menghasilkan satu nilai. Function bisa
disimpan dalam database sebagai object schema, sehingga suatu function bisa
digunakan berulangkali tanpa harus melakukan parsing dan compile ulang.
CREATE [OR REPLACE] FUNCTION function_name
[(parameter1 [mode1] datatype1,
RETURN datatype
IS | AS
PL/SQL block;
Parameter yang berlaku pada function hanya parameter IN.
5/17/2018 modul5 - slidepdf.com
http://slidepdf.com/reader/full/modul5-55b0882a1a4d5 4/9
3. Secara umum, function digunakan melakukan perhitungan, mengecek eksistensi dan
kevalidan suatu data. Function bisa dilibatkan dalam expresi.
Kegunaan Trigger
a.Trigger dapat digunakan untuk memaksakan constraint yang tidak dapat dilakukan
pada perancangan dan implementasi DBMS
b.Trigger dapat secara otomatis memberikan pesan warning jika terjadi gangguan pada
IC. Penggunaan trigger yg umum adalah untuk meningkatkan referential IC
c.Trigger dapat digunakan untuk update nilai pada tabel, insert tuple pada tabel, dan
memanggil stored procedure yg lain
5/17/2018 modul5 - slidepdf.com
http://slidepdf.com/reader/full/modul5-55b0882a1a4d5 5/9
BAB IV
IMPLEMENTASI
1. Buatlah sebuah fungsi yang digunakan untuk mendapatkan volume sebuah
balok. Ujilah fungsi yang anda buat!
delimiter$
create function volume (panjang int, lebar int, tinggi int) returns int
deterministic
begin
declare volum int;
set volum = panjang * lebar * tinggi;return volum;
end$
2. Berdasarkan tabel rental:
a. Buatlah fungsi yang digunakan untuk mendapatkan jumlah inventory yang belum
dikembalikan oleh seorang customer ! Ujilah dengan customer_id=100,200,300.
b. Buatlah sebuah fungsi yang digunakan untuk mencari berapa hari sebuah film
dipinjam oleh seorang customer.
c. Buatlah sebuah fungsi yang digunakan untuk mencari siapa customer yang sedang
meminjam sebuah film. Ujilah untuk inventory_id = 106,177,1020
3. Contoh penggunaan Trigger
CREATE TRIGGER testref BEFORE INSERT ON test1
FOR EACH ROW BEGIN
INSERT INTO test2 SET a2 = NEW.a1;
5/17/2018 modul5 - slidepdf.com
http://slidepdf.com/reader/full/modul5-55b0882a1a4d5 6/9
DELETE FROM test3 WHERE a3 = NEW.a1;
UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1;
END;
Perhatikan trigger tersebut :
- Nama trigger adalah : testref
- Trigger_time nya : before
- Trigger_event : insert dan update
- Trigger_event terjadi pada tabel test3 dan test4
- Trigger_stament melakukan proses : insert dan update
Tabel test1
Tabel test2
Tabel test3
Tabel test4
5/17/2018 modul5 - slidepdf.com
http://slidepdf.com/reader/full/modul5-55b0882a1a4d5 7/9
c. Lakukan proses penyisipan data
Hasil :
Test1 test2 test3 test4
+------+| a1 |+------+| 1 || 3 || 1 || 7 || 1 || 8 || 4 || 4 |+------+
8 rows in set (0.00 sec)
4. Cobalah contoh-contoh yang ada pada modul_7 tentang Trigger !
a. Buat terlebih dahulu tabel barang.
b. Isi sesuai dengan contoh.
c. Buat tabel detail pembelian sesuai dengan struktur yang telah ditetapkan.
+------+| a2 |+------+| 1 || 3 || 1 || 7 || 1 || 8 || 4 || 4 |+------+8 rows in set (0.00sec)
+----+| a3 |+----+| 2 || 5 || 6 |+----+3 rows in set (0.00sec)
+----+------+| a4 | b4 |+----+------+| 1 | 3 || 2 | 0 || 3 | 1 || 4 | 2 || 5 | 0 || 6 | 0 || 7 | 1 || 8 | 1 || 9 | 0 |
| 10 | 0 |+----+------+10 rows in set(0.00 sec)
5/17/2018 modul5 - slidepdf.com
http://slidepdf.com/reader/full/modul5-55b0882a1a4d5 8/9
a. Coba buat beberapa trigger untuk event pada tabel detailpembelian baik untuk
delete, insert maupun update.
b. Coba lakukan insert, update dan delete pada tabel detailpembelian tunjukan
perubahan yang terjadi !!
update barang set nama_barang ='celana' where id_barang='3';
delete from detail where id_barang='2';
5/17/2018 modul5 - slidepdf.com
http://slidepdf.com/reader/full/modul5-55b0882a1a4d5 9/9
BAB V
PENUTUP
Kesimpulan
Trigger adalah prosedur tersimpan pada Microsoft SQL Server yang secara otomatis
dijalankan apabila data di dalam tabel berubah karena eksekusi perintah SQL
(INSERT, UPDATE atau DELETE).