Sunday, November 9, 2014

SUB QUERY DAN INDEKS

Indeks
Indeks disini berguna dalam suatu pencarian nilai atau data dalam database. Dalam suatu kasus ketika mengakses sebuah tabel biasanya DBMS akan membaca seluruh tabel baris perbaris hingga selesai. Ketika baris sangat banyak dan hasil dari query hanya sedikit, maka hal ini sangat tidak efisien. Seperti halnya ketika kita membaca sebuah buku dan ingin mencari kata atau istilah tertentu dalam buku maka biasanya akan di cari dengan membuka setiap halaman dari awal sampai akhir. Dengan adanya indeks buku maka kita cukup dengan membuka indeks, sehingga akan cepat dalam pencarian kata tersebut. PostgreSQL tidak bisa membuat indeks dengan otomatis, sehingga user dapat membuat indeks tersebut untuk sering kali digunakan kolom, biasanya dalam clause WHERE. Berikut struktur SQL :

CREATE INDEX nama_index ON nama_tabel (nama kolom);
indeks sebaiknya jangan digunakan pada tabel atau kolom yang sangat jarang atau tidak pernah diakses. Selain untuk perintah SELECT Indeks juga bermanfaat untuk UPDATE dan DELETE yang menggunakan kondisi pencarian. Sedangkan Unique index mirip dengan indeks tetapi lebih digunakan untuk mencegah duplikasi nilai yang terdapat dalam tabel. Jadi dengan adanya unique index berarti pembaca tidak dapat meng-insert nilai yang sama dalam sebuah tabel. Berikut struktur SQL nya :
CREATE UNIQUE INDEX nama_index ON nama_tabel (nama kolom);
Untuk menghapus index berikut strukturnya :
DROP INDEX Nama_index;

Agar lebih jelasnya cek gambar dibawah ini :

Check
Check berfungsi untuk melakukan pembatasan nilai masukan dalam sebuah kolom, sebagai contoh misalkan kita ingin agar kolom gender yang terdiri dari satu karakter hanya memiliki dua pilihan karakter yaitu M (male) atau F (Fimale) ini dapat kita seting dengan menggunakan CHECK. Dengan menggunakan CHECK maka sebuah kolom hanya bisa diisi dengan data yang memenuhi kriteria dalam CHECK. Agar lebih jelasnya cekgambar dibawah ini :
 

SELECT INTO STATEMENT
Query select into statement merupakan query SQL yang digunakan untuk mengopi informasi dari tabel ke tabel yang lain tanpa membuat tabel sebelumnya.
agar lebih jelasnya cek gambar berikut:

Fungsi Trim
Suatu ketika pasti akan memiliki data yang di dalamnya terdapat spasi kosong yang tidak diperlukan, misalnya spasi ganda. Jika ada masalah seperti ini, kita dapat membersihkan spasi-spasi kosong yang tidak diperlukan menggunakan fungsi TRIM, RTRIM, dan LTRIM. Ketiga fungsi ini memiliki bentuk penggunaan sebagai berikut :
1. RTRIM : digunakan untuk membersihkan spasi kosong yang ada di bagian kanan (Right) String.
2. LTRIM : digunakan untuk membersihkan spasi kosong yang ada di bagian kiri (Left) String.
3.TRIM : digunakan untuk membersihkan spasi kosong yang ada di bagian kiri, kanan, maupun  tengah String
Dalam penggunaannya, fungsi TRIM memiliki tiga opsi. Ketiga opsi ini dapat digunakan untuk menentukan karakter apa yang akan dihapus dari suatu String. Jadi, fungsi TRIM juga dapat menghilangkan karakter tertentu (bukan spasi kosong saja) dari suatu string. Opsinya sebagai berikut :
- LEADING : merupakan opsi untuk menghilangkan karakter terpilih yang ada di sebelah kiri. Parameter Leading diartikan sebagai sufik dari karakter yang ada.
- TRAILING : merupakan opsi untuk menghilangkan karakter terpilih yang ada di sebelah kanan String. Parameter Trailing diartikan sebagai sufik dari karakter yang ada.
- BOTH : merupakan opsi yang dapat menangani parameter Leading maupun Trailing.
Agar lebih jelasnya cek gambar berikut :


Ada beberapa perbedaan yang mencolaok pada apenggunaan insert into statement. Padapostgres penggunaan ini tanpa harus membuat tabel baru langsung bisa menggunakan queri ini, sedang pada MySQL penggunaan query Inssert Into Statement harus membuat tabel baru.
Berikut Perbrdaan Querinya:
Postgrees : select nim_mah, nama_mah, alamat_mah, nama_fak into identitas4 from mahasiswa, fakultas where mahasiswa.id_fak=fakultas.id_fak;
MySQL : insert into identitas (nim_mah, nama_mah, alamat_mah, nama_fak) select nim_mah, nama_mah, _mah, nama_fak from mahasiswa, fakultas where mahasiswa.id_fak=fakultas.id_fak;

SUMBER : Modul Praktikum 7
                    SUMBER

No comments:

Post a Comment