Praktikum I
Tujuan :
1. Praktikan lebih memahami dan mengimplementasikan tentang ERD 2. Praktikan lebih memahami dan mengimplementasikan tentang DDL
dan DML
Tugas Pendahuluan
1. Buatlah ERD database (Gunakan Power desainer) a. Nrp genap : data base perpusatakaan
b. Nrp ganjil : data base Rumah Makan
Tugas Praktikum :
1. Desain tabel minimal 5 tabel, yang sesuai dengan tugas pendahuluan di atas. 2. Gunakan perintah SQL untuk membuat tabel, isi tabel masing masing 10 data 3. Buat Perintah DDL dan DML dari tabel di atas yang terdiri dari insert,
update, delete, tambah baris, tambah kolom.
4. Lakukan pengurutan data menggunkan orderby, gunakan juga fungsi agregasi AVG, MIN, MAX, SUM, COUNT pada beberapa tabel
MODUL VII
DML (DATA MANIPULATION LANGUAGE)
Tujuan :
Praktikan dapat memahami dan memanipulasi data dalam database dengan lebih luas lagi.
Tugas Pendahuluan
1. Apa yang anda ketahui tentang JOIN, UNION, INTERSECT, EXCEPT, dan operator comparison ANY dan ALL?
2. Buat contoh perintah SQL untuk SELECT yang menggunakan JOIN, UNION, INTERSECT, EXCEPT, dan operator comparison ANY dan ALL !
Dasar Teori
Perintah SELECT adalah perintah untuk menampilkan data yang ada di dalam suatu tabel, yang mana dalam pengembangannya perintah ini akan menjadi sebuah perintah yang sangat penting dan berpengaruh hingga saat pemrograman di stored procedures dan triggers. Selain perintah-perintah SELECT yang dibahas dalam modul V dan VI, masih ada banyak perintah-perintah SELECT lain yang lebih luas lagi dalam penggunaan perintah SELECT.
Praktikum
1. Membuat Database pergudangan, yang terdiri dari 6 tabel yaitu pelanggan, pesan, barang, karyawan, stok dan transaksi.
45
2. Buat Tabel Pelanggan
3. Buat Tabel STOK
stok id_stok jumlah_barang <pi > Integer Variable characters (25) Identifier_1 <pi>
4. Buat table pesan dan transaksi seperti di bawah ini i d_pesan tgl j uml ah pesan <pi > Integer Date
Vari abl e characters (25)
Identi fi er_1 <pi >
i d_transaksi tgl _masuk tgl _kel uar j um l ah_masuk j um l ah_kel uar transaksi <pi > Integer Date Date
Vari abl e characters (25) Vari abl e characters (25) Identi fi er_1 <pi >
5. Dari semua table di atas, inputkan data masing-masing 5 data, contoh :
6. JOIN dan KUNCI
Terkadang kita harus memilih data dari dua tabel atau lebih untuk mendapatkan hasil yang komplit. Oleh karena itu, kita harus melakukan sebuah JOIN. Join merupakan operasi yang digunakan untuk menggabungkan dua tabel atau lebih dengan hasil berupa gabungan dari kolom-kolom yang berasal dari tabel-
47
tabel tersebut. Pada join sederhana, tabel-tabel digabungkan dan didasarkan pada pencocokan antara kolom pada tabel yang berbeda.Tabel-tabel dalam sebuah basisdata dapat dihubungkan satu sama lain menggunakan kunci. Kunci utama adalah sebuah kolom dengan nilai unik untuk masing-masing baris. Tujuannya adalah menggabungkan data antar tabel tanpa mengulangi semua data pada setiap tabel. Kita bisa menggunakan kata kunci JOIN untuk memilih data. Ada tiga macam kunci JOIN, yaitu INNER JOIN, LEFT JOIN, dan RIGHT JOIN.
7. Inner join
inner join digunakan untuk menampilkan data dari dua tabel yang berisi data sesuai dengan syarat di belakang on (tidak boleh null), dengan kata lain semua data dari tabel kiri mendapat pasangan data dari tabel sebelah kanan.
Sintaks untuk INNER JOIN : SELECT field1, field2, … FROM tabel1 INNER JOIN tabel2
ON tabel1.kunci_utama = tabel2.kunci_asing
8. Left join
Left join digunakan untuk menampilkan semua data dari tabel sebelah kiri perintah 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.
Sintaks untuk LEFT JOIN : SELECT field1, field2, … FROM tabel1 LEFT JOIN tabel2
9. Right join
Sintaks untuk RIGHT JOIN : SELECT field1, field2, … FROM tabel1 RIGHT JOIN tabel2
ON tabel1.kunci_utama = tabel2.kunci_asing
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.
10. Natural join
Natural join digunakan untuk menampilkan data dari dua tabel yang berisi data.
49
11. Operator ANY
Operator ANY digunakan berkaitan dengan subquery. Operator ini menghasilkan TRUE (benar) jika paling tidak salah satu perbandingan dengan hasil subquery menghasilkan nilai TRUE.
12. Operator ALL
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.
13. Union
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.
14. INTERSECT
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.
Syntax :
SELECT * FROM namatabel1 INTERSECT
SELECT * FROM namatabel2
Pada MySQL tidak terdapat operator INTERSECT namun sebagai gantinya dapat menggunakan operator IN yang bisa diperdalam di bagian Nested Queries.
15. EXCEPT / Set Difference
EXCEPT 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.
Syntax :
SELECT * FROM namatabel1 EXCEPT
SELECT * FROM namatabel2
Pada MySQL tidak terdapat operator EXCEPT namun sebagai gantinya dapat menggunakan operator NOT IN yang bisa diperdalam di bagian Nested Queries.
Tugas :
Dari topik pembuatan aplikasi basis data yang telah anda buat, buatlah masing- masing perintah DML berikut :
1. Buatlah perintah SQL untuk menampilkan data yang berasal dari dua tabel dan tiga tabel dengan menggunakan perintah JOIN.
2. Buatlah perintah SQL yang menggunakan UNION, INTERSECT, dan EXCEPT.
3. Buatlah perintah SQL yang menggunakan operator comparison ANY dan ALL.