Kamis, 13 November 2014

BAB VII

Sub Query dan Indeks


Bahasan:
  • Pada bab kali ini akan membahas tentang sub query dan indeks
  • Selain hal itu akan dibahas juga mengenai cluster, kolom unik dan trim
Tujuan:

-          Mahasiswa memahami dan menggunakan sub query dan indeks dalam pengolahan database.
-          Mahasiswa memahami cara penggunaan cluster, kolom unik dan trim.






Landasan Teori

SUB QUERY

Subquery atau query Nested merupakan bentuk query yang terdapat dalam query yang lain. Subquery dapat ditempatkan dalam klausa where, having, from bersama dengan operator perbandingan seperti = atau in,not in atau <>, < any, >, >=,<=,
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 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);
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 pada BAB. 2 berikut 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. Dengan menggunakan CHECK maka sebuah kolom hanya bisa diisi dengan data yang memenuhi kriteria dalam CHECK.
Penggunaan 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 :
- 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];


Hasil Praktikum 
            Pada praktukum ini akan mempelajari dan membahas tentang sub query dan indeks serta cluster dan trim. Dalam praktikum yang telah dilaksanakan kita menyelesaikan beberapa soal yang pastinya berkaitan dengan sub query dan indeks. Berikut ini hasilnya :
-->1.Tampilkan nama fakultas dan jumlah mahasiswa yang mempunyai ketentuan fakultas yang dimunculkan dengan jumlah mahasiswa nya terkecil,


mysql




-->2. Tampilkan nama mahasiswa, nama fakultas, alamat dengan syarat nama fakultas sama dengan edi dan alamatnya tidak sama dengan luki,
mysql:



-->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...
Pertama kita buat dahulu index pada tabel mahasiswa di kolom alamat_mah, 
Untuk mengecek index yang sudah dibuat pada suatu tabel, kita tampilkan info seluruh tabel maka akan terlihat index yang sudah kita buat pada “Indexes”.
Selanjutnya kita buat lagi index unik yang ada pada tabel fakultas di kolom nama_fak,
mysql :


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




--> 5. Pindahkan data dari tabel mahasiswa, fakultas, jurusan ambil kolom nim, nama mahasiswa, nomor telp, nama fakultas, nama jurusan ke tabel baru yang dinamai „tabel identitas

mysql



--> 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.







mysql


--> 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!

mysql





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





 

mysql:





 Evaluasi

Dari hasil praktikum semua query pada  postgre sql dan mysql pada nomor 1-4 sama..
perbedaannya yaitu pada penggunaan select into jika pada mysql tidak bisa menerima perintah select into secara langsung namun query nya sbb : create table table_baruselect nama_kolom1, nama_kolom2from table_lama;
jika pada postgresql hanya memberi query : select nama_kolom1, nama_kolom2 into table_table_barufromtable_lama;



Kesimpulan :
  Setelah melakukan praktikum diatas dapt disimpulkan bahwa subquery adalah query dalam query dalam query, fungsinya yaitu untuk mengcopy data dari tabel satu ke yang lain, mengambil data dari tabel satu kemudian di update ke tabel yang baru, dan menghapus baris dari satu tabel berdasarkan baris tabel lain.
Indeks digunakan untuk menjaga redudansi atau duplikasi data pada kolom di dalam database.
Trim berfungsi untuk pembersih spasi kosong atau karakter yang tidak diperlukan.
Check berfungsi untuk membatasi nilai input.

Manfaat bagi pembaca:

 untuk menambah wawasan, dalam praktikum ini kita dapat mengetahui struktur query dalam query.
dan bisa mengetahui fungsi dari select into, indeks, kolom unik serta penggunaan trim.

Daftar Pustaka

solichin, Achmad.2010. MYSQL dari Pemula Hingga Mahir diakses melalui  http://achmaim.net/download/21/

Modul Praktikum Desain Basis Data 2014






1 komentar:

  1. Fluffy's favourites slot sites in 2020 - Shootercasino betway login betway login 온카지노 온카지노 5731NBA Week 9 Best Bets Against the Spread - Riders Casino

    BalasHapus