Langsung ke konten utama

[BAB 7] Basis Data 2 - Subquery Bersarang



1.      Judul Materi

Subquery Bersarang

2.      Kemampuan Akhir Tahap Pembelajaran

Mahasiswa mampu memaksimalkan penggunaan query dengan subquery
Bersarang.

3.      Alat dan Bahan

Alat dan bahan yang diperlukan adalah: PC/Laptop, XAMPP, PHPMyAdmin, CommandPrompt atau Terminal.

4.      Teori

Pada pertemuan sebelumnya, mahasiswa belajar untuk memaksimalkan penggunaak query untuk multiple relations. Pada pertemuan ini mahasiswa diajarkan untuk memaksimalkan query dengan subquery bersarang. Ada empat bagian pada pertemuan ini, yaitu subquery bersarang pada SELECT, INSERT, UPDATE dan DELETE. Subquery bersarang digunakan untuk beberapa kebutuhan. Misal untuk menginputkan data dimana terdapat FK, tetapi seorang DBA hanya mengetahui informasi atribut lain selain PK di tabel referensinya. Subquery bersarang dapat juga digunakan untuk menampilkan suatu data dimana salah satu atributnya (FK misalkan) berada pada himpunan tertentu di tabel referensinya. Serta masih banyak lagi permasalahan yang dapat dipecahkan dengan menggunakan subquery bersarang.

5.      Materi

7.1         SELECT

Berdasarkan kasus yang sudah ada, ada beberapa permasalahan yang mungkin saja agak rumit jika diselesaikan dengan query SQL dasar. Misal Anda diminta untuk menampilkan data karyawan, dalam barang yang diproduksi oleh Nike dan barang lainnya yang diproduksi oleh Ardiles. Untuk menyelesaikan ini Anda dapat menggunakan subquery bersarang:




Gambar 7.1 Query bersarang untuk kasus SELECT

DISTINCT digunakan untuk jika dalam suatu tampilan data terdapat baris yang duplikat (lebih dari satu baris dengan isi yang sama), maka hanya ditampilkan satu baris data saja.

7.2         INSERT

Jika Anda diminta untuk memasukkan data baru, dimana memiliki detail sebagai berikut:
Nama             : “Sepatu Sneakers”
Jenis               : Sepatu
Harga             : 300000
Tanggal         : 07-05-2019
Jumlah           : 20
Produksi        : Nike
Maka Anda dapat menggunakan query bersarang berikut untuk tabel barang:
Gambar 7.2 Query bersarang untuk menginputkan data barang

Sementara untuk tabel barang_toko akan menjadi lebih rumit, karena kita tidak tahu informasi id_karyawan dari Hairiyah dan Rani. Sedangkan PK dari barang_toko mengharuskan format kode memuat id_barang dan id_karyawan. Hal tersebut bukan masalah, Anda dapat memasukkan kode dummy terlebih dahulu, yang kemudian Anda bisa update nantinya. Misal:
Gambar 7.3 Query bersarang untuk menginputkan data barang_toko

Selanjutnya Anda tinggal menuliskan perintah UPDATE:




7.3         UPDATE

Perhatikan tampilan data barang dan produksi berikut:
Misalkan ada kesalahan pada data di atas. Barang “Sepatu Sneakers” seharusnya diproduksi oleh “Nike”. Maka query bersarang yang bisa Anda gunakan adalah:
Gambar 7.4 Query bersarang untuk kasus UPDATE


7.4         DELETE

Sama seperti kasus sebelumnya, jika diminta untuk menghapus data barang yang diterbitkan oleh Ando, maka query yang dapat digunakan adalah sebagai berikut.
Gambar 7.5 Query bersarang untuk kasus DELETE

