Praktikum
2013/20
14
Daftar
Isi
Daftar Isi...........................................................................................................................................2
Prakata ............................................................................................................................................4
1. Pengenalan dan Lingkungan Kerja MySQL
Tujuan ...................................................................................................................................5
Dasar teori .............................................................................................................................5
Praktik ...................................................................................................................................6
Evaluasi dan Pertanyaan.........................................................................................................8
Kesimpulan............................................................................................................................9
2. Database dan Tabel
Tujuan ...................................................................................................................................10
Dasar teori .............................................................................................................................10
Praktik ...................................................................................................................................14
Evaluasi dan Pertanyaan.........................................................................................................14
Kesimpulan............................................................................................................................14
3. Manipulasi dan Retrieve Data (bagian 1)
Tujuan ...................................................................................................................................15
Dasar teori .............................................................................................................................15
Praktik ...................................................................................................................................16
Evaluasi dan Pertanyaan.........................................................................................................17
Kesimpulan............................................................................................................................17
4. Manipulasi dan Retrieve Data (bagian 2)
Tujuan ...................................................................................................................................18
Dasar teori .............................................................................................................................18
Praktik ...................................................................................................................................21
Evaluasi dan Pertanyaan.........................................................................................................22
Kesimpulan............................................................................................................................22
5. Fungsi Agregat
Tujuan ...................................................................................................................................23
Dasar teori .............................................................................................................................23
Praktik ...................................................................................................................................24
Evaluasi dan Pertanyaan.........................................................................................................25
Kesimpulan............................................................................................................................25
6. Retrieve, Group, Filter dan Pattern Matching
Tujuan ...................................................................................................................................26
Dasar teori .............................................................................................................................26
Praktik ...................................................................................................................................27
Evaluasi dan Pertanyaan.........................................................................................................29
Kesimpulan............................................................................................................................29
Modul
Praktikum
2013/20
14
7. Relasi Tabel
Tujuan ...................................................................................................................................30
Dasar teori .............................................................................................................................30
Praktik ...................................................................................................................................31
Evaluasi dan Pertanyaan.........................................................................................................32
Kesimpulan............................................................................................................................33
8. Join
Tujuan ...................................................................................................................................34
Dasar teori .............................................................................................................................34
Praktik ...................................................................................................................................36
Evaluasi dan Pertanyaan.........................................................................................................37
Kesimpulan............................................................................................................................38
Modul
Praktikum
2013/20
14
Prakat
a
Dengan memanjatkan puji syukur kehadirat Allah SWT yang telah melimpahkan rahmat dan
karunia-Nya kepada penyusun, sehingga dapat menyelesaikan buku panduan praktik Basis Data ini.
Sholawat dan salam juga kita curahkan kepada baginda yang mulia Rosulullah SAW beserta
keluarga, sahabat dan pengikutnya hingga akhir zaman.
Buku ini merupakan salah satu bahan ajar pendukung untuk mata kuliah Basis Data.
Dari buku
ini
diharapkan
mahasiswa
dapat
dengan
mudah
mempelajari, memahami,
dan
mempraktikkan materi materi yang telah diajarkan pada kelas teori mata kuliah Basis Data.
Kemudian buku ini diharapkan
umum
di
luar
dapat
menjadi referensi
untuk
pemecahan
permasalahan
materi perkuliahan. Sebagian besar isi dari buku ini merupakan rangkuman dari
sumber-sumber yang telah dibuat penulis lain. Penyusun berharap agar buku ini dapat bermanfaat bagi
semua kalangan pembaca. Terima kasih untuk semuanya yang telah memberikan banyak kritik dan
saran serta dukungan dalam penyusunan buku ini.
Penyusun
Modul
Praktikum
2013/20
14
Dasar teori
MySQL adalah suatu perangkat lunak database relasi (Relational Database Management
System atau RDBMS),
dikembangkan sekitar tahun 1994 oleh sebuah perusahaan pengembang software dan konsultan database
bernama MYSQL AB yang berada di Swedia. Waktu itu perusahaan tersebut masih bernama TcX
DataKonsult AB, dan tujuan awal
dikembangkannya
MySQL
adalah
untuk
mengembangkan
aplikasi berbasis web pada client. MySQL menyebut produknya sebagai database open source
terpopuler di dunia. Berdasarkan riset dinyatakan bahwa bahwa di platform Web, dan baik untuk
kategori open source maupun umum, MySQL adalah database yang paling banyak dipakai. Menurut
perusahaan pengembangnya, MySQL telah terpasang di sekitar 3 juta komputer. Puluhan hingga
ratusan
bekerja
siang
malam memompa
data
bagi
para
pengunjungnya.
Format Perintah
Berikut adalah ketentuan-ketentuan memberi perintah pada MySQL:
Setiap perintah harus diakhiri dengan tanda titik koma , kecuali untuk perintahtertentu, misal :
quit
Setiap perintah akan disimpan dalam buffer (memori sementara) untuk menyimpan histori
perintah-perintah yang pernah diberikan.
Perintah-perintah dalam lingkungan MySQL tidak menerapkan aturan case sensitive, tetapi
case insensitive yaitu perintah bisa dituliskan dalam huruf besar atau pun huruf kecil.
Aturan case sensitive diterapkan pada penamaan objek-objek dalam database seperti
Modul
Praktikum
2013/20
nama database atau nama table, namun aturan ini hanya ada dalam lingkungan Unix dan Linux.14
Modul
Praktikum
2013/20
14
Praktik
1.
Koneksi ke MySQL.
Buka command prompt, masuk ke direktori \AppServ\MySQL\bin, kemudian ketik:
2.
mysql u namauser p
(enter)
(enter)
3.
\q
4.
Modul
Praktikum
5.
2013/20
14
6.
7.
8.
9.
Modul
Praktikum
10.
2013/20
14
11.
12.
13.
14.
15.
Modul
Praktikum
2013/20
14
4. Apa perbedaan pengetikan lebih dari satu perintah, yang dipisah dengan tanda koma (,) dan
tanda titik koma (;) ? (bandingkan hasil query percobaan 3 dan 6)
5. Bisakah kita melakukan operasi aritmatik dengan menggunakan perintah SQL ? Berikan contoh
yang lain ?
6. Haruskah kita mengetik perintah dalam satu baris ?
7. Bagaimana untuk mengakhiri atau membatalkan suatu perintah ?
8. Sebelum membuat tabel, langkah-langkah apa saja yang sebaiknya kita lakukan ?
(Berdasarkan percobaan di atas)
Kesimpulan
Modul
Praktikum
2013/20
14
Dasar teori
DDL (Data Definition Language) , DDL merupakan kelompok perintah yang berfungsi untuk
mendefinisikan atribut-atribut basis data, tabel, atribut(kolom), batasan-batasan terhadap suatu
atribut, serta hubungan antar tabel. Yang termasuk dalam kelompok DDL ini adalah
CREATE, ALTER, dan DROP.
a. Syntax Membuat Database : CREATE DATABASE namadatabase;
Namadatabase tidak boleh mengandung spasi dan tidak boleh memiliki nama yang sama
antar database. Berikut ini perintah untuk membuat database dengan nama rental :
CREATE DATABASE RENTAL;
Syntax tambahan untuk menampilkan daftar nama database yang ada pada mysql
menggunakan perintah :
SHOW DATABASES;
b. Memilih Database : USE namadatabase;
Sebelum membuat suatu tabel, terlebih dahulu harus memilih salah satu
database sebagai database aktif yang akan digunakan untuk menyimpan tabel-tabel, Berikut ini
perintah untuk menggunakan database dengan nama rental :
USE RENTAL;
c. Syntax Menghapus Database : DROP DATABASE namadatabase;
Database yang akan dihapus sesuai dengan namadatabase. Berikut ini
perintah untuk menghapus database dengan nama rental :
DROP DATABASE RENTAL;
1
0
Modul
Praktikum
d. Membuat Tabel : CREATE TABLE namatabel2 ( Field1 TipeData1,Field2
TipeData2);
2013/20
14
Namatabel tidak boleh mengandung spasi (space). Field1 dan TipeData1 merupakan ama
kolom pertama dan tipe data untuk kolom pertama. Jika ingin membuat tabel dengan
kolom lebih dari satu, maka setelah pendefinisian tipe data sebelumnya diberikan tanda
koma (,). Berikut ini perintah untuk membuat tabel dengan nama jenisfilm :
CREATE TABLE JENISFILM (JENIS CHAR(6), HARGA INT);
e. Menampilkan Tabel
Untuk menampilkan daftar nama tabel yang ada pada database yang sedang
aktif/digunakan (dalam hal ini database rental) :
SHOW TABLES;
f. Menampilkan Atribut Tabel : DESC namatabel;
Untuk menampilkan deskripsi tabel (dalam hal ini jenisfilm) syntaxnya adalah
:
DESC jenisfilm;
g. Syntax Menghapus Tabel : DROP TABLE namatabel;
Tabel yang akan dihapus sesuai dengan namatabel, berikut ini perintah untuk
menghapus tabel dengan nama jenisfilm :
DROP TABLE JENISFILM;
h. Mendefinisikan Null/Not Null : CREATE TABLE namatabel ( Field1 TipeData1
NOT NULL, Field2 TipeData2);
i. Mendefinisikan Nilai Default : CREATE TABLE namatabel (Field1 TipeData1
DEFAULT nilaidefault,Field2 TipeData2 DEFAULT nilaidefault);
Nilai default adalah nilai yang otomatis diberikan oleh sistem untuk suatu kolom
ketika ada penambahan baris baru, sementara nilai pada kolom tersebut tidak diisi oleh
pengguna. Pada kasus ini jenis film ini :
CREATE TABLE jenisfilm (jenis char(6) DEFAULT komedi, harga int
DEFAULT 0);
j.
1
1
Modul
Praktikum
CREATE TABLE namatabel(Field1
Field2 TipeData2);
2013/20
14
PRIMARY KEY,
Atau
CREATE
TABLE
namatabel
(
TipeData2, PRIMARY KEY(Field1));
Field1
TipeData1,
Field2
Atau
ALTER TABLE namatabel
KEY (namakolom);
ADD
CONSTRAINT
namaconstraint
PRIMARY
Coba buat perintah untuk membuat tabel jenisfilm dengan kolom jenis tipe
datanya char(6), harga tipe datanya int dengan mendefinisikan nilai not null dan primary
key untuk kolom jenis serta nilai default untuk kolom harga!.
k. Menghapus Primary Key Pada Tabel
Cara 1 : Jika primary key dibuat dengan menggunakan alter table :
ALTER TABLE namatabel DROP CONSTRAINT namaconstraint;
Cara 2 : Jika primary key dibuat melalui create table :
ALTER TABLE namatabel DROP PRIMARY KEY;
l. Menambah Kolom Baru Pada Tabel : ALTER TABLE namatabel ADD
fieldbaru tipe;
Namatabel adalah nama tabel yang akan ditambah fieldnya. Fieldbaru adalah
nama kolom yang akan ditambahkan, tipe adalah tipe data dari kolom yang akan
ditambahkan. Berikut ini perintah untuk menambah kolom keterangan dengan tipe data
varchar(25) :
ALTER TABLE JENISFILM ADD KETERANGAN VARCHAR(25);
Untuk meletakkan field diawal, tambahkan sintaks first :
ALTER TABLE PELANGAN ADD COLUMN KODE CHAR(5) FIRST;
Untuk menyisipkan field setelah field tertentu, tambahkan sintaks after :
ALTER TABLE PELANGAN ADD COLUMN PHONE CHAR(5) AFTER ALAMAT;
m. Mengubah Tipe Data atau Lebar Kolom Pada Tabel : ALTER TABLE NAMATABEL
MODIFY COLUMN FIELD TIPE
Namatabel adalah nama tabel yang akan diubah tipe data atau lebar kolomnya. Field
adalah kolom yang akan diubah tipe data atau lebarnya. Tipe adalah tipe data baru atau tipe
1
2
data
Modul
Praktikum
2013/20
14
1
3
Modul
Praktikum
lama dengan lebar kolom yang berbeda. Berikut ini perintah untuk mengubah tipe data
untuk kolom keterangan dengan char(20) :
2013/20
14
Kolom : ALTER
TABLE
namatabel
namabarukolom tipedatabaru;
CHANGE
COLUMN
TABLE
namatabel
DROP
COLUMN
1
4
Modul
Praktikum
2013/20
14
Praktik
1. Buat sebuah database dengan nama coba !
2. Buat sebuah tabel dengan nama mahasiswa di dalam database coba !
3.
4.
5.
6.
7.
8.
9.
10.
11.
Kesimpulan
1
5
Modul
Praktikum
2013/20
14
Dasar teori
DML (Data Manipulation Language) DML adalah kelompok perintah yang berfungsi untuk
memanipulasi data dalam basis data, misalnya untuk pengambilan, penyisipan, pengubahan dan
penghapusan data. Perintah yang termasuk dalah kategori DML adalah :
INSERT, DELETE, UPDATE dan SELECT.
1. Pengenalan dan Lingkungan Kerja MySQL
Tujuan
Setelah menyelesaikan modul ini, anda diharapkan dapat :
1.
2.
3.
Dasar teori
MySQL adalah suatu perangkat lunak database relasi (Relational Database
Management System
atau RDBMS),
seperti
halnya ORACLE, Postgresql, MS
SQL,
dan sebagainya. MySQL dikembangkan sekitar tahun 1994 oleh sebuah perusahaan
pengembang software dan konsultan database bernama MYSQL AB yang berada di Swedia.
Waktu
itu perusahaan
tersebut masih bernama TcX DataKonsult AB, dan tujuan
awal dikembangkannya MySQL adalah untuk mengembangkan aplikasi berbasis web
pada client. MySQL menyebut produknya sebagai database open source
terpopuler di dunia. Berdasarkan riset dinyatakan bahwa bahwa di platform Web, dan
baik untuk kategori open source maupun umum, MySQL adalah database yang
paling
banyak
dipakai. Menurut
perusahaan pengembangnya, MySQL telah terpasang di
sekitar 3 juta komputer. Puluhan hingga ratusan ribu situs mengandalkan
MySQL bekerja siang malam memompa data bagi para pengunjungnya.
1
5
Modul
Praktikum
2013/20
14
Format Perintah
Berikut adalah ketentuan-ketentuan memberi perintah pada MySQL:
Setiap perintah harus diakhiri dengan tanda titik koma , kecuali untuk
perintahtertentu, misal :
quit
untuk
1
6
Modul
Praktikum
2013/20
14
Prompt
Arti
mysql>
Siap menerima perintah baru
->
Menunggu baris berikut untuk perintah yang lebih dari satu baris
'>
Menunggu baris berikut, menunggu penutup string yang dimulai dengan tanda kutip
satu (')
">
Menunggu baris berikut, menunggu penutup string yang dimulai dengan tanda kutip
dua (")
`>
Menunggu baris berikutnya, menunggu penutup identifier yang dimulai dengan tanda
backtick (`)
1. INSERT
Perintah INSERT digunakan untuk menambahkan baris pada suatu tabel. Terdapat
dua cara untuk menambah baris, yaitu :
Cara 1 : Menambah baris dengan mengisi data pada setiap kolom :
INSERT INTO namatabel VALUES (nilai1,nilai2,nilai-n);
Cara 2 : Menambah baris dengan hanya mengisi data pada kolom tertentu :
INSERT INTO namatabel (kolom1,kolom2,kolom-n)
(nilai1,nilai2,nilai-n);
VALUES
Keterangan :
Jika data bertipe string, date atau time (contoh : action, horor, 2007-11-10)
maka pemberian nilainya diapit dengan tanda petik tunggal (horor) atau petik ganda
(horor). jika data bertipe numerik (2500, 400) maka pemberian nilainya tidak diapit tanda
petik tunggal maupun ganda.
2. DELETE
Perintah DELETE digunakan untuk menghapus satu baris, baris dengan
kondisi tertentu atau seluruh baris. Syntax :
DELETE FROM namatabel [WHERE kondisi];
1
5
Modul
Praktikum
2013/20
14
3. UPDATE
Perintah UPDATE digunakan untuk mengubah isi data pada satu atau
beberapa kolom pada suatu tabel. Syntax :
UPDATE namatabel SET kolom1 = nilai1, kolom2 = nilai2 [WHERE
kondisi];
Perintah dalam tanda [] bersifat opsional untuk mengubah suatu baris dengan
suatu kondisi tertentu.
4. SELECT
Perintah SELECT digunakan untuk menampilkan isi dari suatu tabel yang
dapat dihubungkan dengan tabel yang lainnya.
a. Menampilkan data untuk semua kolom menggunakan asterisk (*):
SELECT * FROM namatabel;
b. Menampilkan data untuk kolom tertentu :
SELECT kolom1,kolom2,kolom-n FROM namatabel;
c. Menampilkan data dengan kondisi data tertentu dengan klausa WHERE :
SELECT * FROM namatabel WHERE kondisi;
Beberapa operator perbandingan yang dapat digunakan pada klausa WHERE adalah
=(sama dengan) , > (lebih dari), < (kurang dari), < > (tidak sama dengan), >= (lebih
dari atau sama dengan), <= (kurang dari atau sama dengan). Adapun operator lain, yaitu :
AND, OR, NOT, BETWEEN-AND, IN dan LIKE.
Praktik
1. Buat sebuah database dengan nama coba
2. Buat sebuah tabel dengan nama pet di dalam database coba
1
6
Modul
Praktikum
2013/20
14
4.
5.
6.
7.
8.
9.
10.
Kesimpulan
1
7
Modul
Praktikum
2013/20
14
Dasar teori
a. Memberikan nama lain pada kolom : SELECT namakolomlama AS namakolombaru
FROM namatabel;
Berikut ini perintah untuk memberikan nama lain pada kolom jenis
menjadi jenis_film pada tabel jenisfilm :
SELECT JENIS AS TYPE FROM JENISFILM;
b. Menggunakan alias untuk nama tabel : SELECT namalias.jenis, namalias.harga
FROM namatabel namalias;
Berikut ini perintah untuk memberikan alias pada tabel jenisfilm :
SELECT J.JENIS, J.HARGA FROM JENISFILM J;
c. Menampilkan data lebih dari dua tabel : SELECT * FROM namatabel1,
namatabel2, namatabel-n;
Sebagai contoh buat table baru berikut :
1
8
Modul
Praktikum
2013/20
14
Contoh 1 : perintah untuk menampilkan data pada tabel jenisfilm yang mana data
pada kolom jenis-nya tercantum pada tabel film menggunakan IN :
SELECT * FROM JENISFILM WHERE JENIS IN (SELECT JENIS FROM FILM);
atau menggunakan EXISTS
SELECT * FROM JENISFILM WHERE EXISTS (SELECT * FROM FILM WHERE
HARGA > 2000);
Pada contoh di atas : SELECT JENIS FROM FILM disebut subquery, sedangkan
: SELECT * FROM JENISFILM berkedudukan sebagai query. Perhatikan, terdapat data
jenis dan harga pada tabel jenisfilm yang tidak ditampilkan. Hal ini disebabkan data pada
kolom jenis tidak terdapat pada kolom jenis di tabel film.
Contoh 2 : perintah untuk menampilkan data pada tabel jenisfilm yang mana data
pada kolom jenis-nya tidak tercantum pada tabel film menggunakan NOT IN :
SELECT * FROM JENISFILM WHERE JENIS NOT IN (SELECT JENIS FROM
FILM);
atau menggunakan NOT EXISTS
SELECT * FROM JENISFILM WHERE NOT EXISTS (SELECT * FROM FILM
WHERE HARGA > 2000);
e. Operator comparison ANY dan ALL
Operator ANY digunakan berkaitan dengan subquery. Operator ini menghasilkan TRUE
(benar) jika paling tidak salah satu perbandingan dengan hasil subquery menghasilkan nilai
TRUE. Ilustrasinya jika:
Gaji > ANY (S)
Jika subquery S menghasilkan G1, G2, ..., Gn, maka kondisi di atas identik dengan :
(gaji > G1) OR (gaji > G2) OR ... OR (gaji > Gn)
Contoh : perintah untuk menampilkan semua data jenisfilm yang harganya bukan
yang terkecil :
SELECT * FROM JENISFILM WHERE HARGA > ANY (SELECT HARGA FROM
JENISFILM);
Operator ALL digunakan untuk melakukan perbandingan dengan subquery. Kondisi
dengan ALL menghasilkan nilai TRUE (benar) jika subquery tidak menghasilkan
apapun atau jika perbandingan menghasilkan TRUE untuk setiap nilai query terhadap hasil
subquery.
1
9
Modul
Praktikum
2013/20
14
Contoh : perintah untuk menampilkan data jenisfilm yang harganya paling tinggi :
SELECT * FROM JENISFILM WHERE HARGA >= ALL (SELECT HARGA FROM
JENISFILM);
f.
Sintak ORDER BY
Klausa ORDER BY digunakan untuk mengurutkan data berdasarkan kolom
tertentu sesuai dengan tipe data yang dimiliki. Contoh : perintah untuk mengurutkan data film
berdasarkan kolom judul :
SELECT * FROM FILM ORDER BY JUDUL;
atau tambahkan ASC untuk pengurutan secara ascending (menaik) :
SELECT * FROM FILM ORDER BY JUDUL ASC;
atau tambahkan DESC untuk pengurutan secara descending (menurun) :
SELECT * FROM FILM ORDER BY JUDUL DESC;
g. Sintak DISTINCT
Distinct adalah kata kunci ini untuk menghilangan duplikasi. Sebagai Contoh, buat
sebuah tabel pelanggan yang berisi nama dan kota asal dengan beberapa record isi dan beberapa
kota asal yang sama. Kemudian ketikkan perintah berikut :
SELECT DISTINCT KOTA FROM PELANGGAN;
Dengan perintah di atas maka nama kota yang sama hanya akan ditampilkan satu
saja. h. UNION, INTERSECT dan EXCEPT
UNION merupakan operator yang digunakan untuk menggabungkan hasil
query, dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan
ditampilkan datanya harus sama. Berikut ini perintah untuk memperoleh data pada tabel
film dimana jenisnya action dan horor :
SELECT JENIS, JUDUL FROM FILM WHERE JENIS = ACTION UNION SELECT
JENIS, JUDUL FROM FILM WHERE JENIS = HOROR;
Perintah di atas identik dengan :
SELECT JENIS, JUDUL FROM FILM WHERE JENIS = ACTION OR JENIS =
HOROR;
Namun tidak semua penggabungan dapat dilakukan dengan OR, yaitu jika bekerja
pada dua tabel atau lebih.
2
0
Modul
Praktikum
2013/20
14
INTERSECT merupakan operator yang digunakan untuk memperoleh data dari dua
buah query dimana data yang ditampilkan adalah yang memenuhi kedua query tersebut
dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan
ditampilkan datanya harus sama.
SELECT * FROM namatabel1 INTERSECT SELECT * FROM namatabel2 ;
Pada MySQL tidak terdapat operator INTERSECT namun sebagai gantinya dapat
menggunakan operator IN seperti contoh 1 pada bagian Nested Queries.
EXCEPT / Set Difference merupakan operator yang digunakan untuk memperoleh data
dari dua buah query dimana data yang ditampilkan adalah data yang ada pada hasil query 1 dan
tidak terdapat pada data dari hasil query 2 dengan ketentuan jumlah, nama dan tipe kolom dari
masing-masing tabel yang akan ditampilkan datanya harus sama.
SELECT * FROM namatabel1 EXCEPT SELECT * FROM namatabel2;
Pada MySQL tidak terdapat operator EXCEPT namun sebagai gantinya dapat
menggunakan operator NOT IN seperti contoh 2 pada bagian Nested Queries.
Praktik
1. Buat tabel pegawai sebagai berikut :
2.
3.
4.
5.
6.
7.
8.
9.
10.
2
1
Modul
Praktikum
2013/20
14
11. Dari percobaan 10, terdapat 3 idmanajer yang sama dengan total record 6, sekarang tampilkan
idmanajer tanpa duplikasi idmanajer sehingga akan tampil 4 record dengan idmanajer
yang berbeda !
12. Tampilkan pegawai yang gajinya antara 1750000 - 1250000 !
13. Tampilkan tabel pegawai yang terurut berdasarkan namabelakang (dari a ke z)!
14. Tampilkan tabel pegawai yang diurutkan berdasarkan nama depan dengan urutan terbalik (dari
z ke a)!
Kesimpulan
2
2
Modul
Praktikum
2013/20
14
5. Fungsi Agregat
Tujuan
Setelah menyelesaikan modul ini, anda diharapkan dapat :
1. Mahir menggunakan perintah select untuk retrieve data
2. Mampu menggunakan fungsi agregat
Dasar teori
Aggregate Functions (COUNT, SUM, AVG, MIN, MAX)
a. COUNT
Perintah yang digunakan untuk menghitung jumlah baris suatu kolom pada tabel.
Contoh : perintah untuk menghitung jumlah baris kolom jenis pada tabel jenisfilm :
SELECT COUNT(JENIS) FROM JENIS FILM;
b. SUM
Perintah yang digunakan untuk menghitung jumlah nilai suatu kolom pada tabel.
Contoh : perintah untuk menghitung jumlah nilai kolom harga pada tabel jenisfilm :
SELECT SUM(HARGA) FROM JENIS FILM;
c. AVG
Perintah yang digunakan untuk menghitung rata-rata dari nilai suatu kolom pada
tabel. Contoh : perintah untuk menghitung rata-rata dari kolom harga pada tabel jenisfilm :
SELECT AVG(HARGA) FROM JENIS FILM;
d. MIN
Perintah yang digunakan untuk menampilkan nilai terkecil dari suatu kolom pada
tabel. Contoh : perintah untuk menampilkan nilai terkecil dari kolom harga pada tabel jenisfilm :
SELECT MIN(HARGA) FROM JENIS FILM;
e. MAX
Perintah yang digunakan untuk menampilkan nilai terbesar dari suatu kolom pada
tabel. Contoh : perintah untuk menampilkan nilai terbesar dari kolom harga pada
tabel jenisfilm :
SELECT MAX(HARGA) FROM JENIS FILM;
2
3
Modul
Praktikum
2013/20
14
Praktik
1. Gunakan tabel pegawai (lihat hal. Terakhir), tampilkan pegawai yang gajinya 2.000.000,
1.250.000 dan 1.500.000 dalam satu perintah select !
2. Tampilkan pegawai yang gajinya bukan 2.000.000 dan 1.250.000 !
3. Tampilkan pegawai yang tunjangannya NULL !
4. Tampilkan pegawai yang tunjangannya tidak NULL !
5. Tampilkan/hitung jumlah baris/record tabel pegawai !
6. Tampilkan/hitung jumlah total gaji di tabel pegawai !
7. Tampilkan/hitung rata-rata gaji pegawai !
8. Tampilkan gaji terkecil !
9. Tampilkan gaji terbesar !
10. Gunakan tabel pet (lihat hal. Terakhir), Tampilkan jumlah hewan yang dimiliki setiap owner.
Tampilan setelah SQL dijalankan :
14. Tampilkan jumlah hewan berdasarkan spesis (cat dan dog saja) dan jenis kelamin !
2
4
Modul
Praktikum
2013/20
14
15. Tampilkan jumlah hewan berdasarkan jenis kelamin yang diketahui saja !
Kesimpulan
2
5
Modul
Praktikum
2013/20
14
Dasar teori
a. RETRIEVE SQL dengan GROUP BY dan HAVING
Klausa GROUP BY digunakan untuk melakukan pengelompokan data.
Sebagai contoh, terdapat tabel film dengan data sebagai berikut :
2
6
Modul
Praktikum
2013/20
14
Fungsi string digunakan untuk menampilkan data yang didasarkan pada pencarian
dengan karakter. Pada pencarian data digunakan sintak LIKE, pada dasarnya sintak LIKE
hampir sama dengan sintak =
, bedanya kalau = maka pencarian karakater harus
sesuai dengan kata yang kita buat tetapi dengan menggunakan LIKE karakater yang akan
kita tampilkan tidak harus lengkap hanya dengan menuliskan salah satu huruf atau kata saja,
maka semua data yang kita cari akan ditampilkan.
SQL mempunyai 2 simbol khusus yang dipakai untuk pencocokan pola :
% : untuk mencocokkan karakter sebelum atau sesudah tanda %;
_ : mencari karakter sebanyak jumlah tanda _.
data
pada
kolom
tertentu
yang
Praktik
1. Buat tabel penjualan :
2. Isi data :
2
7
Modul
Praktikum
2013/20
14
TOTAL
50
2
8
Modul
Praktikum
2013/20
14
Kesimpulan
2
9
Modul
Praktikum
2013/20
14
7. Relasi Tabel
Tujuan
Setelah menyelesaikan modul ini, anda diharapkan dapat :
1. Membuat relasi tabel
2. Membuktikan integritas data dengan tabel yang ter-relasi
Dasar teori
Relasional Database dan RDBMS, Relational Database sebenarnya adalah salah satu konsep
penyimpanan data, sebelum konsep database relasional muncul sebenarnya sudah ada dua model
database yaitu Network Database dan Hierarchie Database. Dalam database relasional, data
disimpan dalam bentuk relasi atau tabel dua dimensi, dan antar tabel satu dengan tabel lainnya
terdapat hubungan atau relationship, sehingga sering kita baca di berbagai literatur, database
didefinisikan sebagai kumpulan dari sejumlah tabel yang saling hubungan atau keterkaitan.
Nah, kumpulan dari data yang diorganisasikan sebagai tabel tadi disimpan dalam bentuk data
elektronik di dalam hardisk komputer. Untuk membuat struktur tabel, mengisi data ke tabel,
mengubah data jika diperlukan dan menghapus data dari tabel diperlukan software.
Software yang digunakan membuat tabel, isi data, ubah data dan hapus data
disebut Relational Database Management System atau dikenal dengan singkatan RDBMS sedangkan
perintah yang digunakan untuk membuat tabel, isi, ubah dan hapus data disebut perintah SQL yang
merupakan singkatan dari Structure Query Language. Jadi, setiap software RDBMS pasti bisa
digunakan untuk menjalankan perintah SQL.
Sebenarnya fungsi RDBMS bukan cuma buat tabel, isi data, ubah dan hapus data, untuk
manajemen data dalam skala besar dan agar bisa mendukung proses bisnis yang kontinyu dan
real time. Suatu RDBMS dituntut untuk mempunyai kemampuan manajemen user dan keamanan
data, backup dan recovery data serta kemampuan lainnya yang berkaitan dengan kecepatan
pemrosesan data (performance).
Primary key adalah
suatu
field
atau
kombinasi
field
yang
secara
unik
mengidentifikasi setiap record di dalam tabel. Contoh NIM yang terdapat pada tabel mahasiswa.
Foreign key adalah primary key pada suatu tabel yang di masukkan pada tabel lain dan
dijadikan salah satu key pada tabel tersebut.
References menunjukkan bahwa foreign key di suatu tabel merupakan key pada tabel lain.
Pada perubahan suatu record baik itu update atau delete, dapat diikuti dengan kata : cascade, restrict
atau set null. Kita bisa atur sesuai kebutuhan.
3
0
Modul
Praktikum
2013/20
14
Contoh :
-
Praktik
1. Buat sebuah database dengan nama Akademik.
2. Buat tabel mahasiswa dengan tipe innodb :
3. Buat tabel dosen_pembimbing dengan tipe innodb dan relasikan ke tabel mahasiswa
dengan mengambil key nim dari tabel mahasiswa sebagai foreign key di tabel
dosen_pembimbing :
dan
Note : untuk mengisi data yang fieldnya AUTO_INCRMENT maka sebutkan NULL untuk
field tersebut.
3
1
Modul
Praktikum
2013/20
14
3
2
Modul
Praktikum
2013/20
14
Buat relasi untuk tabel-tabel di atas dan buktikan relasi tersebut dengan melakukan update
atau delete terhadap suatu tabel berpengaruh terhadap tabel lainnya!
Kesimpulan
3
3
Modul
Praktikum
2013/20
14
8. Join
Tujuan
Setelah menyelesaikan modul ini, anda diharapkan dapat :
1. Mengenal beberapa operasi join
2. Mampu melakukan operasi join beberapa tabel
Dasar teori
Operasi Join, Join merupakan operasi yang digunakan untuk menggabungkan dua tabel
atau lebih dengan hasil berupa gabungan dari kolom-kolom yang berasal dari tabel-tabel tersebut. Pada
join sederhana, tabel-tabel digabungkan dan didasarkan pada pencocokan antara kolom pada tabel
yang berbeda. Berikut ini perintah untuk menampilkan kolom judul dari tabel film dan kolom
harga dari tabel jenisfilm :
3
4
FILM.JENIS);
Modul
Praktikum
2013/20
14
3
5
Modul
Praktikum
2013/20
14
c. Right Join
Right join digunakan untuk menampilkan semua data dari tabel sebelah kanan perintah
right join beserta pasangannya dari tabel sebelah kiri. Meskipun terdapat data dari
sebelah kanan tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya
berupa nilai NULL.
SELECT * FROM JENISFILM RIGHT JOIN FILM ON (JENISFILM.JENIS =
FILM.JENIS);
d. Natural Join
Natural join digunakan untuk menampilkan semua data dari dua tabel dimana jika
terdapat kolom yang sama, maka yang akan ditampilkan hanya salah satunya saja, yaitu
kolom dari tabel sebelah kiri perintah natural join.
SELECT * FROM JENISFILM NATURAL JOIN FILM;
Terdapat Penggabungan Natural Join dengan Left dan Right Join :
1. Natural Left Join
Natural left join digunakan untuk menampilkan semua data dari tabel sebelah kiri
perintah natural left join beserta pasangannya dari tabel sebelah kanan. Meskipun terdapat
data dari sebelah kiri tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya
berupa nilai NULL.
SELECT * FROM JENISFILM NATURAL LEFT JOIN FILM;
2. Natural Right Join
Natural right join digunakan untuk menampilkan semua data dari tabel sebelah kanan
perintah natural right join beserta pasangannya dari tabel sebelah kiri. Meskipun terdapat
data dari sebelah kanan tidak memiliki pasangan, tetap akan ditampilkan dengan
pasangannya berupa nilai NULL.
SELECT * FROM JENISFILM NATURAL RIGHT JOIN FILM;
3
6
Modul
Praktikum
2013/20
14
Praktik
1. Buat sebuah database dengan nama sewamobil :
2. Buat tabel mobil dan isi datanya :
3
7
Modul
Praktikum
2013/201
4
Modul
Praktikum
Kesimpulan
2013/2014