SUB QUERY dan INDEKS


Pagi yang cerah sobat-sobat blogger,..
pagi ini membuat semangat baru untuk kembali ngoding bersama MySQL dan PostgreSQL, melihat lalu lalang para mahasiswa yang beragam mengingatkan ku pada koding-koding yang beragam pula, gak di sadari kita telah sampai pada bab 7 di mana membahas tentang 'SUB QUERY dan INDEKS' .
sebelum kita mulai ngoding, mari kita simak landasan teori berikuit...



A.    LANDASAN TEORI
Subquery atau Batin permintaan atau Query bersarangadalah query dalam query. SQL subquery biasanya ditambahkan dalam MANA Klausul pernyataan SQL. Sebagian besar waktu, subquery digunakan ketika Anda tahu bagaimana untuk mencari nilai menggunakan pernyataan SELECT, tetapi tidak tahu nilai yang tepat dalam database.
Subqueries adalah cara alternatif untuk kembali data dari beberapa tabel.
Subqueries dapat digunakan dengan pernyataan SQL berikut bersama dengan operator perbandingan seperti =, <,>,> =, <= Dll.

SELECT INTO statement adalah memilih data dari satu tabel dan menyisipkannya ke sebuah tabel baru.

INDEKS
Indeks disini berguna dalam suatu pencarian nilai atau data dalam database.
Dengan adanya indeks maka kita cukup dengan membuka indeks, sehingga akan cepat dalam pencarian kata tersebut. 
CREATE INDEX nama_index ON nama_tabel (nama kolom);
Contoh :-Pada tabel mahasiswa kita berikan index pada kolom alamat_mah untuk query sebagai berikut :
Create index alamat_mah on mahasiswa(alamat_mah);
Hasil :


indeks sebaiknya jangan digunakan pada tabel 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);
Contoh : -Pada tabel fakultas kita berikan index yang bersifat unik pada kolom nama_fak, untuk query sebagai berikut :
Create unique index unama_index on fakultas(nama_fak);
Hasil :

Kolom Unik
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 bukan primary key namun membutuhkan cek dupikasi agar tidak ada yang sama, karena dalam primary key sudah otomatis mempunyai sifat unik. 
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 ini :
struktur SQL nya :ALTER TABLE [nama tabel] ADD UNIQUE ([nama kolom]);

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. 

Trim
Trim di gunakan untuk membersihkan 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.

Nah  trim ini mempunyai 3 Opsi yaitu:
1.       LEADING : merupakan opsi untuk menghilangkan karakter terpilih yang ada di sebelah kiri. Parameter Leading diartikan sebagai sufik dari karakter yang ada.
2.       TRAILING : merupakan opsi untuk menghilangkan karakter terpilih yang ada di sebelah kanan String. Parameter Trailing diartikan sebagai sufik dari karakter yang ada.

3.       BOTH : merupakan opsi yang dapat menangani parameter Leading maupun Trailing. 
B.     LATIHAN
Nah, sekarang kita praktekkan teori di atas menggunakan PostgreSQL.
Pertama, kita cek tabel dulu, disini kita telah mempunyai dua tabel yaitu table mahasiswa dan fakultas, cara ceknya ketik:

1.      Tampilkan nama fakultas dan jumlah mahasiswa yang mampunyai ketentuan nama fakultas yang dimunculkan dengan jumlah mahasiswanya terkecil!


2.      Tampilkan nama mahasiswa, nama fakultas, alamat dengan syarat nama fakultas sama dengan edi dan alamatnya tidak sama dengan luki!


3.      Buatlah index di tabel mahasiswa(alamat). Kemudian buat lagi index yang bersifat unik pada tabel fakultas(fak_nama) kemudian amati perbedaannya ketika memasukkan data yang sama!
·         Ini adalah index tabel mahasiswa


·         Ini adalah index yang sifatnya unik pada tabel fakultas


4.      Buat kolom nama di mahasiswa menjadi unik dan inputkan 2 data yang sama. Kemudian amati perbedaannya !



5.      Pindahkan data dari tabel mahasiswa, fakultas ambil kolom nim, nama mahasiswa, alamat, nama fakultas ke tabel baru yang dinamai „tabel identitas‟.

