Constraint & Data Integrity — Database

Database Constraints Constraints adalah aturan yang diterapkan pada kolom untuk memastikan data tetap valid dan konsisten. Database menolak data yang melanggar

Database Constraints

Constraints adalah aturan yang diterapkan pada kolom untuk memastikan data tetap valid dan konsisten. Database menolak data yang melanggar constraint.

Jenis Constraint

-- 1. NOT NULL — kolom wajib diisi
CREATE TABLE users (
    name VARCHAR(100) NOT NULL
);

-- 2. UNIQUE — nilai harus unik
CREATE TABLE users (
    email VARCHAR(255) UNIQUE NOT NULL
);

-- 3. CHECK — validasi custom
CREATE TABLE products (
    price DECIMAL(10,2) CHECK (price > 0),
    stock INT CHECK (stock >= 0),
    status VARCHAR(20) CHECK (status IN ('active', 'draft', 'archived'))
);

-- 4. DEFAULT — nilai default jika tidak diisi
CREATE TABLE posts (
    status VARCHAR(20) DEFAULT 'draft',
    created_at TIMESTAMP DEFAULT NOW()
);

-- 5. PRIMARY KEY — identifier unik per baris
-- 6. FOREIGN KEY — referensi ke tabel lain

Data Integrity Types

Contoh Lengkap

CREATE TABLE orders (
    id SERIAL PRIMARY KEY,                          -- entity integrity
    user_id INT NOT NULL REFERENCES users(id),      -- referential integrity
    total DECIMAL(10,2) NOT NULL CHECK (total > 0), -- domain integrity
    status VARCHAR(20) DEFAULT 'pending'
        CHECK (status IN ('pending', 'paid', 'shipped', 'cancelled')),
    created_at TIMESTAMP NOT NULL DEFAULT NOW()
);

Yang akan kamu pelajari