Интерактивные задания, привязанные к этому уроку — выполните в реальной среде Kubernetes и проверьте результат.
database
SQL: ustunni tanlash va tartiblash (SELECT/ORDER BY)
Osonbolt+10 XP
Inventar bazasidan servis NOMLARI ro'yxati kerak — alifbo tartibida (hisobot deterministik bo'lsin). Baza (/root/sql/db.sqlite) services(name, env, port, cpu) Vazifa /root/sql/query.sql — barcha servis nomlarini alifbo tartibida qaytarsin Muvaffaqiyat mezoni (jonli) sqlite3 db.sqlite < query.sql → tartiblangan nomlar (checker boshqa ma'lumotli baza bilan ham sinaydi)
database
SQL: WHERE bilan filtr — faqat prod servislari
Osonbolt+10 XP
Audit uchun faqat prod muhitidagi servislar nomi kerak. Vazifa query.sql — env ustuni prod bo'lgan qatorlarning nomini alifbo tartibida qaytarsin Muvaffaqiyat mezoni (jonli) dev/staging qatorlari natijaga kirmaydi
database
SQL: raqamli taqqoslash bilan filtr
Osonbolt+10 XP
Xavfsizlik skaneri 1024 dan YUQORI (imtiyozsiz) portlarda ishlaydigan servislarni ro'yxatlashi kerak. Vazifa query.sql — port 1024 bo'lgan servislar nomini port bo'yicha o'sish tartibida qaytarsin Muvaffaqiyat mezoni (jonli) 80/443 kabi past portlar chiqmaydi
database
SQL: kamayish tartibi va ikkilamchi kalit
Osonbolt+15 XP
Resurs hisobotida servislar CPU bo'yicha KAMAYISH tartibida, teng CPU'da esa nom bo'yicha alifboda chiqishi kerak (barqaror tartib). Vazifa query.sql — name ustunini cpu DESC, name ASC tartibida qaytarsin Muvaffaqiyat mezoni (jonli) Eng katta CPU birinchi; teng qiymatlarda alifbo hal qiladi
database
SQL: eng resurs-talab servislar (LIMIT)
Osonbolt+10 XP
Optimallashtirish uchun eng KO'P CPU yeyayotgan 2 ta servis kerak — to'liq ro'yxat emas, top-N. Vazifa query.sql — CPU bo'yicha kamayish tartibida faqat DASTLABKI 2 nomni qaytarsin (LIMIT) Muvaffaqiyat mezoni (jonli) Natija aynan 2 qator
database
SQL: noyob qiymatlar ro'yxati (DISTINCT)
Osonbolt+10 XP
Bazada qaysi MUHITLAR ishlatilayotganini bilish kerak — takrorlarsiz ro'yxat. Vazifa query.sql — env ustunining noyob qiymatlarini alifbo tartibida qaytarsin Muvaffaqiyat mezoni (jonli) Har muhit bir marta
database
SQL: qiymatlar ro'yxati bo'yicha filtr (IN)
Osonbolt+15 XP
Hisobotga faqat prod VA staging muhitlari kerak (dev chiqarilmasin) — ikkita OR o'rniga bitta IN. Vazifa query.sql — env IN ('prod','staging') qatorlarining nomini alifbo tartibida qaytarsin Muvaffaqiyat mezoni (jonli) dev qatorlari yo'q
database
SQL: naqsh bo'yicha qidiruv (LIKE)
Osonbolt+15 XP
Nomi web bilan BOSHLANADIGAN barcha servislar kerak (web, web-eu, web2...). Vazifa query.sql — name LIKE 'web%' qatorlarini alifbo tartibida qaytarsin Muvaffaqiyat mezoni (jonli) webdan boshlanmaganlar chiqmaydi
database
SQL: NULL qiymatlarni topish (IS NULL)
Osonbolt+15 XP
owner ustuni to'ldirilmagan (NULL) servislar — egasiz resurslar auditda chiqishi kerak. Vazifa query.sql — owner IS NULL bo'lgan servislar nomini alifbo tartibida qaytarsin Muvaffaqiyat mezoni (jonli) Egasi bor qatorlar chiqmaydi
database
SQL: murakkab shart — AND/OR va qavslar
Murakkabbolt+25 XP
Kapasitet rejasi: prod muhitida CPU 400 dan katta YOKI istalgan muhitda port 443 bo'lgan servislar kerak — qavslar bilan aniq ifodalangan holda. Vazifa query.sql — (env='prod' AND cpu 400) OR port=443 shartiga mos nomlarni alifbo tartibida qaytarsin Muvaffaqiyat mezoni (jonli) Shartning ikkala tarmog'i ham sinaladi
database
SQL: qatorlar sonini hisoblash (COUNT)
Osonbolt+10 XP
Inventarda nechta servis ro'yxatda ekani hisobot uchun kerak — bitta son. Vazifa query.sql — services jadvalidagi qatorlar sonini qaytarsin Muvaffaqiyat mezoni (jonli) Checker boshqa hajmdagi baza bilan ham sinaydi
database
SQL: ustun yig'indisi (SUM) — umumiy CPU talabi
Osonbolt+10 XP
Kapasitet rejasi uchun BARCHA servislar CPU talabining yig'indisi kerak. Vazifa query.sql — cpu ustuni yig'indisini qaytarsin Muvaffaqiyat mezoni (jonli) 200+150+400+250 → 1000
database
SQL: o'rtacha qiymat va yaxlitlash (AVG/ROUND)
Osonbolt+15 XP
Hisobotda o'rtacha CPU talabi BIR xonali kasr bilan ko'rsatilishi kerak (format barqaror bo'lsin). Vazifa query.sql — ROUND(AVG(cpu), 1) qiymatini qaytarsin Muvaffaqiyat mezoni (jonli) (200+150+400+250)/4 → 250.0
database
SQL: eng kichik va eng katta qiymat birga (MIN/MAX)
Osonbolt+10 XP
Port diapazoni auditi: ishlatilayotgan ENG KICHIK va ENG KATTA port bitta so'rovda. Vazifa query.sql — MIN(port) va MAX(port) ni bitta qatorda qaytarsin Muvaffaqiyat mezoni (jonli) Natija min|max ko'rinishida (sqlite ustun ajratkichi)
database
SQL: muhit bo'yicha servislar soni (GROUP BY)
Osonbolt+15 XP
Har MUHITDA nechta servis borligi kerak — GROUP BY bilan guruhlangan sanash. Vazifa query.sql — env, COUNT( ) ni env bo'yicha guruhlab, env alifbo tartibida qaytarsin Muvaffaqiyat mezoni (jonli) dev|1, prod|3 ko'rinishidagi qatorlar
database
SQL: muhit bo'yicha CPU yig'indisi (GROUP BY SUM)
Osonbolt+15 XP
Xarajat taqsimoti: har muhit bo'yicha JAMI CPU talabi. Vazifa query.sql — env, SUM(cpu) guruhlangan holda, env alifbo tartibida Muvaffaqiyat mezoni (jonli) dev|150, prod|850 ko'rinishida
database
SQL: guruh natijasini filtrlash (HAVING)
Murakkabbolt+25 XP
Faqat 2 va undan ORTIQ servisli muhitlar hisobotga kirsin — guruhlangan NATIJA ustidan filtr. Vazifa query.sql — env bo'yicha guruhlab, HAVING COUNT( ) = 2 bilan filtrlangan env|soni qaytarsin (env tartibida) Muvaffaqiyat mezoni (jonli) 1 servisli muhitlar chiqmaydi
database
SQL: noyob qiymatlar soni (COUNT DISTINCT)
Osonbolt+15 XP
Nechta HAR XIL muhit ishlatilayotgani kerak — ro'yxat emas, faqat SON. Vazifa query.sql — COUNT(DISTINCT env) ni qaytarsin Muvaffaqiyat mezoni (jonli) prod/dev takrorlangan bazada natija noyoblar soni
database
SQL: COUNT(*) va COUNT(ustun) farqi — NULL ta'siri
Murakkabbolt+25 XP
Ma'lumot sifati hisoboti: jami qatorlar VA owner to'ldirilgan qatorlar soni bitta so'rovda — farq NULL'lar sonini beradi. Vazifa query.sql — COUNT( ) va COUNT(owner) ni bitta qatorda qaytarsin Muvaffaqiyat mezoni (jonli) 4 qator, 2 tasi owner'siz → 4|2
database
SQL: guruhlarni agregat bo'yicha tartiblash
Murakkabbolt+25 XP
Qaysi muhitda eng KO'P servis borligi birinchi ko'rinsin: guruhlar soni bo'yicha kamayish tartibida, tenglikda env alifboda. Vazifa query.sql — env|soni ni COUNT( ) DESC, env ASC tartibida qaytarsin Muvaffaqiyat mezoni (jonli) Eng katta guruh birinchi qator