Jika data barang ada yang dihapus, lalu bagaimana dengan tabel barang_toko? Karena sebelumnya membangun tabel barang_toko menggunakan ON DELETE CASCADE, maka seharusnya data pada tabel tersebut akan otomatis ikut hilang. Mari kita buktikan, tampilkan data pada tabel barang:
Terlihat pada tabel tersebut tidak ada id_barang = 3, karena sudah dihapus menggunakan query sebelumnya. Sekarang kita tampilkan tabel barang_toko:
Dapat terlihat bahwa data dengan id_barang = 3 sudah tidak ada lagi.



Komentar

Postingan populer dari blog ini

Graf (Graph) dan Pohon (Tree) - Algoritma Pemrograman 2

Graf ( Graph ) dan Pohon (Tree) pada C++ 1). Definisi Graph Graf adalah kumpulan noktah (simpul) di dalam bidang dua dimensi yang dihubungkan dengan sekumpulan garis (sisi). Graph dapat digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antara objek-objek tersebut. Representasi visual dari graph adalah dengan menyatakan objek sebagai noktah, bulatan atau titik ( Vertex ), sedangkan hubungan antara objek dinyatakan dengan garis ( Edge ). G = (V, E) Dimana : G = Graph V = Simpul atau Vertex , atau Node, atau Titik E = Busur atau Edge , atau arc Graf merupakan suatu cabang ilmu yang memiliki banyak terapan. Banyak sekali struktur yang bisa direpresentasikan dengan graf, dan banyak masalah yang bisa diselesaikan dengan bantuan graf. Seringkali graf digunakan untuk merepresentasikan suaru jaringan. Misalkan jaringan jalan raya dimodelkan graf dengan kota sebagai simpul ( vertex/node ) dan jalan yang menghubungkan setiap kotanya sebagai sisi ( edge ) y...

Akses File - Algoritma Pemrograman

AKSES FILE PADA C++ KATA PENGANTAR Puji dan syukur penulis panjatkan kehadirat Allah SWT. Karena dengan Rahmat dan Karunia-Nya, penulis dapat menyelesaikan pembuatan artikel dengan judul Akses File hingga selesai . Dengan diberikannya tugas pembuatan artikel di sebuah blog, mahasiswa diharapkan mampu mempelajari lebih banyak lagi materi mengenai Akses File dan mampu menyelesaikan tugas mata kuliah algoritma pemrograman yang diberikan oleh dosen . Semoga dengan pembuatan artikel ini dapat bermanfaat khususnya bagi penulis selaku mahasiswa dan umumnya bagi kita semua. Selanjutnya penulis, merasa bahwa artikel Akses File ini jauh dari kesempurnaan. Oleh sebab itu, penulis mohon maaf sebesar-besarnya apabila dalam penyusunan artikel ini terdapat banyak kesalahan, baik dalam segi penulisan, pembahasan, dan penyusunannya yang kurang rapi. Maka dari itu besar harapan penulis semoga artikel ini dapat bermanfaat bagi penulis dan orang lain. 8 Desember 2018 BAB...

RELASI - MATEMATIKA DISKRIT

TI Politala Matdis 1B KATA PENGANTAR Puji dan syukur penulis panjatkan kehadirat Allah SWT. Karena dengan Rahmat dan Karunia-Nya, penulis dapat menyelesaikan pembuatan artikel dengan judul “Relasi” hingga selesai . Dengan diberikannya tugas pembuatan artikel di sebuah blog, mahasiswa diharapkan mampu mempelajari lebih banyak lagi materi mengenai relasi, dan mampu menyelesaikan tugas mata kuliah matematika diskrit yang diberikan oleh dosen . Semoga dengan pembuatan artikel ini dapat bermanfaat khususnya bagi penulis selaku mahasiswa dan umumnya bagi kita semua. Selanjutnya penulis, merasa bahwa artikel relasi ini jauh dari kesempurnaan. Oleh sebab itu, penulis mohon maaf sebesar-besarnya apabila dalam penyusunan artikel ini terdapat banyak kesalahan, baik dalam segi penulisan, pembahasan, dan penyusunannya yang kurang rapi. Maka dari itu besar harapan penulis semoga artikel ini dapat bermanfaat bagi penulis dan orang lain. 13 Oktober 2018     ...