O`ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
SAMARQAND FILIALI
"Telekomunikatsiya texnilogiyalari" fakulteti
"Axborot texnologiyalari" kafedrasi
"Ma’lumotlar bazasi" fanidan
Labaratoriya ishi №4
Bajardi: Mardiuev Alisher
Qabul qildi: Qudratov Rustam
Samarqand – 2022
INDEX yaratish uchun qaysi operator ishlatiladi va uni sintaksisi qanaqa?
Javob: Indekslar jadval satrlarini tezkor qidirish uchun ishlatiladi. Agar jadvalda indekslar mavjud bo‘lsa har yangi satr qo‘shilganda jadval indeks bo‘yicha qayta tartiblanadi shu sababli yangi satr kiritish vaqti cho‘ziladi, lekin jadvalda qiymat qidirish ancha tezlashadi. SQL tilini namunasida bunday operator yo‘q, lekin barcha dialektlarda bunday operator bor. Indeks jadvalini yaratish uchun CREAT INDEX operatorini qo‘llash kerak:
::= CREATE [UNIQUE] INDEX ON ({ [ASC I DESC] } [,…])
create unique index FISH_index on xodimlar(id);
INDEX va VIEWni o‘zgartirish va o‘chirish uchun qaysi operator ishlatiladi?
Javob: Tasavvurni olib tashlash uchun DROP VIEW operatori qo‘llanadi, uning shakli quyidagicha:
::= DROP VIEW <nomi> [RESTRICT | CASCADE] DROP VIEW operatorni bajarish natijasida, tasavvurning tavsifi ma’lumotlar bazasidan olib tashlanadi. CREATE, ALTER va DROP TABLE operatorlari ma’lumotlar bazasida jadvallar yaratish, shaklini o'zgartirish va olib tashlash imkoniyatini beradi. DROP VIEW operatorni bajarish natijasida, tasavvurning tavsifi ma’lumotlar bazasidan olib tashlanadi.
Tasavvur bu nima? Tasavvur qaysi operator orqali yaratiladi?
Javob: Tasavvur - bu bitta yoki bir nechta fizik jadvallar ustidan bajarilgan amallar natijasida hosil bo‘lgan natijaviy dinamik jadvaldir. Tasavvur bu so’rov natijasida yaratilgan virtual jadval hisoblanadi. Tasavvurni haqiqiy jadvaldan farqi shundaki, bunday jadval fizik mavjud emas. Uning ustunlari va satrlari haqiqiy jadvaldan olingan va tasavvur ustidan bajarilgan barcha ishlovlar haqiqiy jadvallarni o‘zgartiradi. MBBT tasavvurlarni tavsifini berilganlar bazasida saqlaydi. Bunday tasavvurga murojaat qilinganda MBBT ikki usul bilan ishlashi mumkin.
Birinchi usul bo'yicha tasavvurga bo‘lgan har murojaatda ko‘rsatilgan so’rov bajariladi va natijada vaqtincha jadval hosil bo‘ladi, tasavvur ishlatilgandan so'ng jadval tizim tomonidan olib tashlanadi.
Ikkinchi usulda esa, tasavvur uchun alohida vaqtincha jadval tuziladi va tasavvurga kirgan jadvallarning o‘zgarishining jarayonida birdaniga vaqtincha jadval ham o‘zgaradi.
Tasavvurni yaratish uchun CREATE VIEW operatori ishlatiladi uning sintaksisi quyidagicha:
::= CREATE VIEW [{ [,...])] AS [ WITH [ CASCADED | LOCAL ] CHECK OPTION ]
Tasavvur SELECT operatori orqali tavsiflanadi. Natijaviy jadvalning ustunlariga yangi nomlar berish mumkin, bu holda ro‘yxatdagi ustunlar nomining soni natijaviy jadvaldagi ustunlarning soniga teng bo’lishi kerak. Agarda natijaviy jadvalda hisoblanuvchi ustunlar yoki bir xil nomli ustunlar mavjud bo'lsa, ustunlarni yangi nomlari ko’rsatilishi shart. Tanlash operatori orqali berilgan so‘rov qismi aniqlovchi so’rov, deb nomlanadi. WITH CHECK OPTION konstruksiyasi ko’rsatilsa, o‘zgartirilgan satr aniqlovchi so’rovning WHERE bo‘limidagi ko’rsatilgan shartni qanoatlantirmasa, manba jadvalga mos satr o‘zgartirilmaydi.
CREATE VIEW Tassavvur_xodim AS SELECT *FROM xodimlar WHERE xodimlar.ID=3;
Tasavvur ishlovli bo‘lishi uchun nimalarni qanoatlantirishi lozim?
Javob: SQL namunasidagi tasavvurda ishlov amallarini quyidagi hollarda bajarish mumkin:
konstruksiya tavsifida DISTINCT kalit so'zi ishlatilmasa, ya’ni natijaviy jadvaldan qaytarilgan satrlar olib tashlanmagan bo'lsa;
aniqlovchi so'rovdagi SELECT konstruksiyasidagi ustunlar ro'yxatida faqat ustun nomi (o'zgarmas, ifoda, agregat funksiyalar ishlatilmagan holda) bo'lishi va bu nom ro'yxatda bir marta qatnashishi kerak;
FROM konstruksiyasida faqat bitta jadval ko'rsatilgan bo'lsa, ya’ni tasavvur yagona jadval asosida tuzilgan bo'lsa, undan tashqari manba jadvalning o'zi ham tasavvur bo'lsa, u ham bitta jadval asosida tuzilgan bo'lishi kerak. Bu talab jadvallarni tutashtirish (JOIN), birlashtirish (UNION), kesishish (INTERSECT) yoki ayirish (EXEPT) amatlari asosida tuzilgan tasavvurlar ustidan ishlov man etilishiga olib keladi;
FROM konstruksiyasida ko'rsatilgan jadvalga tegishli bo'lgan ustunlar WHERE konstruksiyani ichki so'rov qismining SELECT ro'yxatiga kirmagan bo'lsa;
aniqlovchi so'rovda GROUP BY va HAVING konstruksiyalar bo'lmasa.
Bu holda bunday tasavvurlar ishlovli tasavvurlar deb nomlanadi.
Xulosa
Ushbu mustaqil ishini bajarish natijasida men VIEW operatorining vazifalarini o’rgandim. VIEW operatorining vazifasini. Bu operator yordamida virtual jadvalhosil qilishni o’rgandim. VIEW operatori bilan ishlaganda hosil qilingan jadvaling ustun nomlari bilan bir xil bulmasligi va VIEW operatori bilan birgalikda WHERE operatorlarinni ham ishlatishni o’rgandim.
Do'stlaringiz bilan baham: |