Kirish Ma’lumotlar bazasi haqida mbbt funktsityalari


-Mavzu: SQL tili operatorlari va ular bilan ishlash



Download 5,2 Mb.
bet49/79
Sana17.04.2022
Hajmi5,2 Mb.
#558651
1   ...   45   46   47   48   49   50   51   52   ...   79
Bog'liq
Maruza mbbt (1-60)

36-Mavzu: SQL tili operatorlari va ular bilan ishlash
Reja:
1. SQL konventsiyalari va dastlabki tushunchalar
2. INFORMIX identifikatorlari
3. Ma'lumotlar bazasini yaratish.

SQL konventsiyalari va dastlabki tushunchalar


4GL-da yozilgan dastur ma'lumotlar bazasini boshqarish uchun SQL (Structural Query Language) tilining retseptlaridan foydalanadi.
SQL bayonotlarini yozish formati bepul. Siz hamma narsani bir qatorga, bitta operatorni bir nechta satrga yozishingiz mumkin, operatorlarning so'zlarini ixtiyoriy miqdordagi bo'shliqlar va izohlar bilan ajratish mumkin. Operatorlarni biron bir belgi bilan ajratishning hojati yo'q (kabi; kabi). Bayonotning oxiri kontekstga qarab belgilanadi.
Eslatma: Agar siz SQL bayonotlarini 4GL dasturida emas, balki INFORMIX-SQL muhitida yozayotgan bo'lsangiz, u holda bayonotlarni nuqta-vergul (;) bilan ajratishingiz kerak.
SQL kalit so'zlarining to'liq to'plami zaxiralangan, ulardan boshqa maqsadlarda foydalanish mumkin emas (SQL va 4GL da ob'ektlar va o'zgaruvchilar nomlari).
Til kompilyatori operatorlarning katta yoki kichik harflar bilan yozilishiga ahamiyat bermaydi. U ularning o'rtasida farq qilmaydi.
Izohlar satr oxirigacha { comment } yoki -- (ikki minus belgisi) bilan belgilanadi.
INFORMIX identifikatorlari
Identifikator (ob'ekt nomi) harf yoki belgi (_) bilan boshlangan harflar, raqamlar va pastki chiziq (_) dan iborat so'zdir. INFORMIX-4GL kichik va katta harflarni ajratmaydi. Shuning uchun i_Un1023Tt va I_UN1023TT bir xil nom.
Ma'lumotlar bazasi nomi 10 dan oshmasligi kerak.
Boshqa SQL ob'ektlari - jadvallar, ustunlar, ko'rinishlar (psevdo jadvallar), sinonimlar - 18 dan ortiq emas.
SQL bayonotlari guruhlari.
SQL 4 ta guruhni o'z ichiga oladi:
Ma'lumotlarni tavsiflash operatorlari: CREATE, DROP, ALTER va boshqalar.
Ma'lumotlarni manipulyatsiya qilish operatorlari: INSERT, DELETE, SELECT, UPDATE va boshqalar.
Ma'lumotlar bazasiga kirish huquqlarini o'rnatish uchun operatorlar: GRANT / REVOKE , LOCK / OCK , SET LOCK MODE
Ma'lumotlarni himoya qilish, ma'lumotlarni tiklash va boshqa operatorlar.
1. Ma'lumotlarni tavsiflash operatorlari.
Ma'lumotlarni tavsiflash operatorlari ma'lumotlar bazasi ob'ektlarini tavsiflash (yaratish), tavsifni o'zgartirish va yo'q qilish uchun mo'ljallangan.
SQL quyidagi turdagi ob'ektlarni ajratadi:
ma'lumotlar bazasi (ma'lumotlar bazasi);
stol (stol);
ustun (ustun);
indeks (indeks);
oniy tasvir (ko'rish);
sinonim.

Har bir ob'ekt o'z nomiga ega - identifikator. Har bir ob'ektning egasi bor - ya'ni. uni yaratgan foydalanuvchi. Ob'ekt nomi ushbu shaklda egasining nomi (egasining ismi) yordamida kvalifikatsiya qilinishi mumkin: moshkow.table1


Quyida barcha ma'lumotlarni tavsiflash operatorlaridan foydalanish misollari keltirilgan. Ularning toʻliq sintaksisini 4GL Tezkor Reference Guide yoki INFORMIX-4GL Reference Guide da topish mumkin.
Ma'lumotlar bazasini yaratish.

Ma'lumotlar bazasini yarating

Istalgan vaqtda siz faqat bitta - HOZIRGI (JORIY) - ma'lumotlar bazasidagi ob'ektlarga kirishingiz mumkin. DATABASE bayonoti yangi bazani joriy bazaga aylantiradi, shu bilan birga oldingi joriy baza ob'ektlariga kirishni yopadi. CLOSE DATABASE bayonoti shunchaki joriy ma'lumotlar bazasini yopadi.

MA'LUMOTLAR BAZASI kasbi


. . . # joriy asos - zawod


MA'LUMOTLAR BAZASI stanciq


. . . # joriy baza stanciq


MA'LUMOTLAR BAZASINI YOPISH


# joriy baza yo'q

Har xil turdagi ustunlarni o'z ichiga olgan kadrlar va cheh jadvallari yaratilgan.

JADVAL YARATISH kadry(


nomerceh INT,


SERIAL tabnom,


fio CHAR(20) UNIKAL,


ish haqi PUL(16,2),


datarovd DATE,


pribytie DATETIME yildan daqiqagacha)


JADVAL YARATISH ceh ( nomerceh int, nameceh char(20) )

Mavjud jadvalda biz ustun turini o'zgartirishimiz, yangisini qo'shishimiz, eskisini yo'q qilishimiz mumkin.

ALTER TABLE kadry ADD (dolvnostx CHAR(20) OLDIN zarplata),


DROP(pribytie), CHEKLASHNI QO'SHISH UNIQUE(tabnom, fio) CHEKLASH


tabnomfio


ALTER TABLE elementlarini O'zgartirish (manu_code char(4))

Jadvalning tuzilishini o'zgartirish undagi ma'lumotlarning jismoniy o'zgarishiga olib keladi. Agar ustun turi o'zgartirilsa, undagi ma'lumotlar yangi turga aylantiriladi va agar buning iloji bo'lmasa, ALTER bayonoti xato kodi bilan "tushadi" va jadval o'zgarishsiz qoladi.
Ko'rish - "psevdo" jadval, mavjud jadvallar asosida.

CREATE VIEW faqir AS SELECT tabnom, fio, datarovd FROM kadry


QAYERDA ish haqi < 120


# yaratilgan ko'rinish - uchta ustundan iborat "psevdo-jadval"


Zarplata 120 rubldan kam bo'lgan kadrlar jadvalidan # qatorlar.

U xuddi haqiqiy jadval kabi ishlaydi, faqat uning uchun diskda bo'sh joy ajratilmaydi, chunki undagi ma'lumotlar aslida ushbu ko'rinishga asoslangan jadvalda saqlanadi.
Indeks - bu jadval ustunlariga qo'shimcha tuzilma bo'lib, ustundagi qiymatlarni qidirishni tezlashtirish uchun kerak.

Indkdtb ON kadrlar (tabnom) BO'YICHA INDEKS YARATING


# kadrlar jadvalidan tabnom ustunida indeks yaratdi. Indeks


# noyob, bu ustunda bir xil bo'lishi mumkin emasligini anglatadi


# qiymatlar.

Jadvalni indeks bo'yicha jismoniy buyurtma qilishimiz mumkin. Klasterlangan jadvalda SELECT tezroq ishlaydi.

INDEX indkdtb ni KLASTERGA ALTER

Turli jadvallardagi ustun nomlari bir xil bo'lishi mumkin. Agar biron bir SQL bayonotida bir xil nomga ega ikkita ustun qayd etilgan bo'lsa, ular o'z ichiga olgan jadvallarning nomlari bilan mos kelishi kerak. Har qanday ob'ekt nomidan oldin uning egasining ismini (egasining ismi) - ushbu ob'ektni yaratgan (CREATE) foydalanuvchining kirish nomini ko'rsatish mumkin (va ba'zan kerak).

kadry.nomerceh # ustun nomerceh jadvaldan kadry


ceh.nomerceh # ustun nomerceh jadvaldan ceh


iwanow.table1.c1 # jadval1 dan c1 ustuni iwanowga tegishli


moshkow.table1.c1 # moshkowga tegishli boshqa (!) jadval1 jadvalidan c1 ustuni

Jadval nomining sinonimi yozuvni qisqartirish uchun ishlatiladi.

petrow.sostoqnie_postow UCHUN t1 SINONIMLIGI YARATING

Endi hamma joyda (shart bo'lmasa ham) petrow.sostoqnie_postow nomi o'rniga t1 nomidan foydalanishingiz mumkin.
Ma'lumotlar bazasida tizim operatsiyalari jurnali (logfayl) bo'lishi mumkin.

KIRISH BILAN "/udd/moshkow/logfile/zawod" ma'lumotlar bazasini ishga tushirish

Agar butun ma'lumotlar bazasi uchun tranzaktsiyalar jurnali bo'lmasa, xuddi shu maqsadda ma'lumotlar bazasidagi alohida jadvallar uchun audit izi yaratilishi mumkin.

"/udd/moshkow/kadry.audit" DA kadry UCHUN AUDIT YARATING

Tabiiyki, ma'lumotlar bazasida yaratilgan har qanday ob'ekt yo'q qilinishi mumkin. Shuni yodda tutish kerakki, ma'lumotlarni tavsiflash operatorlari orqaga qaytmaydi va shuning uchun agar siz jadval yoki ma'lumotlar bazasini yo'q qilsangiz, bu abadiy ekanligini biling.

DROP VIEW kambag'al # Faqat ko'rinish yo'q qilingan. U asoslangan jadvallardagi ma'lumotlar bilan hech narsa sodir bo'lmaydi.


DROP TABLE kadry # jadvalni ma'lumotlar bilan birga yo'q qiladi.


DROP INDEX indkdtb


DOP SINONIMI t1


DROP DATABASE zawod # ma'lumotlar bazasini barcha ma'lumotlar va syslog bilan birga yo'q qiladi


2. Ma'lumotlar bazasiga kirish huquqini o'rnatish operatorlari.


Jadval egasi, ma'lumotlar bazasi ma'muri (DBA huquqlariga ega), shuningdek, huquqlarni berish huquqiga ega bo'lgan foydalanuvchi (GRANT WITH GRANT OPTIONS bayonotidan foydalangan holda) jadvalga kirish huquqini berishi va qaytarib olishi mumkin.

HAMMA MIJOLARNI OMAMMATDAN O'CHIRISH


iwanow, petrow TO mijozga BARCHA GRANT OPTION BILAN


GRANT YANGILANISH (fname, lname, kompaniya, sity), SELECT


MIJOZ TO'G'RISIDA


SIDOROVADAN BOG'LANISHNI REVOKE, ildiz


Ivanovdan DBAni bekor qilish

Faqat boshqa DBA sizning DBA huquqlaringizni olib qo'yishi mumkin (agar siz shunday bo'lsangiz, albatta). Tranzaktsiyaning davomiyligi uchun barcha o'zgartirilgan qatorlar tizim tomonidan o'zgartirishdan avtomatik ravishda bloklanadi (lekin ko'rishdan emas). Siz butun jadvalni aniq bloklashingiz mumkin, keyin tizim qatorlarni alohida bloklamaydi. Siz butun jadvalni nafaqat o'zgartirishdan, balki ko'rishdan ham bloklashingiz mumkin.

ISHNI BOSHLASH


LOCK TABLE qutisi


. . .

JADVAL ramkasini BULFIDAN OCHISH

. . .

EKSKLUZIV TABLEni qulflash

Agar sizning operatoringiz boshqa foydalanuvchi tomonidan bloklangan qatorga yozishga harakat qilsa, operator "yiqilib tushadi". Siz dasturni "Qatorlar qulfdan chiqarilishini kutish" ga o'rnatishingiz mumkin.


KUTISH UCHUN QULFLANISH REJIMINI SOZLASH


3. Tranzaktsiyalar va ma'lumotlarni qayta tiklash operatorlari.


Tizim jurnaliga ega bo'lmagan ma'lumotlar bazasida tranzaktsiyalarni amalga oshirish va joriy nazorat nuqtasiga tiklash mumkin emas.
Barcha yaxshi narsalar o'z narxiga ega bo'lganligi sababli, ma'lumotlar bazasi tizimiga ega bo'lish qo'shimcha xarajatlarni sezilarli darajada oshiradi va so'rovlarni sekinlashtiradi. Bundan tashqari, ma'lumotlar bazasi bilan faol ishlash jarayonida tizim jurnali tezda "shishib ketadi". Uni vaqti-vaqti bilan kuzatib borish va tozalash kerak.
Ma'lumotlar bazasi uchun yangi tizim jurnalini belgilang.



Download 5,2 Mb.

Do'stlaringiz bilan baham:
1   ...   45   46   47   48   49   50   51   52   ...   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