Diproteksi: Konci Blog

membuat trigger di SQL Server 2005

dulu saya sempat beranggapan bahwa trigger itu hanya ada di oracle, ternyata salah besar‚Ķ ūüôā

trigger juga ada di SQL Server

tapi sebelumnya apa itu trigger

saya mencoba menjelaskan dengan bahasa yg paling sedergana ya, kalau diartikan langsung ke bahasa trigger itu artinya adalah pemicu, namun jika dihubungkan ke database, trigger artinya kode SQL yang dikerjakan oleh DBMS ketika suatu kejadian terjadi.n dalam hal ini jika perintah INSERT, UPDATE, atau DELETE dijalankan di DBMS, beribet ya penjelasannya? :p

OK, saya kasih contoh sederhanan saja ya.. misalnya saya punya 2 tabel..tabel barang dan tabel pembelian, untuk lebih jelasnya bisa dilihat pada gambar dibawah ini. dalam tabel barang tersebut ada nama barang dan jumlah stock , IDEnya adalah ketika tabel pembelian ditambahkan, jumlah stock barang akan terupdate secara otomatis.misalnya ketika barang A dibeli sejumlah 3 buah maka nanti stock barang akan bertambah 3 secara otomatis. proses tersebut bisa dilakukan dgn trigger

tabeltrigger

menurut MSDN, syntac dari trigger adalah sebagai berikut

Syntax

CREATE TRIGGER trigger_name
ON { table | view }
[ WITH ENCRYPTION ]
{
{ { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] }
[ WITH APPEND ]
[ NOT FOR REPLICATION ]
AS
[ { IF UPDATE ( column )
[ { AND | OR } UPDATE ( column ) ]
[ …n ]
| IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask )
{ comparison_operator } column_bitmask [ …n ]
} ]
sql_statement [ …n ]
}
}

biar lebih mengerti, kita mulai dengan contoh.. jadi kita butuh membuat 2 tabel tersebut di SQL server 2005, script sebagai berikut

create table BARANG
(
BAR_ID int not null,
BAR_NAMA varchar(255) not null,
BAR_STOCK int null
default 0,
constraint PK_BARANG primary key (BAR_ID)
)
go

create table PEMBELIAN
(
PEM_ID int not null,
BAR_ID int null ,
PEM_JUMLAH int null ,
constraint PK_PEMBELIAN primary key (PEM_ID)
)
go

create index RELATION_FK on PEMBELIAN (BAR_ID)
go

alter table PEMBELIAN
add constraint FK_PEMBELIA_RELATION_BARANG foreign key (BAR_ID)
references BARANG (BAR_ID)
go

INSERT INTO BARANG (BAR_ID,BAR_NAMA) VALUES (1,’AQUA’);
INSERT INTO BARANG (BAR_ID,BAR_NAMA) VALUES (2,’TOTAL’);
INSERT INTO BARANG (BAR_ID,BAR_NAMA) VALUES (3,’AQUADES’);

setelah anda menjalankan script tersebut, maka anda akan mempunyai 2 tabel, yaitu tabel barang dengan isi 3 buah data, dan tabel pembelian dengan data masih kosong.3 data di tabel barang tersebut secara defaut stocknya adalah 0

kemudian saatnya kita buat trigger sehingga ketika kita menambahkan data di tabel pembelian dengan jumlah pembelian barang tertentu, maka stock di tabel barang akan bertambah sesuai dengan barang yg dibeli, syntac trigger tersebut adalah sebagai berikut

create trigger tambahStockbarang on pembelian
for insert
as
update b set b.bar_stock = b.bar_stock + i.pem_jumlah
from barang b join inserted i on b.bar_id = i.bar_id

arti dari kode tersebut adalah sebagai berikut
create trigger tambahStockbarang on pembelian
membuat trigger dengan nama tambahStockBarang dimana trigger tersebut akan terpicu jika ada perubahan di tabel pembelian

for insert
as

perubahan tersebut adalah penambahan(insert) di tabel pembelian , selain penambahan bisa juga diisi dengan perubahan(update) atau penghapusan(delete)
for disini juga bisa rubah isinya jadi after atau instead of . perbedaanya adalah waktu trigger dikerjakan, biasaya yg sering digunakan adalah for

update b set b.bar_stock = b.bar_stock + i.pem_jumlah
from barang b join inserted i on b.bar_id = i.bar_id

ini adalah kode yg dikerjakan ketika kejadian trigger terpicu, kode diatas bertujuan merubah nilai bar_stock pada tabel barang dengan menambahkan nilai bar_stock yg sekarang dengan jumlah barang yg dibeli (pem_jumlah). perhatikan disini ada tabel yang bernama inserted, tabel tersebut merupakan tabel logika yg digunakan untuk menyimpan data yang memicu terjadinya trigger, dalam hal ini nilai data yg dimasukkan(insert) kedalam tabel pembelian, selain inserted, tabel logika lainnya adalah deleted, tabel logika ini digunakan untuk trigger yg terpicu dengan kejadian delete

