Nama : Ahmad Nafis Syahroni
NIM : 13650131
Matkul : Prakt DBD
SUB
QUERY dan INDEX
A. Pembahasan
·
Pada bab kali ini akan membahas tentang
sub query dan indeks
·
Selain hal itu akan dibahas juga
mengenai cluster, kolom unik dan trim
B. Tujuan
· Mahasiswa memahami dan menggunakan sub
query dan indeks dalam pengelolaan database.
·
Mahasiswa memahami cara penggunaan
cluster, kolom unik dan trim.
C. Dasar
Teori
Sub query 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 = untuk
baris tunggal dan untuk baris berganda menggunakan in, not in atau <>,
< any, >, >=,<=. Penggunaan sub query dapat diterapkan pada
pernyataan SELECT, UPDATE, DELETE, dan INSERT. Sub query merupakan “query di dalam query” atau perintah
select yang berada di dalam perintah select lainnya.
Subquery
adalah perintah SELECT yang berada di dalam perintah SQL lain. Subquery sangat
berguna ketika kita ingin menampilkan data dengan kondisi yang bergantung pada data di dalam table itu sendiri.
1. Kegunaan-kegunaan
Subquery dalam memanipulasi data:
·
Meng-copy data dari satu tabel ke tabel lain
·
Menerima data dari inline view
·
Mengambil data dari tabel lain untuk kemudian di update ke tabel
yang dituju
·
Menghapus baris dari satu tabel berdasarkan baris dari tabel lain.
2.
ATURAN SUB QUERY
·
Klausa
ORDER BY tidak boleh digunakan .di subquery. ORDER BY
dapat digunakan ,di pernyataan SELECT luar.
·
Klausa
subquery SELECT harus beisi satu nama kolom tunggal atau ekspresi kecuali untuk
subquery-subquery menggunakan kata kunci EXIST.
·
secara
default, nama-nama kolom di subquery mengacu ke nama table diklausa FROM di
query lebih luar dengan mengkualifikasi nama kolom
·
Saat
subquery adalah salah satu dua operan dilibatkan di pembandingan, subquery
harus muncul di sisi kanan pembandingan.
·
Subquery
tdak boleh digunakan sebagai operan di ekspresi.
3. Perintah Select pada Sub Query
Subquery terdiri dari dua perintah
select. Perintah select pertama disebut Outer Query atau Query induk sedangkan
query yang berada pada klausa where disebut inner query. Inner query akan
dikerjakan terlebih dahulu dan hasilnya akan digunakan sebagai pembnding pada pencarian
data di klausa where outer query. Subquery dapat digunakan untuk menghasilkan nilai-nilai
bagi outer query pada saat kriteria pencarian yang dibutuhkan tidak diketahui. Sebagai
contoh kita ingin mengetahui semua harga jual dari barang yang lebih kecil dari
harga jual barang dengan kode 10011 sementara kita sendiri tidak tahu harga
jual barang dengan kode 10011.
4. Jenis-jenis Sub Query
a) Single-row
subquery
Merupakan subquery yang hanya menghasilkan satu baris dan
satu kolom data atau data tanggal.
b) Multi-row
subquery
Menghasilkan lebih dari satu row. Tanda pembanding yang
digunakan dalam multi row subquery adalah tanda pembanding jamak yaitu IN, ANY
dan ALL.
c) Multi-column
Subquery
Multi Column Subquery adalah subquery yang menghasilkan
lebih dari satu kolom. Biasa disebut juga pairwise subquery. Jumlah dan posisi
kolom dari outer query yang akan dibandingkan harus sama dengan jumlah dan
posisi kolom pada subquery. Setiap row pada outer query dibandingkan dengan
nilai dari multiple-row dan multiple-column pada subquery. Penghubung yang
digunakan biasanya IN
d) Correlated
subquery
Berbeda dari subquery didepan yang disebut scalar subquery
karena bagian subquery akan diproses terlebih dahulu untuk menyeleksi outer
querynya. Pada Corelated sebquery ini outer subquery akan diproses terlebih
dahulu kemudian hasilnya akan dijadikan rujukan untuk memproses subquery.
Disebut correlated subquery karena subquery dikerjakan berdasarkan rujukan data
dari out query. Pendefinisian korelasi antara outer query dan subquery dilakukan
pada klausa where di subquery. Pada correlated subquery, subquery akan
dikerjakan sebanyak jumlah baris di out query.
e) Inline
View
Merupakan cara untuk mengumpulkan data yang akan dianggap
oleh query utama sebagai sebuah tabel untuk keperluan pengaksesan query
Operator EXIST dan NOT EXIST
Kata kunci EXIST dan NOT EXIST dirancang hanya
untuk digunakan di subquery. Kata kunci-kata kunci ini menghasilkan nilai TRUE
atau FALSE EXIST akan mengirim nilai TRUE jika dan hanya jika terdapat
sedikitnya satu baris di table hasil yang dikirim oleh subquery. EXIST mengirim
nilai FALSE jika subquery mengirm table kosong NOT EXIST kebalian dan EXIST. Karena
EXIST dan NOT EXIST hanya memeriksa keberadaan baris-baris di table hasil
subquery.
Index adalah struktur data yang mengatur record data pada disk untuk mengoptimalkan beberapa jenis operasi pengambilan (retrieval) tertentu . • Index memungkinkan kita untuk secara efektif mengambil semua record yang memenuhi syarat pencarian pada field search key dari index. • Memungkinkan untuk membuat index tambahan pada kumpulan record data tertentu, masing– masing dengan search key yang berbeda untuk mempercepat operasi pencarian yang tidak didukung secara efisien oleh organisasi file yang digunakan untuk menyimpan record data .
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
Index adalah struktur data yang mengatur record data pada disk untuk mengoptimalkan beberapa jenis operasi pengambilan (retrieval) tertentu . • Index memungkinkan kita untuk secara efektif mengambil semua record yang memenuhi syarat pencarian pada field search key dari index. • Memungkinkan untuk membuat index tambahan pada kumpulan record data tertentu, masing– masing dengan search key yang berbeda untuk mempercepat operasi pencarian yang tidak didukung secara efisien oleh organisasi file yang digunakan untuk menyimpan record data .
D. Tugas
Praktikan
Tugas
praktikum kali ini masih menggunakan tabel pada praktikum sebelumnya :
1.
Tampilkan nama fakultas dan jumlah mahasiswa
yang mampunyai ketentuan nama fakultas yang dimunculkan dengan jumlah
mahasiswanya terkecil!
Ini Data pada praktikum sebelumnya
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!
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!
E. Kesimpulan
Subquery IN : subquery yang digunakan untuk menghasilkan 1(satu) kolom tapi boleh beberapa baris.
Subquery IN : subquery yang digunakan untuk menghasilkan 1(satu) kolom tapi boleh beberapa baris.
Subquery EXISTS : subquery yang
dapat menghasilkan satu atau lebih kolom.
Subquery ALL/SOME : Subquery yang
mana hasil yang dikembalikan lebih dari satu.
F. Kritik
Saran
Mohon maaf mbak aslep laporan saya telat,. karena saya lagi sakit.
Mohon maaf mbak aslep laporan saya telat,. karena saya lagi sakit.
G. Manfaat
Pembaca
Pembaca dapat ilmu tentang bab ini,. yaitu sub query dan index,. dan akan mengetahui bagaimana query-query nya. akan lebih baiknya pembaca menerapkannya dan mempraktekan. sekian trimakasih
Pembaca dapat ilmu tentang bab ini,. yaitu sub query dan index,. dan akan mengetahui bagaimana query-query nya. akan lebih baiknya pembaca menerapkannya dan mempraktekan. sekian trimakasih
H. Daftar
Pustaka
http://purnamakue.blogspot.com/2013/01/sub-query.html
http://tetiseptiani.blogspot.com/2012/06/pengertian-index.html
http://blog.akakom.ac.id/romaariwibowo/penggunaan-sub-query/
http://tetiseptiani.blogspot.com/2012/06/pengertian-index.html
http://blog.akakom.ac.id/romaariwibowo/penggunaan-sub-query/
Modul
Praktikum
0 comments:
Post a Comment