Index Dalam PostgreSQL


Pendahuluan

1.INDEX

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 mem buat indeks dengan otomatis, sehingga user dapat membuat indeks tersebut untuk seringkali digunakan kolom, biasanya dalam clause

  • ketikkan CREATE INDEX [nama index] ON [nama tabel] (nama kolom);
Create Index

Klik Gambar untuk Memperjelas

2. KOLOM UNIQUE

Unique berfungsi untuk menjaga agar tidak terjadinya duplikasi nilai (kesamaan data) dalam sebuah kolom, hal ini dapat ditangani dengan membuat sebuah indeks unik atau fungsi unik sendiri pada kolom yang dimaksud. Unique ini sering digunakan dalam pembuatan primary key, karena dalam primary key tidak boleh terdapat dua atau lebih data yang salam dalam satu kolom. Berikut Struktur SQL saat pembuatan tabel baru :
CREATE TABLE [nama tabel] ([nama kolom] [tipe data] [unique]);
Ketika tabel sudah ada kita bisa menggunakan cara seperti pada BAB. 2 berikut
struktur SQL nya :

  • ALTER TABLE [nama tabel] ADD UNIQUE ([nama kolom]);
unik kolom

Klik Gambar untuk Memperjelas

3. CLUSTER

Perintah CLUSTER digunakan untuk melakukan perubahan pada tabel berdasarkan informasi pada Indeks, sehingga sebelum melakukan cluster terlebih dulu harus membuat indeks. Ketika sebuah tabel di cluster, maka secara fisik akan diurutkan kembali berdasarkan informasi dari indeks. Proses cluster hanya one-time operation artinya tidak bisa secara otomatis berulang seperti indeks, jadi meskipun terjadi perubahan maka tidak secara otomatis akan di cluster. Sebagai contoh misalnya kita ingin memindahkan kolom nama dari tabel mahasiswa ke sebuah tabel baru, kita tidak perlu terlebih dahulu membuat tabel baru tersebut karena perintah CLUSTER secara otomatis akan membuat tabel itu. Sehingga untuk memindahkan data yang berada dalam kolom tersebut cukup dengan menggunakan perintah SELECT, CLUSTER juga mendukung perintah ORDER BY dan WHERE untuk spesifikasinya, berikut struktur SQL yang digunakan :

  • CLUSTER [nama index] ON [nama tabel] ;
  • SELECT [nama kolom] INTO TABLE [nama tabel baru sebagai penyimpanan] FROM [nama tabel] ORDER BY [nama kolom untuk pengurutan] ;

Klik Gambar untuk Memperjelas

4. 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 (mail) atau F (Fimail) ini dapat kita  seting dengan menggunakan CHECK. Dengan menggunakan CHECK maka sebuah kolom hanya bisa diisi dengan data yang memenuhi kriteria dalam CHECK. Berikut query contoh pengunaan check :

Klik Gambar untuk Memperjelas

Setelah itu kita coba untuk memasukkan data yang memenuhi syarat dan tidak memenuhi syarat ;

Klik Gambar untuk Memperjelas

5. 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 memberikan spasi-spasi kosong yang tidak diperlukan menggunakan fungsi TRIM, RTRIM, dan LTRIM. Ketiga fungsi ini memiliki bentuk penggunaan sebagai berikut :

  • RTRIM : digunakan untuk membersihkan spasi kosong yang ada di bagian kanan (Right) String.
  • LTRIM : digunakan untuk membersihkan spasi kosong yang ada di bagian kiri (Left) String.
  • TRIM : digunakan untuk membersihkan spasi kosong yang ada di bagian kiri, kanan, maupun tengah String

Berikut Struktur SQL nya :
Select trim([nama kolom]) from [nama tabel];

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.

Berikut Struktur SQL nya :
Select trim(LEADING ‘[karakter, misal : -]’ from [nama  kolom]) from [nama tabel];

  •  Menggunakan trim Leading  dan Trim Trilling

Klik Gambar untuk Memperjelas

Sekian dari saya (long POsting) hehehe,.,Kalau ada salah tolong Di comment ok??

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s