kita coba masukkan kode berikut

INSERT INTO PEMBELIAN (PEM_ID, BAR_ID, PEM_JUMLAH) VALUES (1,1,4);
INSERT INTO PEMBELIAN (PEM_ID, BAR_ID, PEM_JUMLAH) VALUES (2,3,2);
INSERT INTO PEMBELIAN (PEM_ID, BAR_ID, PEM_JUMLAH) VALUES (3,1,1);

arti kode tersebut
pem_id haruslah beda karena merupakan primary key
beli aqua(kode bar_id=1) sebanyak 4
beli aquades (kode bar_id=3) sebanyak 2
beli aqua lagi sebanyak 1

sehingga secara keseluruhan yg dibeli aqua sebanyak 5 dan aquades sebanyak 2
karena default nilai stock barang adalah 0, maka seharusnya nilai aqua 5 dan aquades 2 adalah jumlah stock barang sekarang ini

dan kita lihat data barang… walah

hasil trigger

sekian tutorial kali ini tentang membuat trigger di SQL Server, semoga bisa membantu yg lagi kesusahan bikin Tugas Akhir mata pekerjaan.

MATERI KOMUNIKASI DATA

PENDAHULUAN

Berbagai cara dalam melakukan komunikasi
melalui :
Ôā∑Suara
Ôā∑Gerak-gerik
Ôā∑Lambang / gambar
Tujuan Teknik Komunikasi
adalah bagaimana menyampaikan informasi ke
tempat tujuan dengan cepat dan tepat (menukar
informasi antara dua perantara), karena masalah
utama dalam komunikasi adalah efisiensi, yaitu
bagaimana menyampaikan informasi secepat
mungkin dengan kesalahan sesedikit mungkin. Baca lebih lanjut

A.pengertian objek-objek pada visual basic.net

1.  Pengertian dan Cara Penggunaan Objek
 
1.Obyek Conection
Obyek conection digunakan untuk membuat koneksi ke database
Sebelum melakukan coneksi ke database, tambahkan dahulu pernyataan imports ke baris pertama jendela kode sebagai berikut :
Untuk sql server :
Imports system.data.sqlclient
Untuk ms.acces :
Imports system.data.oledb
1.¬†¬†¬†¬†¬†¬†OLEbConnection Merupakan suatu program yang berfungsi mengkoneksikan ke database dan memberikan informasi ‚Äď informasi data.¬†¬†¬†¬†¬†¬†¬†Cara Menggunakan nya yaitu Melakukan Koneksi ke Sumber Data.
Misalnya OleDbConnection pada komponen ADO.net.
 
Langkah ‚Äď Langkahnya :
–¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†Memerlukan Komponen ADO.NET
–¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†Langkah Pertama, Pada jendela¬†ToolBox, klik tab¬†Data¬†untuk meletakkan objek ke jendela komponen, lakukan klik 2 kali pada¬†OleDBConnection.
–¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†Pada jendela komponen akan tampak objek dengan nama¬†OleDbConnection 1. Lakukan klik pada objek tersebut dan pada properties¬†ConnectionString¬†pilih item
–¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†Kemudian akan muncul jendela¬†Data Link Properties. Klik tab¬†Provider¬†dan pilihMicrosoft OLE DB Provider for SQL Server.
–¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†Klik tombol¬†Next,¬†Tab¬†Connectionakan ditampilkan, kemudian pilih¬†server namemasukkan nama komputer server yang digunakan. Jika stand alone PC isikan¬†(local).
–¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†Pada pilihan Authentication pilih¬†Windows Authentication. Kemudian masukkan/pilih nama database yang akan digunakan
–¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†Selanjutnya coba klik tombol¬†Test Connenction¬†untuk menguji apakah koneksi sudah berhasil
2.      Obyek command
Obyek command dapat memanggil data dari sumber data. Perintah ditentukan oleh property commandtext.properti command text berisi nama table, pernyataan, atau nama dari stored procedure.
Untuk menjalankan perintah pertama kali deklarasikan variable obyek command, sebagai berikut :
Obj command = new oledbcommand
 
a)      OleDbCommand adalah suatu program yang menjalankan perintah-perintah pada sumber data.
 
