Tatu samar


Download 305.61 Kb.
Sana18.01.2023
Hajmi305.61 Kb.
#1099549
Bog'liq
Narzullayev Farrux



TATU Samarqand filiali Kompyuter injinering fakulteti

201-guruh talabasi

Narzullayev Farrux

SQL dasturlash fanidan MUSTAQIL

ISH

МАВЗУ: Ichki va tashqi kalitlarni o'rnatish va standart qiymatlarni belgilash operatorlaridan foydalanish(PRIMARY KEY FOREIGN KEY, NOT NULL DEFAULT,UNIQUE CHECK)

САМАРҚАНД-2023

Mavzu: Ichki va tashqi kalitlarni o'rnatish va standart qiymatlarni belgilash operatorlaridan foydalanish(PRIMARY KEY FOREIGN KEY, NOT NULL DEFAULT,UNIQUE CHECK)


Reja


1.SQL Serverdagi cheklovlar: SQL NO NULL, UNIQUE va SQL PRIMARY KEY


Ushbu maqola misollar bilan SQL Serverda SQL NOT NULL, Unique va SQL Primary Key cheklovlarini tushuntiradi.

SQL Serverdagi cheklovlar - bu ustun ma'lumotlarining yaxlitligi, aniqligi va ishonchliligini ta'minlash uchun ustunlarda ruxsat etilgan qiymatlarga nisbatan bitta ustun yoki bir nechta ustunlarda qo'llaniladigan oldindan belgilangan qoidalar va cheklovlar. Boshqacha qilib aytganda, agar kiritilgan ma'lumotlar cheklash qoidasiga javob bersa, u muvaffaqiyatli kiritiladi. Agar kiritilgan ma'lumotlar belgilangan cheklovni buzsa, kiritish operatsiyasi to'xtatiladi.


SQL Serverdagi cheklovlar ustunlar darajasida aniqlanishi mumkin, bu erda u ustun ta'rifining bir qismi sifatida belgilanadi va faqat ushbu ustunga qo'llaniladi yoki jadval darajasida mustaqil ravishda e'lon qilinadi. Bunday holda, cheklash qoidalari belgilangan jadvaldagi bir nechta ustunlarga qo'llaniladi. Cheklov jadvalni yaratishda CREATE TABLE T-SQL buyrug'i ichida yaratilishi yoki jadval yaratilgandan keyin ALTER TABLE T-SQL buyrug'i yordamida qo'shilishi mumkin. Jadvalni yaratgandan so'ng cheklov qo'shilsa, ushbu cheklovniyaratishdanoldin mavjud ma'lumotlar cheklash qoidasi uchun tekshiriladi.


SQL Serverda tez-tez ishlatiladigan oltita asosiy cheklovlar mavjud bo'lib, biz ushbu va keyingi maqoladagi misollar bilan chuqur tasvirlab beramiz. Bu cheklovlar quyidagilardir:

SQL NULL EMAS

O'ZBEKISTON


ASOSIY KALT

Xorijiy kalit


TEKSHIRING


SUVAT


Ushbu maqolada biz birinchi uchta cheklovni ko'rib chiqamiz; SQL NO NULL, UNIQUE va SQL PRIMARY KEY, qolgan uchta cheklovni keyingi maqolada yakunlaymiz. Keling, ushbu SQL Server cheklovlarining har birini qisqacha tavsif va amaliy demo bilan muhokama qilishni boshlaylik.
SQL Serverdagi cheklovlar: SQL NO NULL, UNIQUE va SQL PRIMARY KEY

Ahmad Yasin tomonidan 2017 yil 25 oktyabr

ApexSQL narxi


Ushbu maqola misollar bilan SQL Serverda SQL NOT NULL, Unique va SQL Primary Key cheklovlarini tushuntiradi.


SQL Serverdagi cheklovlar - bu ustun ma'lumotlarining yaxlitligi, aniqligi va ishonchliligini ta'minlash uchun ustunlarda ruxsat etilgan qiymatlarga nisbatan bitta ustun yoki bir nechta ustunlarda qo'llaniladigan oldindan belgilangan qoidalar va cheklovlar. Boshqacha qilib aytganda, agar kiritilgan ma'lumotlar cheklash qoidasiga javob bersa, u muvaffaqiyatli kiritiladi. Agar kiritilgan ma'lumotlar belgilangan cheklovni buzsa, kiritish operatsiyasi to'xtatiladi.


