Tuesday, March 8, 2016

Penggunaan Trigger dalam SQL Server

Trigger dalam SQL Server

Trigger adalah T-SQL yang disimpan pada database server dan akan diaktivasi melalui event ketika melakukan statement-statement SQL (Insert, Update, Delete) pada sebuah table. Trigger dapat membantu dalam menjaga konsistensi dan integritas data.

  • Create Trigger

  • Alter Trigger

  • Drop Trigger

  • Even Pada Trigger

  • Nama Event Keterangan
    Afret / for Insert Terjadi setelah insert
    After / for Update Terjadi setelah update
    After / for delete Terjadi setelah delete

Contoh insert trigger

Test Driven

Setelah data selesai ditambahkan maka trigger akan bekerja menampilkan pesan data telah di insert

Monday, February 29, 2016

SQL server select statement

Pernyataan Select Dalam SQL server

Pernyataan select dalam sql server berguna untuk menyeleksi suatu field dari tabel yang di dipilih. Seorang developer database pasti sudah terbiasa dengan perintah select Secara sederhana perintah select dapat distrukturkan seperti dibawah ini

Untuk seorang newbe pasti akan bingun dengan struktur diatas, untuk itu kita akan membuat contoh kasus
nama tabel : mahasiswa
NIM NAMA JURUSAN
112114677 erwin pasaribu sistem informasi
112114699 rachmat chang akuntansi
112117878 idris lim tekhnik informatika

Diatas terdapat 1 tabel mahasiswa, yang nantinya kita akan menyeleksi berdasarkan apa yang kita inginkan. Menyeleksi seluruh field yang ada salam tabel

  • Menyeleksi seluruh field yang ada salam tabel
NIM NAMA JURUSAN
112114677 erwin pasaribu sistem informasi
112114699 rahmat chang akuntansi
112117878 idris lim tekhnik informatika
  • Menyeleksi hanya fiel nim
NIM
112114677
112114699
112117878

  • Menyeleksi hanya NIM dan NAMA
NIM NAMA
112114677 erwin pasaribu
112114699 rahmat chang
112117878 idris lim

Untuk peryataan select sepertinya sudah sangat cukup, selanjutnya bagaimana jika kita hanya memilih nim dengan kriteria yang berbeda.Akan di bahas di postingan selanjutnya.

Monday, September 21, 2015

Membuat database yang baik dan benar

Ada tahapan bagi seseorang untuk bisa sampai ke tahapan advanced, expert, atau apapun sebutannya untuk seorang yang telah menguasai bidangnya, atau bahkan mengembangkan bidangnya. Namun sayang sekali seseorang yang sudah sampai tingkatan expert sangat jarang sekali mendokumentasikan kemampuan, pengalaman, sekaligus eksperimen yang pernah dilakukan. Jelasnya dokumentasi ini sangat bermanfaat untuk orang-orang setelahnya. Bagi para newbie, dan intermediate. Dimana pengalaman adalah sesuatu yang tidak ternilai harganya.
Apa yang akan saya jelaskan kali ini sebetulnya memang di khususkan untuk para programmer pemula, maupun tingkatan menengah, begitu juga untuk para database engineering pemula maupun tingkatan menengah. Dan apa yang akan saya rincikan di sini merupakan sesuatu yang sudah pernah dibuktikan terlebih dahulu. Bukan sekedar teori yang perlu diformulasikan kembali ketika akan dilakukan pembuktiannya.
Bagi seorang programmer, dan database engineer, merupakan hal yang vital ketika akan melakukan develop aplikasi, terlebih lagi pada fase perencanaan dalam pembuatan database, di mana diperlukan analisa yang betul-betul jitu hingga mendapatkan tingkat efektifitas dalam relasi yang menunjang operasi CRUD, Create Read Update Delete. Memang ketika para pemula mendalami CRUD terbilang mudah untuk dikuasai. Tidak jadi masalah ketika programer membuat aplikasi dengan pengguna yang tidak begitu banyak, belasan, sampai puluhan. Namun masalah akan didapatkan ketika aplikasi yang dirancang itu digunakan oleh ribuan, atau bahkan jutaan orang. Server down karena hang akibat query yang lambat dieksekusi, berantai dari terlalu banyak men-JOIN relasi antar table.
Sehingga dari sini betul-betul seorang programmer maupun database engineer harus betul-betul teliti dan bekerja sebagaimana mestinya.
1. Jangan Terlalu Banyak Membuat Relasi Table
Aplikasi yang kompleks pastinya berdampak kepada relasi database, semakin kompleks aplikasi berdampak pada pembuatan relasi table semakin banyak. Tapi bisa juga membuat aplikasi yang kompleks tanpa membuat relasi table yang banyak. Loh? Bagaimana bisa? Bisa. Di ambil alih oleh bahasa pemrogaman itu sendiri, sebagai contohnya adalah penggunaan serialize() di PHP. Lebih jelasnya silahkan membuka http://php.net/manual/en/function.serialize.php Dengan fungsi ini sang programmer bisa dengan leluasa menyimpan atribut ke dalam array, dan arraynya di simpan ke suatu field di dalam table.
Kalaupun harus membuat banyak relasi antar table, anda harus melakukan nasihat di poin ke 2.
2. Jangan Terlalu Banyak Men-Join Relasi Antar Table
Saya sendiri maksimal dalam men-join relasi antar table adalah 5 relasi. Ini pun sudah terlalu berat sekali jika user yang menggunakan aplikasi ini berjumlah ribuan atau bahkan sampai jutaan. Server terasa beraaaaaat sekali. Disarankan untuk menjoin table kurang dari 5 relasi. Karena biasanya optimasi query pun dilakukan termasuk di antaranya adalah memperbaiki join table yang terlalu banyak dan kurang efisien.
Lalu bagaimana jika sudah terlanjur banyak relasi? Karena sudah terlanjut mau bagaimana lagi, gunakanlah field-field yang sudah di jadikan sebagai key dengan atribut INDEX maupun PRIMAY dalam men-JOIN table. Mengapa karena jika tidak di lakukan maka response database server akan terasa sangat lambat sekali.
Sebelum terlanjur maka alangkah baiknya untuk memperhatikan “anjuran untuk tidak terlalu banyak men-join relasi antar table” yang jelasnya ini sangat berhubungan dengan poin pertama. Sehingga planning dalam pembuatan database perlu secara detil diperhatikan.
3. Gunakanlah InnoDB jika… Gunakanlah MyIsam jika…
MyIsam merupakan jenis database engine yang cocok untuk pemula, karena tidak terlalu banyak memikirkan integritas data. Maksudnya bagaimana? Apakah yang tidak ada kontroversi hati? Sederhananya MyIsam itu lebih dulu lahir, ketimbang InnoDB. MyIsam dibuat untuk menunjang database yang hanya digunakan untuk View / Read saja dengan fungsi select pada sql query. Dan tidak terlalu banyak Insert sekaligus Update data, namun lebih banyak di Read saja.
Sedangkan InnoDB betul-betul memperhatikan integritas data, dan innodb ini cocok digunakan dalam database yang sangat banyak sekali menggunakan operasi Insert, dan Update. Namun karena kelebihannya tersebut dibutuhkan ketelitian yang lebih dalam pembuatan database menggunakan InnoDB engine.
Begitulah sedikit nasihat yang mudah-mudahan bermanfaat bagi Anda yang akan memulai membuat aplikasi dengan banyak pengguna. Sehingga nantinya tidak perlu menyalahkan Memory / Resource Server manakala terasa lambat. Tapi sejujurnya adalah ketika perencanaan database itulah penggunaan Resource Server bisa di efisiensikan.

Sunday, September 20, 2015

Menampilkan data di ComboBox dari database