6.      Buatlah contoh penggunaan check pada sub bab pembahasan CHECK. Kemudian masukkan beberapa data baik yang sesuai dengan criteria check maupun yang bukan dan amati perbedaannya.



7.      Inputkan data di tabel mahasiswa dimana pada kolom nama sebelum inputkan karakter dahulukan dengan spasi dan di akhiri dengan tanda “+” seperti berikut : “ andi cahyono++++”. kemudian munculkan seluruh data dan hilangkan spasi didepan!


8.      Munculkan data mahasiswa dengan hilangkan karakter “+” di akhir data dan karakter “a” di awal kata pada kolom nama!


Tugas Rumah menggunakan MYSQL
Pertama, kita cek tabel dulu, disini kita telah mempunyai dua tabel yaitu table mahasiswa dan fakultas, cara ceknya ketik:

1.      Tampilkan nama fakultas dan jumlah mahasiswa yang mampunyai ketentuan nama fakultas yang dimunculkan dengan jumlah mahasiswanya terkecil!


2.      Tampilkan nama mahasiswa, nama fakultas, alamat dengan syarat nama fakultas sama dengan edi dan alamatnya tidak sama dengan luki!


3.      Buatlah index di tabel mahasiswa(alamat). Kemudian buat lagi index yang bersifat unik pada tabel fakultas(fak_nama) kemudian amati perbedaannya ketika memasukkan data yang sama!
 ·         Ini adalah index tabel mahasiswa

 ·         Ini adalah index yang sifatnya unik pada tabel fakultas



4.      Buat kolom nama di mahasiswa menjadi unik dan inputkan 2 data yang sama. Kemudian amati perbedaannya !





5.      Pindahkan data dari tabel mahasiswa, fakultas ambil kolom nim, nama mahasiswa, alamat, nama fakultas ke tabel baru yang dinamai „tabel identitas‟.

6.      Buatlah contoh penggunaan check pada sub bab pembahasan CHECK. Kemudian masukkan beberapa data baik yang sesuai dengan criteria check maupun yang bukan dan amati perbedaannya.


7.      Inputkan data di tabel mahasiswa dimana pada kolom nama sebelum inputkan karakter dahulukan dengan spasi dan di akhiri dengan tanda “+” seperti berikut : “ andi cahyono++++”. kemudian munculkan seluruh data dan hilangkan spasi didepan!



8.      Munculkan data mahasiswa dengan hilangkan karakter “+” di akhir data dan karakter “a” di awal kata pada kolom nama!


C. PERBEDAAN POSGRE DAN MYSQL 
 Perbedaannya bisa kita liat pada nomor 2 dan 8 query pada nomor tersebut memang tidak di sediakan pada MySQL

D. KESIMPULAN
dari hasil koding yang telah kita buat di atas dan juga dari landasan teori, dapat saya simpulkan bahwa Indeks disini berguna dalam suatu pencarian nilai atau data dalam database.
PostgreSQL tidak bisa membuat indeks dengan otomatis, sehingga user
dapat membuat indeks tersebut untuk sering kali digunakan kolom, biasanya dalam
clause WHERE. 
E. Kritik  dan Saran
sekarang kita telah belajar tentang ‘Sub Query dan Indeks’, sedikit susah memahami koding-koding diatas ya,.. tapi bila kita sering berlatih dan terus mencoba tanpa bosan. Pasti kta cepat memahami koding-koding itu, layaknya kita memahami pasangan kita, yang awalnya banyak perbedaan, namun kita bisa menerima dia apa adanya, nah koding juga seperti itu, anggap aja koding perlu perhatian dari kita, ginamana cara perhatian sama koding ??
  • sering-sering buka aplikasi yang berkoding, diantaranya MySql, PostgreSql, Html,Php, Delphi dll.
  • Sering utak-atik koding, jika banyak error itu artinya selangkah menuju keberhasilan
  •  Koding juga butuh di pahami maka jangan pernah buat copy paste koding.




F. Daftar Pustaka

http://www.w3schools.com/sql/sql_select_into.asp
modul praktikum uin maliki malang

Komentar

Postingan populer dari blog ini

Pengertian Bahasa Lisan dan Tulis

Python Menghitung Jarak