Kirish Ma’lumotlar bazasi haqida mbbt funktsityalari


-Mavzu: Sqlda Jadvallarni ozgartrish



Download 5,2 Mb.
bet77/79
Sana17.04.2022
Hajmi5,2 Mb.
#558651
1   ...   71   72   73   74   75   76   77   78   79
Bog'liq
Maruza mbbt (1-60)

58-Mavzu: Sqlda Jadvallarni ozgartrish
Reja:
1. TABLE ALTER
2. Jadvalni o'zgartirishga tayyorgarlik
3. DEFICIT jadvali
Ustun qo'shish va o'chirish uchun TABLE ALTER, standart qiymatlar
Jadvalga yangi ustun qo'shish uchun ALTER TABLE buyrug'i bilan so'rov quyidagi sintaksisga ega:

TABLE_NAME JADVALNI ALTERNING YANGI_COLUMN_NAME DATA_TYPE QO‘SHISH


Misol 1. Kompaniyaning ma'lumotlar bazasi mavjud - Kompaniya. Unda xodimlar jadvali mavjud. Ushbu jadvalga yangi ustun qo'shish talab qilinadi - JINSIY (Gender). Tegishli so'rov quyidagicha ko'rinadi:

ALTER TABLE XODIMI JINSIY CHAR (1)


Shunday qilib, jadvalda yangi ustun paydo bo'ldi, uning qiymatlari belgilar turini olishi va bitta belgidan iborat bo'lishi mumkin.
Aytaylik, endi siz sukut bo'yicha jadvaldagi yozuvlar qiymatini o'rnatmoqchisiz. Buning uchun ALTER TABLE buyrug'i bilan so'rov boshqa buyruqni o'z ichiga oladi - ALTER COLUMN - va quyidagi sintaksisga ega:

TABLE_NAME JADVALNI ALTER TABLE_NAME USTUNNI ALTER QO‘YILGAN USTUN_NAME SUV O‘RNATISH “DEFAULT_VALUE”


2-misol. Ma'lumotlar bazasi Kompaniya nomini olgan kompaniyada asosan ayollar ishlaydi deylik. DBA JINSIY (Gender) ustunini ma'lumotlar bilan to'ldirish jarayonini qisqartirishga va uning standart qiymatini "F" (ayol ma'nosi) ga o'rnatishga qaror qildi. Tegishli so'rov quyidagicha ko'rinadi:

ALTER TABLE XODIMI JINSIY ALOQA USTUNNI O‘ZGARTIRISH SUVGA “F”


Endi faqat yangi xodim erkak bo'lsa, JINSIY ALOQA ustuniga "M" qiymatini kiritish kerak bo'ladi va ko'p hollarda qiymat sukut bo'yicha o'rnatiladi - "F".
Jadvaldan ustunni olib tashlash uchun ALTER TABLE buyrug'i bilan so'rovdan ham foydalanishingiz mumkin. Buyruqning sintaksisi quyidagicha bo'ladi:

TABLE_NAME JADVALNI O'ZGARTIRISh USTUN_NAME


Misol 3. Xuddi shu Kompaniya ma'lumotlar bazasida siz Xodimlar jadvalidan JINSIY (Gender) ustunini olib tashlamoqchisiz. Tegishli so'rov quyidagicha ko'rinadi:

O'ZGARTIRISh TABLE XODIMI DOPLASH USTUN JINSIY ALOQA


Shunday qilib, jadvalda yangi ustun paydo bo'ldi, uning qiymatlari belgilar turini olishi va bitta belgidan iborat bo'lishi mumkin.
Kalitlarni qo'shish uchun TABLE ALTER
Ma'lumotlar bazasi jadvallaridagi kalitlar haqida - darsda Relyatsion ma'lumotlar modeli . Agar ma'lumotlar bazasi jadvalini yaratishda birlamchi kalit (PRIMARY KEY) aniqlanmagan bo'lsa, buni ALTER TABLE buyrug'i yordamida amalga oshirish mumkin. Oddiy asosiy kalit uchun buyruq sintaksisi:

TABLE_NAME JADVALNI O‘ZGARTIRISh ASOSIY KALT (ID_NAME)


Kompozit asosiy kalitda buyruq sintaksisi:

JADVAL_NAME ALTER TABLE_NAME ASOSIY KALT QO‘SHISH (ID_NAME_1, ID_NAME_2)


4-misol. Biz hali ham xuddi shu Kompaniya ma'lumotlar bazasi, HIZMAT ustuni bilan ishlaymiz. Ushbu ustunga oddiy asosiy kalitni xodim identifikatori sifatida qo'shishimiz va buni shunday qilishimiz mumkin:

ALTER TABLE XODIMI ASOSIY KALIT QO'SHISH (EMP_ID)


Agar siz xodim identifikatori va xodim ishlaydigan bo'lim identifikatoridan iborat kompozit kalitdan foydalanishga qaror qilsangiz, quyidagi so'rovdan foydalaning:

ALTER TABLE XODIMI ASOSIY KALIT QO'SHISH (EMP_ID, DEPT_ID)


Cheklovlarni qo'shish va olib tashlash uchun TABLE ALTER
Qanday yaxlitlik cheklovlari darsda muhokama qilindi Relational ma'lumotlar modeli . Muxtasar qilib aytganda, bitta jadvaldan (1), boshqa jadvaldagi (2) har qanday satrni o'chirishda, jadvalning (1) qatoriga tegishli qatorni o'chirishda jadvalda (1) mavjud bo'lmagan havolalar bo'lmasligi kerak. ), bu hech qaerga olib kelmaydigan havolalar.
Bunday havola uchun qiymatni NULL ga o'rnatish uchun ALTER TABLE iborasi kerak bo'lishi mumkin. Uning sintaksisi quyidagicha:

REFERENCE_TABLE_NAME JADVALNI O‘ZGARTIRISH ID_NAME CHEKLASHTIRISHNI QO‘SHISH CHETIY KALYONA REFERENCE_TABLE_NAME O‘CHIRISH SET NULL


5-misol. Xuddi shu ma'lumotlar bazasida siz ma'lumotnoma cheklovini o'rnatmoqchisiz: Dept jadvalidan biron bir bo'limni o'chirib tashlaganingizda, Xodimlar jadvalida ushbu bo'limlarga havolalar mavjud, mos yozuvlar qiymati (xorijiy kalit) NULL ga o'rnatilishi kerak. (mutlaqo aniqlanmagan). Tegishli so'rov quyidagicha ko'rinadi:

ALTER TABLE XODIMI QO'SHISH CHEKLAVCHI DEPT_ID CHORIY KALİT (DEPT_ID) REFERANSLAR BO'LIMI O'CHIRISH BO'LGAN SET NULL


Shunday qilib, agar Xodimlar jadvalida to'satdan tugatilgan bo'limda ishlaydigan xodim bo'lsa va u haqidagi yozuv Dept jadvalidan o'chirilgan bo'lsa, u holda ushbu xodim haqidagi yozuvdagi DEPT_ID ustunining qiymati NULL bo'ladi.
ALTER TABLE buyrug'i bilan so'rov, agar jadval (2) da kamida bitta yozuv mavjud bo'lsa (1) jadvaldagi yozuv bilan havola qilingan bo'lsa, (1) jadvaldagi havola yozuvlarini o'chirishni taqiqlashni ham o'rnatishi mumkin. Bunday so'rovning sintaksisi quyidagicha:

REFERENCE_TABLE_NAME JADVALNI O‘ZGARTIRISH ID_NAME CHEKLASHTIRISHNI QO‘SHISH CHORIY MUHIM ADABIYoTLAR REFERENCE_TABLE_NAME CHEKLANISHNI O‘CHIRISH BO‘YICHA


Misol 6. Keyinchalik, biz darsda yaratgan dorixona tarmog'ining ma'lumotlar bazasi bilan ishlaymiz SQL ma'lumotlar bazasi va ma'lumotlar bazasi jadvallarini yaratish .
Quyidagi o'zgartirish jadvali bayonoti, agar bu guruhda kamida bitta dori bo'lsa, preparat guruhini Guruh jadvalidan o'chirishni taqiqlaydi, bu tayyorgarlik jadvalidagi yozuv bilan aniqlanadi:

Jadvalni o'zgartirishga tayyorgarlik qo'shish cheklovi GR_ID tashqi kaliti (GR_ID) havolalari O'chirish cheklovlari bo'yicha guruh


Agar ushbu dorixonaning kamida bitta xodimi bo'lsa, biz dorixonani Dorixona jadvalidan o'chirishni taqiqlaymiz, bu Xodimlar jadvalidagi yozuv bilan belgilanadi:

jadvalni oʻzgartirish Xodim qoʻshish cheklovi PH_ID tashqi kaliti (PH_ID) havolalari Oʻchirish boʻyicha dorixona cheklovi


ALTER TABLE so'rovi yordamida siz (1) jadvaldagi yozuvga havola qilingan (2)-jadvaldagi yozuvni o'chirsangiz, (1)-jadvaldagi barcha mos yozuvlar o'chirilishi kerakligini (kaskadli o'chirish) belgilashingiz mumkin. Bunday so'rovning sintaksisi quyidagicha:

REFERENCE_TABLE_NAME JADVALNI O‘ZGARTIRISH CHEKLAVCHI ID_NAME CHETIY ASOSIY ISHLAB CHIQISH REFERENCE_TABLE_NAME CASKADNI O‘CHIRISH BO‘YICHA


Misol 7. Biz dorixona tarmog'i ma'lumotlar bazasi bilan ishlashni davom ettiramiz.
Biz VAILABILITY jadvalini yana yangilaymiz va agar preparat TAYYORLASH jadvalidan olib tashlangan bo'lsa, MAVJUDLIK jadvalidagi ushbu dori haqidagi barcha yozuvlar o'chirilishi kerakligini aniqlaymiz.

jadvalni oʻzgartirish AVAILABILITY cheklovni qoʻshish PR_ID tashqi kaliti (PR_ID) havolalari kaskadni oʻchirishga TAYYORLASH


Endi biz shuni aniqlaymizki, agar biz dorixonani DOZIYaA jadvalidan o'chirsak, MAVJUDLIK jadvalidagi ushbu dorixonaning barcha yozuvlari o'chirilishi kerak:

jadvalni oʻzgartirish AVAILABILITY cheklovni qoʻshish PH_ID tashqi kaliti (PH_ID) havolalari PHARMACY kaskadini oʻchirish


Quyidagi buyruq DEFICIT jadvalini o'zgartiradi va agar preparat TAYYORLASH jadvalidan olib tashlangan bo'lsa, DEFICIT jadvalidagi ushbu dori uchun barcha yozuvlar o'chirilishi kerakligini belgilaydi:

jadvalni oʻzgartirish DEFICIT cheklovni qoʻshish PR_ID tashqi kaliti(PR_ID) havolalari oʻchirish kaskadiga TAYYORLASH


>
Biz DEFICIT jadvalini yana o'zgartiramiz va agar biz dorixonani DOZIKOA jadvalidan o'chirib tashlasak, ushbu dorixonaning DEFICIT jadvalidagi barcha yozuvlari o'chirilishi kerakligini aniqlaymiz:

DEFICIT jadvalini oʻzgartirish cheklovni qoʻshish PH_ID tashqi kaliti(PH_ID) havolalari PHARMACY kaskadni oʻchirish


ALTER TABLE buyrug'i bilan so'rov chek cheklovini o'rnatishi mumkin. Bunday so'rovning sintaksisi quyidagicha:

TABLE_NAME JADVALNI O‘ZGARTIRISH CHEKLANISH CHECK_MA’LUMOTLARINI TEKSHIRISH (TESHKORISH SHARTI)


Misol 8. Biz dorixona tarmog'i ma'lumotlar bazasi bilan ishlashni davom ettiramiz.
Siz AVAILABILITY jadvalini o'zgartirishingiz va xuddi shu yozuvda jadvalning DateStart atributining qiymati DateEnd qiymatidan kam bo'lmasligi kerakligini belgilashingiz kerak.

JADVAL MAVJUDLIGINI O'ZGARTIRISh CHEKLASH CHECK_MALATLARI TEKSHIRISHINI QO'SHISH (Sana Boshlanish < Sana End)


Biz DEFICIT jadvalini o'zgartiramiz va xuddi shu yozuvda jadvalning DateStart atributining qiymati DateEnd qiymatidan kam bo'lmasligi kerakligini aniqlaymiz:



Download 5,2 Mb.

Do'stlaringiz bilan baham:
1   ...   71   72   73   74   75   76   77   78   79




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish