Konstren minangka aturan sing ditegakake déning basis data ing data ing tabel — njamin integritas data ing tingkat basis data (ora mung ing kode aplikasi). Sing utama: PRIMARY KEY, FOREIGN KEY, UNIQUE, , , lan .
Konstren minangka aturan sing ditegakake déning basis data ing data ing tabel — njamin integritas data ing tingkat basis data (ora mung ing kode aplikasi). Sing utama: PRIMARY KEY, FOREIGN KEY, UNIQUE, , , lan .
NOT NULLCHECKDEFAULTCREATE TABLE users (
id INT PRIMARY KEY, -- unique + not null identifier
email VARCHAR(255) UNIQUE NOT NULL, -- must be unique AND present
age INT CHECK (age >= 0 AND age <= 120), -- must satisfy a condition
country VARCHAR(2) DEFAULT 'US', -- default value if not provided
role VARCHAR(20) NOT NULL DEFAULT 'user',
manager_id INT REFERENCES users(id) -- FOREIGN KEY (referential integrity)
);
PRIMARY KEY → uniquely identifies a row (unique + not null, indexed)
FOREIGN KEY → references another table's key (referential integrity)
UNIQUE → no duplicate values allowed in this column
NOT NULL → the column must have a value (can't be NULL)
CHECK → the value must satisfy a condition (age >= 0, status IN (...))
DEFAULT → a value used when none is provided on insert
-- ❌ relying only on application code to enforce uniqueness:
-- a race condition or a bug or a different app could insert a duplicate
-- ✅ a UNIQUE constraint guarantees it at the DB level — ALWAYS enforced,
-- regardless of which code or how many apps access the database
email VARCHAR(255) UNIQUE
Konstren basis data minangka pertahanan terakhir kanggo integritas data — dheweke ditegakake ora peduli apa kode sing ngesok data (aplikasi akeh, skrip, owah-owahan manual, utawa kode cacat), lan dheweke nangani kondisi balapan sing dikanthi aplikasi pas miss.
CHECK (price > 0) -- prices must be positive
CHECK (status IN ('active', 'inactive')) -- only valid statuses
CHECK (end_date > start_date) -- logical consistency
CHECK ngenegaske aturan bisnis/domain langsung ing skema.
Konstren minangka esensi kanggo njaga integritas data — dheweke njamin manawa data ing basis data sampeyan ngetutake aturan (keunikan, kahadiran, nilai valid, referensi valid) ing tingkat basis data, kang dadi dhasar kanggo aplikasi sing dipercaya, mula ngerteni dheweke iku penting.
Nangerteni jinis-jinis konstren (PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, CHECK, DEFAULT) lan apa sing saben-sabene ditegakake iku perlu kanggo desain skema sing bener.
Bab konseptual sing paling penting yaiku kenapa ditegakake ing tingkat basis data tinimbang mung ing kode aplikasi: konstren basis data minangka pertahanan terakhir kanggo integritas data — dheweke tansah ditegakake ora peduli kode apa utawa aplikasi akèh sing ngakses data, dheweke kangkep bug sing cek aplikasi bisa pas miss, lan sing paling penting dheweke nangani kondisi balapan sing validasi tingkat aplikasi ora bisa (contone rong ngesok bareng-bareng kapak lulus cek keunikan tingkat aplikasi nanging konstren UNIQUE bener-bener nolak duplikat).
Ngandelake mung kode aplikasi kanggo integritas iku mbebayani; konstren nyedhiyakake jaminan.
Ngerteni konstren CHECK kanggo ngenegaske aturan domain/bisnis (rentang valid, nilai diparingake, konsistensi logis) langsung ing skema iku uga bisa.
Amarga integritas data kritis kanggo aplikasi sing dipercaya, lan amarga konstren nyedhiyakake jaminan tingkat basis data sing nglindhungi saka bug, kondisi balapan, lan data sing ora konsisten ing cara kode aplikasi piyambak ora bisa, ngerteni konstren — jinis-jinise, jaminan integritas dheweke, lan pentinge penekanan tingkat basis data — iku penting, pangethok dhasar kanggo ndesain basis data sing kuat lan aspek kunci kanggo mbangun aplikasi sing datane tetep konsisten lan valid.
Pustaka pitakon wawancara IT kanthi jawaban rinci — saka Junior nganti Senior.
Nyumbang