SQLite - Constraints: Panduan Anda ke Integritas Data

Halo teman-teman, para ahli basis data masa depan! Hari ini, kita akan memulai perjalanan menarik ke dunia constraints SQLite. Jangan khawatir jika Anda baru saja memulai dalam programming - saya akan menjadi panduan yang ramah, menjelaskan segala sesuatunya langkah demi langkah. Pada akhir tutorial ini, Anda akan dapat membatasi data Anda seperti seorang pro!

SQLite - Constraints

Apa Itu Constraints?

Sebelum kita mendalam, mari bicarakan apa itu constraints. Bayangkan Anda sedang membangun rumah kartu. Anda inginnya stabil, kan? Constraints dalam basis data seperti aturan yang Anda ikuti untuk menjaga rumah kartu Anda agar tidak runtuh. Mereka memastikan bahwa data Anda tetap konsisten dan dapat dipercaya.

Jenis Constraints

SQLite menawarkan beberapa jenis constraints. Mari kita jelajahi masing-masing dengan beberapa contoh menarik!

1. Constraint NOT NULL

Constraint NOT NULL seperti seorang bouncer di klub - dia tidak mengijinkan nilai kosong masuk ke basis data Anda.

CREATE TABLE students (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER NOT NULL
);

Dalam contoh ini, kita membuat tabel untuk murid. Field name dan age tidak boleh dibiarkan kosong. Jika Anda mencoba memasukkan murid tanpa nama atau umur, SQLite akan menolak dengan sopan (tetapi keras).

2. Constraint DEFAULT

Constraint DEFAULT seperti ibu Anda yang membawa makan siang - jika Anda lupa membawa sesuatu, dia telah menyiapkan opsi default bagi Anda.

CREATE TABLE orders (
id INTEGER PRIMARY KEY,
product TEXT NOT NULL,
quantity INTEGER DEFAULT 1,
order_date TEXT DEFAULT CURRENT_DATE
);

Di sini, jika Anda tidak menentukan jumlah saat memesan, itu diasumsikan Anda ingin satu item. Dan jika Anda lupa menambahkan tanggal, itu menggunakan tanggal hari ini.

3. Constraint UNIQUE

Constraint UNIQUE seperti memberikan nomor kursi di kelas - tidak ada dua murid yang dapat memiliki kursi yang sama.

CREATE TABLE users (
id INTEGER PRIMARY KEY,
username TEXT UNIQUE,
email TEXT UNIQUE
);

Ini memastikan bahwa tidak ada dua pengguna yang dapat memiliki username atau alamat email yang sama. Itu sempurna untuk mencegah akun duplikat!

4. Constraint PRIMARY KEY

Constraint PRIMARY KEY seperti memberikan kartu ID unik bagi setiap murid. Itu adalah jenis khusus constraint UNIQUE yang juga tidak boleh NULL.

CREATE TABLE books (
isbn TEXT PRIMARY KEY,
title TEXT NOT NULL,
author TEXT NOT NULL
);

Dalam contoh ini, setiap buku memiliki ISBN unik yang bertindak sebagai pengenalnya.

5. Constraint CHECK

Constraint CHECK seperti guru yang memeriksa pekerjaan rumah Anda - itu memastikan bahwa data Anda memenuhi syarat tertentu.

CREATE TABLE employees (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER CHECK(age >= 18),
salary REAL CHECK(salary > 0)
);

Ini memastikan bahwa semua karyawan berusia minimal 18 tahun dan memiliki gaji positif. Tidak ada kerja anak atau magang tanpa gaji di sini!

6. Constraint FOREIGN KEY

Constraint FOREIGN KEY seperti menghubungkan potongan puzzle - itu menghubungkan tabel secara bersamaan berdasarkan data yang terkait.

CREATE TABLE orders (
id INTEGER PRIMARY KEY,
customer_id INTEGER,
product TEXT NOT NULL,
FOREIGN KEY (customer_id) REFERENCES customers(id)
);

Constraint ini memastikan bahwa setiap customer_id di tabel orders cocok dengan id di tabel customers.

Mengubah Constraints

kadang-kadang, Anda mungkin perlu mengubah constraints Anda. Mari kita lihat bagaimana melakukan itu.

Menambah Constraints

Anda dapat menambah constraints ke tabel yang sudah ada menggunakan perintah ALTER TABLE:

ALTER TABLE students ADD CONSTRAINT age_check CHECK(age > 0);

Ini menambah sebuah pemeriksaan untuk memastikan semua umur adalah bilangan positif.

Menghapus Constraints

Menghapus constraints agak sulit di SQLite. Anda sebenarnya perlu membuat ulang tabel tanpa constraint:

-- Langkah 1: Buat tabel baru tanpa constraint
CREATE TABLE new_students AS SELECT * FROM students;

-- Langkah 2: Hapus tabel lama
DROP TABLE students;

-- Langkah 3: Ubah nama tabel baru
ALTER TABLE new_students RENAME TO students;

Metode Constraints

Berikut adalah tabel praktis yang menyajikan metode yang dapat kita gunakan dengan constraints:

Metode Deskripsi
NOT NULL Memastikan kolom tidak dapat memiliki nilai NULL
DEFAULT Menyediakan nilai default untuk kolom
UNIQUE Memastikan semua nilai dalam kolom berbeda
PRIMARY KEY Menyediakan identifikasi unik bagi setiap baris/record dalam tabel basis data
CHECK Memastikan semua nilai dalam kolom memenuhi syarat tertentu
FOREIGN KEY Menyediakan identifikasi unik bagi baris/record di tabel lain

Kesimpulan

Selamat! Anda telah menyelesaikan kursus cepat dalam constraints SQLite. Ingat, constraints adalah teman Anda - mereka membantu menjaga data Anda bersih, konsisten, dan dapat dipercaya. Pada perjalanan Anda ke dunia basis data, Anda akan menemukan constraints ini sangat berharga dalam menjaga integritas data.

Selalu pikirkan aturan apa yang harus diikuti oleh data Anda, dan gunakan constraints untuk menegakkan aturan itu. Lebih mudah untuk mencegah data buruk masuk ke basis data Anda daripada membersihkannya kemudian!

Terus latih, tetap curi-curi, dan selamat coding! ??

Credits: Image by storyset