SQL Serverdagi cheklovlar ustunlar darajasida aniqlanishi mumkin, bu erda u ustun ta'rifining bir qismi sifatida belgilanadi va faqat ushbu ustunga qo'llaniladi yoki jadval darajasida mustaqil ravishda e'lon qilinadi. Bunday holda, cheklash qoidalari belgilangan jadvaldagi bir nechta ustunlarga qo'llaniladi. Cheklov jadvalni yaratishda CREATE TABLE T-SQL buyrug'i ichida yaratilishi yoki jadval yaratilgandan keyin ALTER TABLE T-SQL buyrug'i yordamida qo'shilishi mumkin. Jadvalni yaratgandan so'ng cheklov qo'shilsa, ushbu cheklovni yaratishdan oldin mavjud ma'lumotlar cheklash qoidasi uchun tekshiriladi.

SQL Serverda tez-tez ishlatiladigan oltita asosiy cheklovlar mavjud bo'lib, biz ushbu va keyingi maqoladagi misollar bilan chuqur tasvirlab beramiz. Bu cheklovlar quyidagilardir:

SQL NULL EMAS


O'ZBEKISTON

ASOSIY KALT


Xorijiy kalit

TEKSHIRING


SUVAT


Ushbu maqolada biz birinchi uchta cheklovni ko'rib chiqamiz; SQL NO NULL, UNIQUE va SQL PRIMARY KEY, qolgan uchta cheklovni keyingi maqolada yakunlaymiz. Keling, ushbu SQL Server cheklovlarining har birini qisqacha tavsif va amaliy demo bilan muhokama qilishni boshlaylik.


SQL da NO NULL cheklovi
Odatiy bo'lib, ustunlar NULL qiymatlarni ushlab turishi mumkin. SQLda NOT NULL cheklovi belgilangan ustunga NULL qiymatlarni kiritishni oldini olish uchun ishlatiladi, chunki uni ushbu ustun uchun qabul qilinmagan qiymat deb hisoblaydi. Bu shuni anglatadiki, siz INSERT yoki UPDATE iboralarida ushbu ustunga to'g'ri SQL NOT NULL qiymatini kiritishingiz kerak, chunki ustun har doim ma'lumotlarni o'z ichiga oladi.

Bizda ConstraintDemo1 jadvalini aniqlash uchun ishlatiladigan quyidagi oddiy CREATE TABLE iborasi bor deb faraz qilaylik. Ushbu jadvalda faqat ikkita ustun mavjud: ID va Ism. ID ustuni taʼrifi bayonotida SQL NOT NULL ustun darajasidagi cheklov qoʻllaniladi, bunda ID ustuni majburiy ustun sifatida koʻrib chiqiladi va u tegishli SQL NOT NULL qiymati bilan taʼminlanishi kerak. INSERT iborasida e'tibordan chetda qoldirilishi mumkin bo'lgan Ism ustuni uchun vaziyat boshqacha bo'lib, uni NULL qiymati bilan ta'minlash imkoniyati mavjud. Agar ustunni belgilashda null qobiliyati ko'rsatilmagan bo'lsa, u sukut bo'yicha NULL qiymatini qabul qiladi:

Birinchi yozuv muvaffaqiyatli kiritilishini ko'rasiz, chunki ID va Ism ustunining qiymatlari INSERT bayonotida berilgan. Identifikatorni faqat ikkinchi INSERT bayonotida ko'rsatish, Ism ustuni majburiy emas va NULL qiymatlarni qabul qilganligi sababli kiritish jarayonining muvaffaqiyatli yakunlanishiga to'sqinlik qilmaydi. Oxirgi kiritish amali bajarilmaydi, chunki biz faqat INSERT iborasini Nom ustuni uchun qiymat bilan ta'minlaymiz, ID ustuni uchun majburiy bo'lgan qiymatni ko'rsatmasdan va quyidagi xato xabarida ko'rsatilganidek, NULL qiymatini belgilash mumkin emas:

Quyidagi ALTER TABLE T-SQL iborasidan foydalanib, oldingi jadvaldagi Ism ustunini jadvalni yaratgandan song NULL qiymatlarni qabul qilishiga yo‘l qo‘ymaslik kerak deb faraz qilaylik:

Buyruq bajarilmasligini ko'rasiz, chunki u quyidagi xato xabarida ko'rsatilganidek, cheklovni yaratishdan oldin avval NULL qiymatlari uchun Ism ustunining mavjud qiymatlarini tekshiradi:

SQL NOT NULL cheklovi, shuningdek, SQL Server Management Studio yordamida, kerakli jadvalni sichqonchaning o'ng tugmasi bilan bosish va Dizayn variantini tanlash orqali yaratilishi mumkin. Har bir ustun yonida siz ushbu ustunning null qobiliyatini belgilash uchun foydalanishingiz mumkin bo'lgan kichik katakchani topasiz. Ustun yonidagi katakchani olib tashlasangiz, SQL NOT NULL cheklovi avtomatik ravishda yaratiladi va quyida ko'rsatilganidek, ushbu ustunga har qanday NULL qiymati kiritilishiga yo'l qo'ymaydi:

SQL-da UNIQUE Cheklovlar

SQL-dagi UNIQUE cheklovi ASOSIY KALTning bir qismi emas, UNIQUE cheklashda ishtirok etuvchi ma'lum bir ustun yoki ustunlar birikmasiga hech qanday takroriy qiymatlar kiritilmasligini ta'minlash uchun ishlatiladi. Boshqacha qilib aytganda, siz UNIQUE cheklovini aniqlaganingizda avtomatik ravishda yaratiladigan indeks ushbu jadvaldagi ikkita satr ushbu indeksda ishtirok etuvchi ustunlar uchun bir xil qiymatga ega bo'lmasligini kafolatlaydi va ularga faqat bitta noyob NULL
qiymatini kiritish imkoniyati mavjud. ustunlar, agar ustun NULLga ruxsat bersa.

Keling, ikkita ustunli kichik jadval yarataylik: ID va Ism. Ustun taʼrifida krsatilgan UNIQUE cheklovi tufayli ID ustunida takroriy qiymatlar saqlay olmaydi. Quyidagi CREATE TABLE T-SQL bayonotidagi kabi Ism ustunida hech qanday cheklovlar belgilanmagan:

Oldingi so'rov natijasi taqdim etilgan jadvalda SQL-da belgilangan UNIQUE cheklovini ko'rsatadi, bu quyidagicha bo'ladi:

Kiritilgan ma'lumotlarni tekshirganda, takroriy qiymatlar quyida ko'rsatilganidek aniq bo'ladi:

UNIQUE cheklovini qo'shish uchun sizda takroriy qiymatlarni o'chirish yoki o'zgartirish tanlovi mavjud. Bizning holatda, biz quyidagi UPDATE bayonotidan foydalanib, ikkinchi dublikat ID qiymatini yangilaymiz:


Oldin ko'rsatilgan T-SQL buyruqlariga qo'shimcha ravishda, UNIQUE cheklovi ham SQL Server Management Studio yordamida aniqlanishi va o'zgartirilishi mumkin. Kerakli jadvalni o'ng tugmasini bosing va Dizayn-ni tanlang. Dizayn oynasida, o'sha oynani o'ng tugmasini bosing va Indekslar/Kalitlar-ni tanlang, u erdan quyida ko'rsatilganidek, cheklovni UNIQUE deb belgilashingiz mumkin:



Agar siz ilgari bajarilmagan ikkita INSERT iborasini bajarishga harakat qilsangiz, birinchi yozuv kiritilmasligini ko'rasiz, chunki ID ustuni NULL qiymatlarga ruxsat bermaydi. Ikkinchi yozuv muvaffaqiyatli kiritiladi, chunki bular quyida ko'rsatilganidek, SQL PRIMARY KEY tushirilgandan keyin takroriy qiymatlarni kiritilishiga hech narsa to'sqinlik qilmaydi:

Download 305.61 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling