Keamanan, Indexing, dan Optimasi

Keamanan, Indexing, dan Optimasi

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
Struktur B-Tree
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