3.      Obyek dataadapter
Obyek dataadapter akan melakukan koordinasi antara representasi data dalam memori dan sumber data permanen. Obyek data adapter bekerja sebagai duta kita dengan mekanisme akses data, sehingga kita dapat memanggil dan menyimpan data dari sumber data dan obyek dataset.
Data adapter berisi sebuah metode yang penting yaitu metode fill(). Metode fill akan melakukan populate atau mengisi suatu dataset dan proses pengisian tersebut terjadi ketika dataset menyentuh secara langsung koneksi database.
a)      OleDbDataAdapter Merupakan komponen yang berfungsi sebagai jembatan diantara database dan objek dataset dan akan mengambil data yang telah ditentukan, lalu akan mempopulate dataset anda.
Cara Menggunakannya : hubungkan sumber ke dataset.
 
 
4.      Obyek dataReader
Obyek datareader merupakan mekanisme secara tepat untuk memanggil aliran data yang bersifat forward-only dan read-only. Kita dapat membuat obyek data reader menggunakan metode executereader() dari objek command.
a)      OleDbDataReader merupakan kumpulan record-record yang diambil dari database yang berfungsi membaca data pada sumber data dengan sifat forward only dan read only.
Cara menggunakannya biasanya digunakan pada tampilan control tampilan data seperti DataGrid, GridView, dsb.
5.      Obyek DataSet
dataset merupakan pepresentasi data dalam memori yang memberikan model pemrograman relational yang konsiten, tanpa mmemperhatikan asal dari sumber data. Suatu data set mewakili serangkaian data secara lengkap termasuk table yang berhubungan, constain(aturan), dan relasi antar table.
Ada beberapa cara untuk bekerja dengan dataset
a.       Menggunakan kode program dengan menggunakan datatable, datarelation, contrain dalam dataset, dan populate dengan data.
b.      Populate dataset dari system management database relational menggunakan dataadapter.
c.       Memanggil dataset menggunakan XLM.
Pengertian Data Set
DataSet merupakan perwujudan data dalam memori yang memberikan model program relational yang konsisten tanpa memperhatikan asal dari sumber data.
Digunakan Untuk mengatur sendiri query yang akan dijalankan dengan menggunakan DataAdapter dalam menggunakan parameter dalam pembuatan report.
Cara Menggunakannya :
·         Menggunakan kode program dengan membuat DataTable, DataRelation dan Constrain dalam DataSet dan populate dengan data.
·         Populate DataSet dari sistem manajemen database relational dengan menggunakan DataAdapter
·         Memanggil DataSet dengan menggunakan XML
Langkah-langkah Membuat Data Set :
–¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†Klik objek¬†OleDbDataAdapter 1¬†yang baru saja dibuat diatas. Klik kanan kemudian pilihGenerate DataSet
–¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†Sebuah jendela Generate DataSet akan ditampilkan. Pilih¬†New¬†untuk membuat dataset baru. beri nama yang akan kamu pakai misal¬†ds_barang.
–¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†Pilih tabel yang akan digunakan (tabel yang terdapat pada database yang telah dipilih pada pembahasan DataAdapter diatas). Pilih/centang¬†Add this dataset to the designer.
–¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†Kemudian klik tombol¬†OK.
–¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†Hasil akhir dari proses ini adalah dihasilkannya file skema XML (bila kamu menggunakan nama ds_barang maka akan dihasilkan skema XML dengan nama ds_barang.xsd)
 
6.      dataTable
dataTable adalah komponen dimana baris data yang diperoleh dari sumber data ditampung sebelum diproses lebih lanjut. Baris data ini kemudian direferensi melalui objek datatable. Perubahan yang terjadi pada data table ditangani library.net.framework, jadi sumber data tidak terlibat lg.
a)      Data table adalah suatu table yang berisi kumpulan-kumpulan data yang saling terkait untuk membangun sebuah database.
Cara Menggunakannya bisa juga dengan table HTML biasa, dengan meng-input coding-coding nya.
 
7.      Data View adalah view yang digunakan untuk menampilkan data-data yang berasal dari data source.
Cara Menggunakannya adalah jalankan preview dengan menekan tombol F12.

 

8.      Pengertian Import.Systemdata.Oledb
Suatu Sistem Data yang bertujuan agar kita bisa langsung memanggil class-class yang berada pada namespace yang dimaksud tanpa menuliskan namespacenya terlebih dahulu.

Imports System.Data.OleDb
Public Class formShow2Grid
¬†¬†¬† Private oleDa As New OleDbDataAdapter(“Select * from tbMataUang”, _ “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” & _ Application.StartupPath.ToString & “\dbTutorial.mdb”)
    Private dt As New DataTable
    Private Sub formShow2Grid_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
        oleDa.Fill(dt)
        dgvMataUang.DataSource = dt
        dgvMataUang.Columns(0).Width = dgvMataUang.Width / 3
        dgvMataUang.Columns(1).Width = dgvMataUang.Width * 2 / 3
    End Sub
End Class

Alfa Sholallah