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
-
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,
--> 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
--> 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!
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;
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
Fluffy's favourites slot sites in 2020 - Shootercasino betway login betway login 온카지노 온카지노 5731NBA Week 9 Best Bets Against the Spread - Riders Casino
BalasHapus