Kali ini penulis akan membuat tutorial cara menampilkan data dari database ke combobox denagn visual basic.net Langkah pertama yang harus dilakukan membuat database terlebih dahulu, dalam kasus ini saya membuat database dengan nama TEST dan satu buah tabel yaitu CUSTOMER

Selanjutnya, Kita membuat form seperti pada gambar dibawah ini dengan 1 label dan 1 Combobox.

Kode di bawah ini untuk membuat koneksi ke database. Sebelumya saya sudah pernah membahas cara membuat koneksi ke berbagai database DISINI. Dalam kasus ini saya memakai database sql server 2005.

Ini adalah hasil dari proses kode yang telah saya buat. Sekian untuk tutorial kali ini, semoga bermanfaat untuk teman-teman semua. Teman-teman juga bisa lihat tutoria cara menampilkan data dari database ke DataGriView DISINI

Saturday, April 11, 2015

Membuat koneksi dari aplikasi ke database


Connection String

adalah representasi String biasanya berisi informasi koneksi database untuk membuat sambungan antara database dan Aplikasi yang kita buat. Connection String meliputi parameter seperti nama driver, nama server dan nama database, serta informasi keamanan seperti user name dan password. Penyedia data menggunakan koneksi string yang berisi kumpulan parameter untuk membuat sambungan dengan database. Framework menyediakan tiga akses terutama  penyedia data:
1.       Microsoft SQL Server -> koneksi untuk sql server
2.       OLEDB -> koneksi untuk datanase microsoft acces
3.       ODBC -> koneksi untuk my MYSQL
Dalam postingan ini saya juga sudah posting cara mengkoneksikan sql server dengan visual basic
Pada bagian berikut dapat kita lihat bagaimana penyedia ADO.NET menyediakan data sambungan ke Databse
  Koneksi String visual basic dengan sql server



  Koneksi string visual basic dengan database microsoft acces



  Koneksi string visual basic dengan database mysql



Penjelasan :
Sebenarnya untuk terhubung ke database dengan menggunakan connection string hampir sama, coba perhatikan contoh yang ada di atas, semua penulisan kode program untuk koneksi ke database hampir sama, hanya saja penulisan parameter seperti nama server, nama database, user id, password nya saja yang berbeda. Dalam kode di atas kita selalu mendefenisikan 2 variabel yaitu :
1.       Dim connetionString As String

Fungsi variable ini di deklarasikan adalah untuk menampung string koneksi yang kita tuliskan didalamnya, dan selanjutnya kita mengerimikan ke server menggunakan object koneksi seperti SqlConnection, OleDbConnection, OdbcConnection. Di sini kita dapat membuat pilihan apakah kita akan terkoneksi dengan datase yang mana.

2.       Dim cnn As SqlConnection, OleDbConnection, OdbcConnection

Selanjutnya setelah koneksi string di inisialisasi maka kita akan mengirimkannya ke database.
Selanjutnya setelah semua selesai maka kita bias membuka koneksi yang telah kita buat dengan menggunakan cnn.open(), yang perlu diperhatikan adalah ketika kita telah selesai melakukan suatu aksi seperti menyimpan data ke database maka sebaiknya kita harus segera menutup koneksi tersebut agar sumber daya databse yang dihabiskan tidak banyak.
Namun kelemahan dari koneksi string ini adalah tidak fleksibel, artinya jika suatu database berpindah server makan kita harus membongkar kode program tersebut untuk mengatur koneksi kembali, namun  ada tekhnik agar koneksi ini dapat fleksibel. Cara yang paling bagus untuk koneksi ini adalah dengan memanfaatkan savesetting, savesetting tersedia dalam vb.net dan kita tinggal memakainya saja. Save setting disini bekerja dalam system computer, dimana saat akan terkoneksi dengan database maka aplikasi akan mengambil pengaturan yang telah kita setiing di savesetting. Sekiran penjelasan ini, mudah-mudahan dapat membantu teman-teman semu