Topshiriq savollari
Guruhingiz jurnalidan o’zingizni nechanchi raqamda ekanligingizni aniqlang va topshiriqlar jildidan foydalanib shu nomerdagi loyiha nomini oling. Ushbu mavzu yuzasidan loyiha ustida amallarni bajaring. Topshiriqni bajarib bo’lgach uni word dasturidan foydalanib hisobot shaklida 8-Laboratoriyani tekshirish uchun jo’natish bo’limiga kirib fan o’qituvchisiga yuboring.
10-LABORATORIYA ISHI
Mavzu. Union, Intersect va Minus standart so‘zidan foydalanish.
Amaliy masalaning nomi: MySQL da tovarlarni maxsulotlar omborida ro‘yxatdan o‘tqazish.
Masalaning qo‘yilishi: Union, Intersect va Minus standart so‘zidan foydalanib tovar ma’lumotlariga ishlov berish.
Masalaning yechilishi: Tasavvur qilaylik, 2ta tovar nomlari keltirilgan jadval shakllantirilgan.
1-Расм.(Tovar1 жадвали)
|
2-Расм.( Tovar2 жадвали)
|
Zaxira omborida 1-Rasmda keltirilgan tovarlar bor, ammo, 2-Rasmdagi ayrim tovarlar yo‘q. Shu sababli faqat zaxira omorida yo‘q tovarlarni olib qolish uchun UNION operatoridan foydalanamiz. YA’ni, bu operator jadvaldagi ma’lumotlarni bir-biriga qo‘shishga o‘xshab ketadi. Bu jarayonni PhpMyAdmin da sinab ko‘ramiz va unga javob olamiz.
Yuqoridagi masalaga UNION operatori orqali so‘rov yozamiz(3-rasm) va so‘rovni tasdiqlab kuyidagi natijani olamiz(4-Rasm)
3-Расм(Масала шартига кўра сўров)
|
4-Расм(Натижа)
|
Endi esa INTERSECT operatorini qachon qo‘llash haqida gaplashamiz. Bu so‘z inglizchadan olingan bo‘lib intersection o‘zbekchada kesishma degan ma’noni bildiradi. Xo‘sh, uni qachon qo‘llash mumkin? Bu operator asosan jadvallarni to‘plamlar tariqasida qarasak, ular qaysi bir elementlar bilan o‘xshashlikga ega ekanligi hakida habar beradi. Keling uni soddaroq tushunish uchun yuqoridagi jadvallardan foydalangan holatda unga oydinlik kiritamiz. 1-Rasm dagi jadvalimiz 3ta kortejga ega, 2-Rasm dagi jadvalimiz esa 5ta kortejga ega. Xo‘sh nima deb o‘ylaysiz, bizda o‘xshash kortejlar bormi? Ha,bor. Bu ID=3 va Nomi=Non bo‘lgan kortejdir. Uning MySQL dagi yechimiga keladigan bo‘lsak, u quyidagicha bo‘ladi:
5-Расм(MySQL даги сўров)
|
6-Расм(Натижа)
|
MINUS operatorini nomlanishini o‘qigan odam qanday vazifa bajarishini anglagan bo‘lishi mumkin. To‘g‘ri, bu operator to‘plamlar orasida ayirish vazifasini bajaradi. YA’ni, qaysi bir to‘plam 1-o‘rinda kelgan bo‘lsa u asosiy to‘plam deb qaralib, 2-o‘rinda kelgani tashuvchi bo‘lib xizmat qiladi. Keling, yuqorida berilgan jadvallar orasida ushbu amalni bajarib natija olaylik(Tovar1 – Tovar2). Tovar1 to‘plam deb tasavvur qilib uning ichidagi kortejlarini shu to‘plamning elementlari deb faraz qilaylik. Huddi shu farazni Tovar2 jadvali uchun ham o‘rinli deb qarab quyidagilarni hosil qilamiz: Tovar1((1,Yog‘), (2,Un), (3,Non)); Tovar2((1,Go‘sht), (2,Suv), (3, Non), (4,Tuz), (5,Shakar)). Yuqoridagi tuzib olingan to‘plamlarni bir-biridan ayiramiz va Tovar3 bo‘lgan yangi to‘plamni hosil qilamiz:
Tovar1-Tovar2= Tovar3;
Tovar3=Tovar1((1,Yog’), (2,Un), (3,Non)) - Tovar2((1,Go’sht), (2,Suv), (3, Non), (4,Tuz), (5,Shakar))= ((1,Yog’), (2,Un));
Yechim tariqasida Tovar3=((1,Yog‘), (2,Un)) ga teng bo‘ldi. Sizda savol paydo bo‘lganligi tayin. YA’ni, nega Tovar1 to‘plamining atiga 1ta elementi o‘chirildiyu Tovar2 to‘plamining barcha elementlari o‘chirib yuborildi degan. To‘g‘ri, lekin uning javobini biz yuqorida keltirib o‘tgan nazariyalardan qidirib topasiz. Endi esa uning MySQL dagi so‘rov asosida qurilgan yechimiga e’tibor qaratamiz:
7-Расм(MySQL даги сўров)
|
8-Расм(Натижа)
|
Ayrim masalalarni MySQL ni qo‘llab quvvatlaydigan muhitlarda qo‘llasangiz xatolik berishi mumkin. Ammo, uning mantiqiy ma’nosi xuddi shu ko‘rinishga va yechimiga ega bo‘lishi aniq.
Topshiriqlarni bajaring va ballarni qo‘lga kiriting.
Topshiriqlarni alohida “Topshiriq savollari” jildidan olishingiz mumkin
Do'stlaringiz bilan baham: |