1-Ma’ruza: Ma’lumotlar bazasini administratorlash va xavfsizligini ta’minlash. Reja



Yüklə 19,51 Kb.
səhifə2/3
tarix11.09.2023
ölçüsü19,51 Kb.
#142620
1   2   3
1-ma\'ruza

Jadvallar uchun cheklovlar
Cheklovlarni kiritish. Jadvalni yaratayotganda (yoki uni o’zgartirayotganda), maydonlarga kiritilayotgan qiymatlarga cheklovlar o’rnatish mumkin. Bu holda SQL cheklovlarga to’g’ri kelmaydigan hamma qiymatlarni rad etadi. CHeklovlarning ikki asosiy turi mavjud: - ustun va jadval cheklovlari. Ustun cheklovi faqat ayrim ustunlarga qo’llaniladi, jadval cheklovi bo’lsa bir yoki bir necha ustunlar guruhiga qo’llaniladi. Ustun cheklovi ustun nomi oxiriga ma’lumotlar tipidan so’ng va verguldan oldin qo’yiladi. Jadval cheklovi jadval nomi oxiriga so’ngi dumaloq verguldan oldin qo’yiladi.
Maydonga bo’sh (NULL) qiymatlar kiritilishi oldini olish uchun CREATE TABLE buyrug’ida NOT NULL cheklovi ishlatiladi. Masalan, birlamchi kalitlar xech qachon bo’sh bo’lmasliklari kerak, shuning uchun Salepeople jadvalini quyidagicha yaratish mumkin:
CREATE TABLE Salepeople
( Snum integer NOT NULL,
Sname char (10),
city char (10),
comm decimal);
Ko’p hollarda ustunga kiritilgan qiymatlar bir biridan farq qilishi kerak bo’ladi. Agar ustunga UNIQUE cheklovi o’rnatilsa, unda ustunga qiymat kiritishga urinish rad etiladi. Bu cheklov bo’sh bo’lmaydigan (NOT NULL) deb e’lon qilingan maydonlarga qo’llaniladi. Masalan:
CREATE TABLE Salepeople
( SNum integer NOT NULL UNIQUE,
SName char (10),
City char (10),
Comm decimal);
Jadval cheklovi UNIQUE maydonlar guruhiga ham o’rnatilishi mumkin. Bu bir necha maydonlar qiymatlari kombinatsiyasi unikalligini ta’minlaydi. Biz qarayotgan ma’lumotlar bazasida har bir buyurtmachi bitta sotuvchiga biriktirilgan. Ya’ni buyurtmachilar jadvalida buyurtmachi nomeri (cnum) va sotuvchi nomeri (snum) kombinatsiyasi unikal bo’lishi kerak. Bu cheklovni UNIQUE(cnum, snum) Customers jadvalini yaratishda kiritish mumkin. Bu ustunlar uchun NOT NULL cheklovini ham kiritish zarurdir.
Birlamchi kalitlarga cheklovlar.
SQL birlamchi kalitlarni to’g’ridan to’g’ri PRIMARY KEY cheklovi orqali ta’riflaydi. PRIMARY KEY jadvalni yoki ustunlarni cheklashi mumkin. Bu cheklov UNIQUE cheklovi kabi ishlaydi. Bunda birlamchi kalitlar NULL qiymatga ega bo’lishi mumkin emas. Misol:
CREATE TABLE Salepeople
( SNum integer NOT NULL PRIMARY KEY,
SName char (10),City char (10),
Comm decimal);
Maydon qiymatlarini tekshirish (CHECK cheklovi).
CHECK cheklovi jadvalga kiritilayotgan ma’lumot qabul qilinishidan oldin mos kelishi lozim bo’lgan shart kiritishga imkon beradi. CHECK cheklovi CHECK kalit so’zi ko’rsatilgan maydondan foydalanuvchi shartli ifodadan iboratdir. Misol uchun Salepeople jadvali Comm ustuniga kiritilayotgan qiymat 1 dan kichik bo’lsin.
CREATE TABLE Salepeople
( SNum integer NOT NULL PRIMARY KEY,
SName char(10) NOT NULL UNIQUE,
City char(10),
Comm decimal CHECK ( Comm < 1 ));
CHECK cheklovidan maydonga ma’lum qiymatlarini kiritishdan himoya qilib, xatolar oldini olish uchun foydalanish mumkin. Masalan, mahsulotni sotish shaxobchalariga ega bo’lgan shaharlar faqat London, Barselona, San Xose va Nьyu York bo’lsin.
CREATE TABLE Salepeople
(SNum integer NOT NULL PRIMARY KEY,
SName char(10) NOT NULL UNIQUE,
City char(10) CHECK (City IN ('London','New York','San Jose', 'Barselona')), Comm decimal CHECK (
Comm < 1 ));
CHECK jadval cheklovi sifatida kelishi mumkin. Bu shartga bir necha maydon kiritishga imkon beradi.
Masalan:
CREATE TABLE Salepeople
( SNum integer NOT NULL PRIMARY KEY,
SName char(10) NOT NULL UNIQUE,
City char(10),
Comm decimal,
CHECK (Somm < .15 OR City = 'Barcelona'));
Ko’zda tutilgan qiymatlarni o’rnatish. Biror bir maydon uchun qiymat ko’rsatmagan holda jadvalga satrqo’shilish kerak bo’lsa, SQL bunday maydonga kiritish uchun ko’zda tutilgan qiymatga ega bo’lishi kerak, aks holda buyruq rad etiladi. Eng umumiy ko’zda tutilgan qiymat NULL qiymatdir. CREATE TABLE buyrug’ida ko’zda tutilgan qiymat DEFAULT operatori orqali, ustun cheklovi sifatida ko’rsatiladi. Masalan:
CREATE TABLE Salepeople
( SNum integer NOT NULL PRIMARY KEY,
SName char(10) NOT NULL UNIQUE,
City char(10) DEFAULT 'New York',
Comm decimal CHECK ( Comm < 1 ));

Yüklə 19,51 Kb.

Dostları ilə paylaş:
1   2   3




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©www.azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin