Topshiriqlarni bajaring va ballarni qo‘lga kiriting.
Topshiriqlarni alohida “Topshiriq savollari” jildidan olishingiz mumkin
15-Mavzu. SQL tilida INDEX yaratish
Amaliy masalaning nomi: Ma’lumotlar bazasidagi so‘rovlarni ishlash tezligini oshirish.
Masalaning qo‘yilishi: Restoran ma’lumotlar bazasini tuzish va menyular osti tanlangan ovqatlarga tezda buyurtma berish.
Masalaning yechilishi:Aytib o‘tish joizki kimdir och qolsa tabiga bog‘liq ravishda tamaddi xonalarga borishga oshiqadi. Ammo, u yerda kechadigan 1-muammo agarda odam ko‘p bo‘lib qoladigan bo‘lsa unga yaxshi xizmat ko‘rsata olishmasligi haqida o‘ylab boshi qotadi. Buni esa endi iloji bor, barcha soha qatori axborot texnologiyalari bu sohani ham o‘ziga qamrab oldi. Endi mijoz o‘z o‘rnida o‘tirib tabiga mos kelgan taomini tanlashi va unga xech qanagangi ortiqcha gaplarsiz buyurtma berishi mumkin. Buni biz “Aqlli tamaddi xona” lar deb atashimiz ham mumkin. Keling yaxshisi o‘z mavzumizdan kelib chiqgan holda bu texnologiyaning tezligi haqida gaplashib uning ma’lumot bilan ishlash ta’minotini o‘zimiz yaratib ko‘ramiz. Uni tasavvur qilish uchun esa quyidagi masalani yechish vaqtida bunga erishamiz. Masala: Restoranda mavjud taomlar avtomatlashtirilsin va mijoz tomonidan yuborilgan so‘rovlar tezda qabul qilinib qayta ishlansin. Masalamizni yechish uchun avval uni har doimgidek soddaroq ko‘rinishda loyihalashtirib olaylik. Ushbu loyihamizning obyektini Restoran deb nomlab uning element(kortej) larini shakllantirib olamiz: ID, Taomnoma, Narx, Tolov_turi, Tayyor_bolish_vaqti, Oshpaz. Ko‘rib turibmizki ushbu kortejlarni yanada ko‘paytirishimiz mumkin, ammo, bizga yuqoridagilar hozircha yetadi. Yaxshiroq tasavvur qilishimiz uchun esa endi bu loyihani elektronlashtiramiz:
1-Расм(Лойиҳалаштирилган жадвал)
Ushbu loyihalashtirilgan jadvalning kortejlari va unga mos bo‘lgan turlar yaratildi(1-Rasm). Endi esa bu jadvalni mos ravishda to‘ldirib chiqamiz(2-Rasm)
2-Расм(Тўлдирилган жадвал)
Mana ko‘rib turibmizki jadvalimizni ham shakllantirib oldik. Endi jadvalimiz ustunlariga indekslarni o‘rnatamiz. Bir narsa yodimizdan ko‘tarilmasligi lozim, indekslarning ta’riflarini ma’ruza darslarimizdan eslab olgan holda shakllantirishimiz zarur. O‘ylab ko‘rishimizcha mijozlar faqatgina Taomnomada keltirilgan taomlarni yoki ichimliklarni buyurtma qilishi mumkinligini bilgan holda huddi shu atribut(ustun nomi)ga 1-turdagi indeksimizni o‘rnatamiz. Buning uchun SQL da quyidagicha kod(3-Rasm) ketma-ketligini yozamiz
3-Расм(Таомнома устунига нисбатан яратилган индекс)
To‘g‘ri xech qanaqangi o‘zgarish sezmadingiz, bu aniq. Ammo, eng qiziqarlisi ham shunda. Indeks faqatgina ma’lumotlar bazasidagi so‘rovlarni tezda mijozga etib borishini ta’minlaydi holos. U hech qanaqangi ma’lumotlar bazasining kortejlariga shikast yetkazmaydi. Ho‘sh, unda qanday qilib indeks bizning bazamizda o‘rnatilganligini bilishimiz mumkin degan savolimizga quyidagi(5-6-Rasm) lar orqali javob berishga harakat qilamiz
5-Расм(Структура менюси)
Ushbu oynani topgan bo‘lsak undan +Indeksi buyrug‘ini tanlab quyidagi(6-Rasm) ni hosil qilamiz