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 l agi tentang SQL yaitu Function and Trigger . Tr igge r adalah pr osedur te rs impan pad a Microsoft SQL Ser ver ya ng se car a otomat is dijalankan apabila data di dalam tabel berubah karena eksekusi perintah SQL (INSERT, UPDATE atau DELETE). Dihara pkan pula dengan adanya praktiku m basis data ini dapat diimpleme ntasikan demi kemajuan dalam Bidang Pengetahuan dan Teknologi di Kampus kita.

modul5

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).