SQL constraint — ustun cheklovlari

Baza faqat ma’lumot saqlamaydi — u ma’lumot to’g’ri bo’lishini ham kuzatishi mumkin. Masalan narx manfiy bo’lmasligi yoki email takrorlanmasligi kerak. Bu qoidalar constraint (cheklov) deyiladi. Ular jadval yaratilganda belgilanadi va noto’g’ri qiymatni bazaga kiritmaydi.

Primary key va foreign key ham aslida constraint edi. Endi qolgan asosiy turlarni ko’ramiz.

Asosiy constraint turlari

Ularni CREATE TABLE da, ustun tipidan keyin yozamiz:

CREATE TABLE hodimlar (
  id     INTEGER PRIMARY KEY,
  ism    TEXT NOT NULL,
  email  TEXT UNIQUE,
  maosh  INTEGER CHECK (maosh > 0),
  faol   INTEGER DEFAULT 1
);

O’zingiz ishga tushirib ko’ring — so’rovni tahrirlashingiz ham mumkin:

SQL · namuna baza

Har cheklov o’z vazifasini bajaradi:

  • NOT NULL — ustun bo’sh (NULL) bo’lolmaydi. ism majburiy.
  • UNIQUE — qiymat takrorlanmaydi. Ikki hodimda bir xil email bo’lolmaydi.
  • CHECK (shart) — qiymat shartga mos bo’lishi kerak. maosh musbat bo’lsin.
  • DEFAULT qiymat — kiritilmasa, avtomatik qiymat qo’yiladi. faol1.

Cheklov qanday himoya qiladi

Cheklovga zid qiymat kiritmoqchi bo’lsangiz, baza qatorni rad etadi. Masalan manfiy maosh:

INSERT INTO hodimlar (id, ism, maosh) VALUES (1, 'Aziz', -500);

CHECK (maosh > 0) buzildi, shuning uchun bu INSERT bajarilmaydi — baza xato qaytaradi. Xuddi shunday, bir xil email ni ikki marta kiritsangiz, UNIQUE uni to’sadi.

Amaliy mashq

Cheklovlarni sinang:

  1. nom ustuniga NULL qiymat qo’yishga urining;
  2. qanday xato chiqqanini o’qing;
  3. id ni takrorlashga urining;
  4. NOT NULL bo’lgan ustunni tashlab INSERT qiling;
  5. barcha majburiy ustunlarni to’g’ri to’ldirib, muvaffaqiyatli qo’shing.

Cheklovlar ma’lumot sifatini qanday himoya qilyapti?

Qisqacha xulosa

  • Constraint — ustun qiymatiga qo’yilgan qoida; buzuq ma’lumotni to’sadi.
  • NOT NULL — bo’sh bo’lolmaydi; UNIQUE — takrorlanmaydi.
  • CHECK (shart) — qiymat shartga mos bo’lishi shart (masalan maosh > 0).
  • DEFAULT — kiritilmasa, avtomatik qiymat beradi.
  • Cheklov bazaga kirishdan oldin tekshiriladi — tozalik kafolatlanadi.

Keyingi darsda VIEW — murakkab so’rovni “virtual jadval” sifatida saqlab, qayta ishlatishni ko’ramiz.

Bu dars foydali bo'ldimi?

marta ko'rildi