Database merupakan kumpulan informasi yang disimpan di dalam komputer secara sistematik. Anda bisa membaca pengertiannya lebih lanjut ke sumbernya
disini. Ada banyak penyedia database yang berkembang saat ini seperti MySQL, PostgreSQL, SqLite dan lain sebagainya. Masing-masing memiliki fungsi dan karakteristik yang berbeda-beda. Pada kesempatan kali ini saya akan mengenalkan anda terlebih dahulu dengan query sql yang secara umum digunakan. Sebagai permulaan saya akan menggunakan SqLite.
Untuk mendownloadnya silahkan download langsung di situs resminya
disini. Untuk pengguna Windows silahkan pilih
sqlite-shell-win32-x86-3071700.zip setelah itu diekstrak dan ditempatkan di C:\Windows\system32 untuk menjalankannya cukup buka command prompt dan ketikkan perintah berikut
sqlite3 coba.db
Kode di atas adalah untuk menjalankan SqLite dan membuat database baru yang bernama coba (ingat jangan lupa untuk menambahkan ekstensi db di akhirnya). Setelah itu anda akan memasuki console sql seperti ini (sebagai contoh saya membuat database tersebut di desktop saya)
Query SQL sendiri pada umumnya terbagi menjadi 3 bagian, yakni DDL (Data Definition Language), DML (Data Manipulation Language), dan DCL (Data Control Language). Biasanya yang sering digunakan adalah DDL dan DML. Maka dari itu akan saya bahas satu per satu.
DDL (Data Definition Language) adalah statement yang digunakan untuk mendefinisikan skema atau struktur dari suatu database. Terdiri dari
- CREATE – membuat suatu objek dalam database.
- ALTER – mengubah struktur objek dari suatu database.
- DROP – menghapus objek dari suatu database.
- TRUNCATE – menghapus semua record dari sebuah tabel, termasuk semua alokasi ruang untuk record tersebut ikut dihapus.
- RENAME – mengganti nama suatu objek database.
Saya tidak membahas semua query tersebut, namun cukup pada bagian CREATE saja. Mari kita coba membuat sebuat tabel pada database yang sudah kita buat sebelumnya dengan kode berikut
CREATE TABLE MHS(
nim varchar(15) primary key,
nama varchar(25),
jenkel varchar(10),
alamat varchar(10),
notlp varchar(15)
);
Pada kode di atas adalah untuk membuat tabel dengan nama MHS dan field yang terdiri dari nim, nama, jenkel, alamat, notelp. Varchar merupakan tipe data dari masing-masing field (untuk mengetahui apa saja tipe data yang ada bisa dilihat
disini). Sedangkan angka yang ada di dalam kurung merupakan batas maksimal (size) pada field tersebut. Primary key merupakan nilai database yang digunakan untuk mengidentifikasi suatu baris dalam tabel. Pada contoh di atas logikanya adalah bahwa tiap mahasiswa pasti memiliki nim (nomor induk mahasiswa) yang berbeda-beda. Walaupun jika ada mahasiswa yang memiliki nama yang sama maka tetap nim mahasiswa tersebut pasti berbeda. Catatan: sql tidak case sensitive jadi jangan takut besar kecil suatu huruf, namun perhatikan buka tutup kurung, titik koma dan tanda petik.
Untuk mengetahui apakah tabel anda sudah dibuat cukup ketikkan .table maka akan tampil tabel apa saja yang ada di dalam database. Jika suatu saat anda lupa bentuk tabel yang sudah dibuat cukup mengetikkan .schema (nama tabel) maka akan tampil query yang anda ketikkan ketika membuat tabel tersebut.
Selanjutnya adalah DML (Data Manipulation Language) yang terdiri dari
- SELECT – mendapatkan data dari suatu database.
- INSERT – memasukkan data ke dalam sebuah tabel.
- UPDATE – mengubah data yang sudah ada dalam sebuah tabel.
- DELETE – menghapus record dari sebuah tabel, alokasi ruang tidak dihapus.
Sebagai permulaan kita akan memasukkan data pada tabel yang telah kita buat sebelumnya. Ada beberapa cara yang bisa digunakan untuk query insert yakni
INSERT INTO MHS VALUES("1111","kriptonhaz","laki-laki","Jakarta","085xxx");
INSERT INTO MHS (nim,nama,jenkel,alamat,notlp) VALUES("2222","Irfan","laki-laki","Semarang","085zzz");
Untuk baris pertama kita memasukkan nilai pada tabel MHS secara langsung dan memasukkan nilai-nilainya sesuai urutan field yang sudah di buat. Sedangkan pada baris kedua kita definisikan terlebih dahulu field apa saja yang akan kita isi, setelah itu berikan nilai pada field tersebut sesuai urutan.
Untuk melihat data yang sudah kita masukkan cukup ketikkan query
SELECT * from MHS;
maka akan tampil seperti ini
1111|kriptonhaz|laki-laki|Jakarta|085xxx
2222|Irfan|laki-laki|Semarang|085zzz
Untuk menampilkan data secara spesifik anda bisa menggunakan query
SELECT * from MHS Where nama = 'kriptonhaz';
SELECT * from MHS Where notelp LIKE '%085%';
Untuk baris pertama penggunaan sama dengan (=) akan menampilkan data pada field nama yang memiliki isi kriptonhaz, sedangkan pada baris kedua penggunaan LIKE akan menampilkan semua data yang memiliki nomor telpon yang ada karakter 085 (jadi walaupun keduanya memiliki nomor telepon yang berbeda tetap akan tampil karena keduanya memiliki nomor telepon yang terdapat karakter 085).
Query selanjutnya yakni update digunakan untuk memperbaharui data yang ada di dalam tabel. Sebagai contoh
UPDATE MHS set nama = "Irfansyah", alamat = "Cirebon" Where nim = "2222";
Pada query di atas maksudnya adalah merubah nama menjadi Irfansyah dan alamat menjadi Cirebon pada mahasiswa yang memiliki nim 2222. Jika tanpa where maka anda akan merubah keseluruhan data tersebut tanpa menyebutkan baris mana yang akan di rubah (inilah salah satu fungsi dari primary key).
Query terakhir yakni delete hampir sama dengan query selanjutnya yakni
DELETE from MHS WHERE nim = "2222";
Pada query ini cukup menyebutkan nama tabel dan spesifikasi baris mana saja yang akan di hapus.
Query-query yang sudah kita pelajari di atas merupakan dasar untuk anda bisa memulai menggunakan database pada sisi programming. Sebenernya ada tools yang sudah dalam bentuk GUI jadi cukup klik sana dan klik sini database beserta isinya mudah dibuat. Namun anda tidak bisa melakukan hal tersebut pada sisi pemrograman karena kita bermain kode bukan GUI. Tapi tenang pada postingan selanjutnya akan saya perkenalkan tools-tools terkait untuk memudahkan kita dalam mengolah database.
Jika anda ingin mencoba tanpa mengutak-atik system anda ada baiknya ke situs ini http://sqlfiddle.com. Sekarang saya rasa cukup sampai disini. Postingan selanjutnya akan saya bahas mengenai tools GUI terkait database dan juga dasar penggunaan database pada Java.