BAB
I
MAKSUD
DAN TUJUAN PRAKTIKUM
I.1 Maksud
Praktikum
1. Membahas
tentang sub query dan indeks
2. Membahas cluster,
kolom unik dan trim
I.2 Tujuan
Praktikum
1. Memahami dan menggunakan sub query dan indeks dalam pengelolaan
database.
2. Memahami cara penggunaan cluster, kolom unik dan trim
BAB
II
DASAR
TEORI
1) SELECT INTO
STATEMENT
Query select into
statement merupakan query SQL yang digunakan untuk mengopi informasi dari tabel
ke tabel yang lain tanpa membuat tabel sebelumnya. Berikut struktur query
penggunaan select into statement untuk mengopi semua data dari tabel1 ke tabel
yang baru :
SELECT * INTO
newtable FROM table1;
Berikut struktur
query penggunaan select into statement untuk mengopi data berdasarkan kolom
tertentu dari tabel1 ke tabel yang baru :
SELECT
column_name(s) INTO newtable [IN externaldb] FROM table1;
2) SUB QUERY
Sub query
menghasilkan sebuah tabel yang merupakan
bagian dari tabel atau view yang diidentifikasikan pada klausa FROM. Pembagian
ini dapat digambarkan seperti urutan operasi, dimana hasil dari suatu operasi adalah
input bagi operasi lain.
Subquery diperlukan
pada saat hasil query tidak berhasil dilakukan dengan hanya melalui satu tabel
saja, juga pada saat hasil suatu query digunakan pada klausa WHERE query
lainnya. Hasil yang diperoleh dari SUBSELECT tidak dapat ditampilkan oleh
“main” SELECT.
Urutan operasi pada
Subquery adalah :
1. klausa FROM
2. klausa WHERE
3. klausa GROUP
BY
4. klausa HAVING
5. klausa
SELECT
• Sintaks :
SELECT ( * | (ekspresi_kolom) ….
FROM (nama_tabel) ….
[WHERE
kondisi ]
[GROUP BY (nama_kolom) …. ]
[HAVING
kondisi_having ]
3) INDEKS
Index adalah objek
pada MySQL yang berisi data yang terurut - dari nilai-nilai pada satu atau
lebih field dalam suatu table. Sama seperti daftar isi pada sebuah buku, index
terutama digunakan untuk mempercepat
pencarian terhadap suatu set data dengan kondisi tertentu - yang melibatkan
kombinasi field yang sudah didefinisikan dalam suatu index. Tanpa index,
pencarian data biasanya akan memakan waktu lama, terutama jika data sudah dalam
skala jumlah yang sangat besar.
Syntax pada MySQL
untuk membuat suatu index adalah sebagai berikut :
CREATE
[UNIQUE|FULLTEXT|SPATIAL] INDEX index_name
[index_type]
ON tbl_name (index_col_name,...)
[index_type]
index_col_name:
col_name [(length)] [ASC | DESC]
index_type:
USING {BTREE | HASH}
4) KOLOM UNIK
Unique Constraint
berguna mengidentifikasi setiap record dalam tabel database. UNIQUE dan PRIMARY
KEY constraints memberikan jaminan bagi keunikan untuk kolom atau set kolom. PRIMARY
KEY constraints otomatis memiliki UNIQUE constraint yang didefinisikan padanya.
Catatan: Kita dapat
memiliki banyak UNIQUE constraint per table, tetapi hanya satu PRIMARY KEY
constraints per table.
CREATE TABLE
nama_tabel (nama_kolom tipe_data unique);
Namun, ketika tabel
sudah ada, maka kita tinggal menambahkan unique pada kolomnya.
ALTER TABLE
nama_tabel ADD UNIQUE (nama_kolom);
Untuk menghapus
unique berikut caranya :
ALTER TABLE
nama_table DROP CONSTRAINT nama_constraint;
5) 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 yaitu M (male) atau F (female) ini dapat kita setting
dengan menggunakan check. Dengan menggunakan check maka sebuah kolom hanya bisa
diisi dengan data yang memenuhi kriteria dalam check.
6) 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.
Source
>> Mustafa,
Aziz.Modul Desain Basis Data.pdf
ilab.gunadarma.ac.id/modul/newpta2011-2012/mysql/m7.pdf
Hasil Praktikum
& Tugas
Menggunakan PostgreSQL
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!
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!
Menggunakan MySQL (Xampp)
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!
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!
Evaluasi Perbandingan
Pada praktikum kali ini, semua query pada PostgreSQL dan MYSQL pada
nomer 1-4 adalah sama.
Namun pada nomor 5 terdapat perbedaan. Dalam DBMS MySQL tidak bisa
menerima perintah select into. Hal ini terjadi mungkin karena PostgreS lebih
unggul dari MySQL. Jadi beberapa query yang dalam postgres dapat dijalankan
namun dalam mysql tidak.
Dalam nomor 6 juga terdapat perbedaan. Dalam penggunaan check,
PostgreS dapat berjalan sesuai yang kriteria. Jika diluar kriteria maka tidak
akan berjalan. Namun dalam MySQL juga dapat berjalan. Perbedaannya dalam mysql
meskipun insert data tidak sesuai kriteria masih dapat berjalan.
Dan yang terakhir dalam nomor 8. Fungsi
trim dalam MySQL juga tidak dapat berfungsi karena dalam MySQL harus diikuti
nama String bukan nama kolom seperti pada PostgreS.
Kesimpulan
Setelah melakukan praktikum kali ini, ternyata Sub query dalam SQL
merupakan sebuah query didalam query atau disebut juga dengan nested query. Dan
pada praktikum ini kita juga mempelajari select into, indeks, kolom unik check
serta trim.
Saran
Perlu dalam meningkatkan belajar atau refensi yang lebih terutama
latihan dalam DBMS PostgreSQL dan MYSQL agar kalian dapat menguasai kedua DBMS
tersebut.
Kritik
Dalam laporan ini masih banyak
terdapat kesalahan dan kekurangan karena terbatasnya praktikan dalam penguasaan
2 DBMS ini.
Manfaat
Dalam praktikum kali ini kita dapat
mengetahui struktur query dalam query. Pembaca juga dapat mengetahui fungsi
select into, indeks, kolom unik serta penggunaan trim. Dan juga telah
terpaparkan perbedaan Antara dua DBMS tersebut.
Salam
semangat J
0 komentar:
Posting Komentar