Bab 6 dari 6 · 25 menit
Integritas Data, Objek Lanjutan, dan Transaksi ACID
Menjaga kualitas, validitas, serta performa basis data memerlukan penerapan aturan integritas, pengelolaan objek lanjutan, dan eksekusi transaksi yang aman.
Constraints adalah aturan yang dipasang pada skema kolom untuk mencegah data tidak valid masuk ke dalam sistem:
PRIMARY KEY: Pengenal unik baris data (tidak boleh kosong atau ganda).FOREIGN KEY: Menghubungkan data ke primary key pada tabel lain.UNIQUE: Menjamin semua nilai di kolom tersebut berbeda.NOT NULL: Menolak penyimpanan data jika kolom dibiarkan kosong.CHECK: Memastikan nilai kolom memenuhi kondisi logika tertentu (misalnyajumlah > 0).DEFAULT: Menyediakan nilai bawaan jika kolom tidak diisi saat INSERT.
Untuk mengoptimalkan struktur query, SQL menyediakan objek lanjutan berupa Index dan View:
- Index: Struktur data penolong untuk mempercepat pencarian data (SELECT dan WHERE), dianalogikan seperti indeks pada halaman belakang buku. Gunakan index secukupnya karena keberadaannya memakan ruang disk dan memperlambat perintah INSERT/UPDATE.
- View: Tabel virtual berbasis query tersimpan. View mempermudah pemanggilan query gabungan yang rumit tanpa menduplikasi data fisik di penyimpanan.
Ketika kamu mengeksekusi serangkaian operasi yang saling terikat, kamu harus membungkusnya dalam Transaksi. Transaksi memastikan kumpulan operasi diperlakukan sebagai satu kesatuan utuh dengan memenuhi prinsip ACID:
- Atomicity: Seluruh perintah berhasil dieksekusi lengkap, atau dibatalkan seluruhnya jika timbul error.
- Consistency: Data tetap valid dan mematuhi semua constraint sebelum maupun setelah transaksi berlangsung.
- Isolation: Transaksi berjalan mandiri dan terisolasi tanpa saling mengacaukan dengan transaksi konkuren lain.
- Durability: Setelah instruksi
COMMITselesai, perubahan data tersimpan permanen dan tahan terhadap kegagalan daya sistem.
Sintaks SQL yang kamu pelajari ini didukung oleh berbagai mesin RDBMS populer, seperti MySQL, PostgreSQL yang kaya fitur dan standar-compliant, SQLite yang ringan tanpa server mandiri, MariaDB, SQL Server dari Microsoft, hingga Oracle DB untuk solusi enterprise skala besar.
Cek pemahaman
1. Prinsip ACID manakah yang menjamin bahwa semua langkah dalam transaksi berhasil seluruhnya atau tidak sama sekali?
2. Semakin banyak index yang kamu buat pada sebuah tabel, semakin cepat pula operasi INSERT dan UPDATE dijalankan pada tabel tersebut.
3. Perhatikan pembuatan view berikut. Bagaimana cara memanggil data dari view yang telah didefinisikan tersebut?
CREATE VIEW produk_aktif AS SELECT nama, harga FROM produk WHERE stok > 0;



