RANGKUMAN PRAKTIKUM BASIS DATA
RANGKUMAN PRAKTIKUM BASIS DATA MODUL 1-6
Disusun Oleh :
Nama : Zidane Hafiy Ilman
NIM : 251080200076
Kelompok : 7
Pendahuluan
Dalam mempelajari Basis Data, khususnya menggunakan MySQL, terdapat tiga konsep penting yang wajib dipahami oleh setiap mahasiswa maupun pengembang sistem, yaitu Data Manipulation Language (DML), Query & View, serta Data Control Language (DCL).
Ketiga komponen tersebut memiliki peran yang berbeda namun saling berkaitan dalam pengelolaan sebuah database. DML digunakan untuk mengelola isi data pada tabel, Query dan View digunakan untuk mengambil serta menyajikan data secara efisien, sedangkan DCL berfungsi mengatur keamanan database melalui pengelolaan hak akses pengguna.
Pemahaman terhadap ketiga materi ini menjadi dasar yang sangat penting sebelum mempelajari administrasi database yang lebih kompleks, optimasi query, maupun pengembangan sistem informasi berskala besar.
1. Data Manipulation Language (DML)
Data Manipulation Language (DML) merupakan sekumpulan perintah SQL yang digunakan untuk memanipulasi data yang terdapat di dalam tabel database. Dengan DML, pengguna dapat menambahkan, mengubah, menampilkan, maupun menghapus data sesuai kebutuhan.
Empat perintah utama dalam DML adalah INSERT, UPDATE, SELECT, dan DELETE.
a. INSERT
Perintah INSERT digunakan untuk menambahkan data baru ke dalam sebuah tabel.
Data dapat dimasukkan dengan dua cara, yaitu:
Menuliskan seluruh nilai sesuai urutan kolom.
Menentukan nama kolom terlebih dahulu sehingga lebih aman apabila urutan kolom berubah.
Contoh:
INSERT INTO buku
VALUES ('B001','Sistem Basis Data',25000,'2004','P001','T001');
atau
INSERT INTO buku
(kode_buku, judul_buku, harga, tahun, kode_penerbit, kode_toko)
VALUES
('B001','Sistem Basis Data',25000,'2004','P001','T001');
Penggunaan cara kedua lebih disarankan karena membuat kode menjadi lebih jelas dan meminimalkan kesalahan penempatan data.
b. UPDATE
Perintah UPDATE digunakan untuk mengubah data yang sudah tersimpan di dalam tabel.
Biasanya perintah ini dipadukan dengan klausa WHERE agar perubahan hanya dilakukan pada data tertentu.
Contoh:
UPDATE buku
SET judul_buku='Basis Data Terpadu'
WHERE kode_buku='B001';
Tanpa menggunakan WHERE, seluruh data pada kolom yang dipilih akan ikut berubah. Oleh karena itu, penggunaan kondisi sangat penting agar perubahan data tetap aman.
c. SELECT
Perintah SELECT merupakan perintah yang paling sering digunakan karena berfungsi untuk mengambil dan menampilkan data dari database.
SELECT dapat digunakan dalam berbagai bentuk, seperti:
Menampilkan seluruh data.
Menampilkan kolom tertentu.
Menggunakan kondisi WHERE.
Memberikan nama alias (AS).
Mengurutkan data menggunakan ORDER BY.
Mengelompokkan data menggunakan GROUP BY.
Menyaring hasil kelompok menggunakan HAVING.
Menggunakan fungsi agregasi seperti:
COUNT()
SUM()
AVG()
MIN()
MAX()
Dengan berbagai fitur tersebut, SELECT mampu menghasilkan informasi yang sangat fleksibel sesuai kebutuhan pengguna.
d. DELETE
Perintah DELETE digunakan untuk menghapus data dari tabel.
Penghapusan dapat dilakukan terhadap:
Satu baris data.
Beberapa baris berdasarkan kondisi tertentu.
Seluruh isi tabel.
Contoh:
DELETE FROM buku
WHERE kode_buku='B001';
Seperti halnya UPDATE, penggunaan klausa WHERE sangat penting agar data yang dihapus hanya data yang memang diinginkan.
2. Query Lanjutan (Advanced Query) dan View
Setelah memahami operasi dasar DML, tahap berikutnya adalah mempelajari query lanjutan.
Query lanjutan memungkinkan pengguna mengambil data dari beberapa tabel sekaligus sehingga informasi yang diperoleh menjadi lebih lengkap dan mudah dipahami.
a. Cross Join
Cross Join digunakan untuk menggabungkan seluruh kombinasi baris dari dua tabel.
Metode ini menghasilkan perkalian kartesian (Cartesian Product) sehingga jumlah data yang dihasilkan merupakan hasil perkalian jumlah baris kedua tabel.
Cross Join biasanya digunakan pada kebutuhan analisis tertentu dan jarang digunakan dalam sistem transaksi sehari-hari.
b. Inner Join
Inner Join merupakan jenis join yang paling sering digunakan.
Inner Join hanya menampilkan data yang memiliki pasangan pada kedua tabel berdasarkan kondisi tertentu.
Contohnya, menampilkan data pegawai beserta jabatan yang dimilikinya.
c. Equijoin
Equijoin merupakan bentuk join yang menggunakan operator = pada kondisi penghubung antar tabel.
Walaupun hasilnya hampir sama dengan Inner Join, Equijoin biasanya dituliskan menggunakan klausa WHERE.
d. Self Join
Self Join adalah teknik menghubungkan sebuah tabel dengan tabel itu sendiri menggunakan alias.
Teknik ini sering digunakan ketika suatu tabel memiliki hubungan hierarki, misalnya data pegawai dengan atasannya.
e. Natural Join
Natural Join secara otomatis menghubungkan dua tabel berdasarkan nama kolom yang sama.
Selain itu terdapat beberapa variasi lainnya seperti:
Left Join, menampilkan seluruh data dari tabel kiri beserta pasangan datanya.
Right Join, menampilkan seluruh data dari tabel kanan beserta pasangan datanya.
Operator Himpunan
MySQL juga menyediakan berbagai teknik penggabungan hasil query.
Beberapa di antaranya yaitu:
UNION, digunakan untuk menggabungkan hasil dari dua atau lebih query dengan menghilangkan data yang sama.
UNION ALL, menggabungkan seluruh hasil query tanpa menghapus data yang duplikat.
Sedangkan untuk operasi INTERSECT dan EXCEPT, MySQL tidak menyediakan perintah secara langsung sehingga biasanya disimulasikan menggunakan:
IN
NOT IN
EXISTS
NOT EXISTS
Nested Query (Subquery)
Nested Query atau Subquery adalah query yang berada di dalam query lainnya.
Teknik ini digunakan ketika hasil suatu query diperlukan sebagai syarat bagi query berikutnya.
Subquery dapat digunakan pada:
WHERE
FROM
HAVING
SELECT
Penggunaan subquery membuat proses pencarian data menjadi lebih fleksibel tanpa harus membuat banyak query secara terpisah.
View
View merupakan sebuah virtual table yang dibuat dari hasil suatu query.
View tidak menyimpan data secara langsung, melainkan hanya menyimpan definisi query sehingga data selalu mengikuti isi tabel aslinya.
Keuntungan menggunakan View antara lain:
Menyederhanakan query yang kompleks.
Memudahkan pengguna dalam membaca data.
Mengurangi penulisan query yang berulang.
Meningkatkan keamanan karena pengguna hanya dapat melihat data tertentu.
Contoh pembuatan View:
CREATE OR REPLACE VIEW view_data_lengkap_pegawai AS
SELECT
p.nip,
p.nama_pegawai,
j.nama_jabatan,
b.nama_bagian
FROM pegawai p
JOIN jabatan j
ON p.kode_jabatan = j.kode_jabatan
JOIN bagian b
ON p.kode_bagian = b.kode_bagian;
Dengan View tersebut, pengguna cukup melakukan:
SELECT * FROM view_data_lengkap_pegawai;
tanpa perlu menuliskan kembali query JOIN yang panjang.
3. Data Control Language (DCL) / Hak Akses Pengguna
Selain mengelola data, sebuah database juga harus memiliki sistem keamanan.
Untuk itulah digunakan Data Control Language (DCL).
DCL merupakan kumpulan perintah SQL yang digunakan untuk mengatur hak akses pengguna (user privilege) terhadap database.
Dua perintah utama pada DCL adalah GRANT dan REVOKE.
a. GRANT
Perintah GRANT digunakan untuk memberikan hak akses kepada pengguna tertentu.
Hak akses yang dapat diberikan antara lain:
SELECT
INSERT
UPDATE
DELETE
CREATE
ALTER
DROP
Hak akses juga dapat dibatasi hanya pada kolom tertentu.
Contoh:
GRANT
SELECT,
UPDATE (kode_buku, judul_buku)
ON buku
TO edi;
Apabila ingin memberikan seluruh hak akses, dapat menggunakan:
GRANT ALL PRIVILEGES
ON buku
TO edi;
Dalam kondisi tertentu, hak akses juga dapat diberikan kepada beberapa pengguna sekaligus menggunakan mekanisme yang sesuai dengan sistem database yang digunakan.
b. REVOKE
Perintah REVOKE digunakan untuk mencabut hak akses yang sebelumnya telah diberikan kepada pengguna.
Contoh:
REVOKE
SELECT
ON buku
FROM siska;
Jika pengguna sudah tidak digunakan lagi, akun tersebut dapat dihapus secara permanen menggunakan:
DROP USER 'admin'@'localhost';
Sebelum menghapus user, sebaiknya seluruh hak akses yang dimilikinya dicabut terlebih dahulu agar pengelolaan keamanan database tetap terjaga.
Kesimpulan
Data Manipulation Language (DML), Query & View, serta Data Control Language (DCL) merupakan tiga komponen penting dalam pengelolaan database menggunakan MySQL.
DML memungkinkan pengguna untuk menambahkan, mengubah, menampilkan, dan menghapus data secara efisien. Query lanjutan serta View membantu menghasilkan informasi yang lebih kompleks dengan menggabungkan beberapa tabel sekaligus, sekaligus menyederhanakan proses pengambilan data yang sering digunakan. Sementara itu, DCL berperan dalam menjaga keamanan database melalui pengaturan hak akses setiap pengguna sesuai kewenangannya.
Dengan memahami ketiga konsep tersebut, seorang mahasiswa maupun pengembang sistem akan memiliki dasar yang kuat dalam membangun aplikasi berbasis database yang terstruktur, efisien, aman, dan mudah dikelola. Materi ini juga menjadi fondasi penting sebelum mempelajari topik lanjutan seperti Transaction Control Language (TCL), Stored Procedure, Trigger, Function, Database Administration, hingga optimasi performa database pada sistem berskala besar.
Komentar
Posting Komentar