SISTEM BASIS DATA | PERTEMUAN 9 DARI 10
Klik judul bagian untuk membuka atau menutup.
PERTEMUAN 9
Keamanan, Indexing, dan Optimasi
Aman dan cepat: dua syarat basis data yang sehat
Capaian: Menerapkan hak akses (GRANT, REVOKE), memahami indexing B-Tree, dan dasar optimasi query.
๐ Keamanan
- Autentikasi, otorisasi, dan prinsip hak akses minimum.
- GRANT memberi hak, REVOKE mencabutnya; gunakan role.
- Waspadai SQL injection: pakai prepared statement.
๐ Indexing dan Optimasi
- Index B-Tree mempercepat pencarian pada kolom WHERE/JOIN.
- Trade-off: baca lebih cepat, tulis dan ruang lebih berat.
- Optimasi: hindari SELECT *, saring awal, periksa dengan EXPLAIN.
๐งฉ Metafora
Perumpamaan: Indeks di belakang buku: tidak perlu membaca semua halaman. Hak akses seperti kunci ruangan: tiap orang hanya memegang kunci yang perlu.
๐งช Contoh Kasus / Kode
-- Sintaks MySQL; DBMS lain sedikit berbeda CREATE USER 'asisten'@'localhost' IDENTIFIED BY 'KataSandiKuat!1'; GRANT SELECT, INSERT ON kampus.mahasiswa TO 'asisten'@'localhost'; REVOKE INSERT ON kampus.mahasiswa FROM 'asisten'@'localhost'; CREATE INDEX idx_mhs_nama ON mahasiswa(nama); EXPLAIN SELECT nim FROM mahasiswa WHERE nama = 'Aisyah';
๐ผ๏ธ Ilustrasi Visual
B-Tree membagi data menjadi tingkat-tingkat sehingga pencarian cukup menelusuri satu jalur dari akar ke daun.
๐ Kesalahan Umum
- Memberi semua hak (ALL) pada semua pengguna.
- Membuat index di setiap kolom.
- Menyusun query dengan string gabungan input pengguna.
โ๏ธ Latihan
Buat dua pengguna (admin dan asisten) dengan hak berbeda, lalu uji batasannya.
๐ Ajakan (Call to Action)
Ajakan: Bandingkan hasil EXPLAIN sebelum dan sesudah CREATE INDEX pada tabel besar.
Disusun oleh ALIMIN, M.Kom