ALTER TABLE ADD
;
Masalan:
ALTER TABLE Salepeople ADD Phone CHAR(7);
SQL da jadvallar va cheklovlar yaratish
Ushbu bo'limni tushunish uchun bir xil kutubxona ma'lumotlar bazasini ko'rib chiqamiz.
Cheklovlar ma'lum qoidalarga amal qiladi jadvallar yoki kiritiladigan ma'lumotlarning to'g'riligini ta'minlash uchun jadval ustunlari. Bu to'g'ri qiymatlar kiritilishini, jadvalda ortiqcha ma'lumotlar yo'qligini, ikkita ob'ekt bog'liqligini va boshqalarni ta'minlaydi. Jadval darajasidagi cheklovlar, shuningdek ustunlar darajasidagi cheklovlar mavjud. Ustun darajasidagi ba'zi cheklovlar quyida muhokama qilinadi.
Mundarija
NULL Emas
BOSHQARISH
UNIQUE
Boshlang'ich kalit
Tashqi kalit
Jadvalda chet el kalitlarini aniqlashning bir necha yo'li mavjud:
Cheklovlarni tekshiring
Cheklovlarni tashlash
NULL Emas
Ushbu cheklov ustunlarga NULL qiymatlari kiritilmasligiga ishonch hosil qiladi. Odatiy bo'lib, ustunlar NULL qiymatlariga ega bo'lishi mumkin. Agar biz NULL cheklovini belgilasak, u ushbu ustunga biron bir NULL qiymatini kiritishga yo'l qo'ymaydi.
NOT NULL cheklovlarini aniqlashning ikki yo'li mavjud. Agar jadval hali yaratilmagan bo'lsa va jadvaldagi har qanday ustun NULL qiymatiga ega bo'lmasligini bilsak, jadvalni o'zi yaratishda NOT NULL cheklovlarini aniqlashimiz mumkin. Quyida BOOKS jadvalini yaratish jadvalning ISBN, BOOK_NAME va PUBLISHER_NAME ustunlariga NOT NULL cheklovini yaratadi.
CREATE TABLE BOOKS (ISBN NUMBER (13) NOT NULL PRIMARY KEY,
BOOK_NAME VARCHAR2 (100) NOT NULL,
PUBLISHER_NAME VARCHAR2 (50) NOT NULL,
CATEGORY_NAME VARCHAR2 (30),
NUM_OF_PAGES NUMBER (4));
OR
CREATE TABLE BOOKS (ISBN NUMBER (13) NOT NULL,
BOOK_NAME VARCHAR2 (100) NOT NULL,
PUBLISHER_NAME VARCHAR2 (50) NOT NULL,
CATEGORY_NAME VARCHAR2 (30),
NUM_OF_PAGES NUMBER (4),
PRIMARY KEY (ISBN));
Agar jadval allaqachon yaratilgan bo'lsa va ikkinchidan, uning ustunining bir qismi NOT NULL bo'lishi kerakligini tushunsak, unda jadvalga cheklov qo'shish uchun ALTER iborasidan foydalanishimiz mumkin.
ALTER TABLE BOOKS MODIFY COLUMN ISBN NUMBER (13) NOT NULL;
ALTER TABLE BOOKS MODIFY COLUMN BOOK_NAME VARCHAR2 (100) NOT NULL;
ALTER TABLE BOOKS MODIFY COLUMN PUBLISHER_NAME VARCHAR2 (50) NOT NULL;
NOT NULL cheklovi o'z navbatida CHECK chekloviga aylantirildi. Bu yuqoridagi misoldan ko'rinib turibdi. Agar jadvalga allaqachon ba'zi ma'lumotlar o'rnatilgan bo'lsa va biz NOT NULL ustunini yaratadigan ustunda NULL qiymatlari bo'lsa, u holda bizni ustunni NOT NULL ga o'zgartirishga imkon bermaydi. Dastlab biz ustundagi barcha nulllarni ba'zi bir qo'g'irchoq qiymatlarni qo'shish yoki bu yozuvlarni olib tashlashni yakunlash orqali olib tashlashimiz kerak, qaysi biri tegishli bo'lsa. Keyin biz ustunni NOT NULL qilish uchun yuqoridagi kabi ALTER buyrug'idan foydalanishimiz mumkin.
CHeklanishlarni kiritish.
Jadval yaratayotganingizda (yoki uni o‘zgartirayotganingizda), siz maydonlarga kiritilayotgan qiymatlarga cheklanishlar o‘rnatishingiz mumkin. Bu xolda SQL cheklanishlarga to‘g‘ri kelmaydigan xamma qiymatlarni rad etadi. CHeklanishlar ikki asosiy turi mavjud: - ustun va jadval cheklanishlari. Ularning farqi shundaki ustun cheklanishi stolbsa faqat ayrim ustunlarga qo‘llanadi, jadval cheklanishi bo‘lsa bir yoki bir necha ustunlar guruxiga qo‘llanadi. Ustun cheklanishi ustun nomi oxiriga ma’lumotlar tipidan so‘ng va vergulьdan oldin qo‘yiladi. Jadval cheklanishi jadval nomi oxiriga so‘nggi dumaloq vergulьdan oldin qo‘yiladi. CHeklanishlar xisobga olingan CREATE TABLE komandasi sintaksisi:
Do'stlaringiz bilan baham: |