SQLab
O‘rganishMashqMasalalarArenaReyting
© 2026 SQLab · Toshkent
SQLab

SQL’ni o‘rnatmasdan, brauzerning o‘zida o‘rganing.

Platforma

  • O‘rganish
  • Mashq
  • Masalalar
  • Arena
  • Reyting

Kimlar uchun

  • Talabalar
  • Ustozlar
  • Universitetlar
© 2026 SQLab. Barcha huquqlar himoyalangan.O‘zbekistonda, talabalar uchun yaratilgan.
O‘rganishMashqMasalalarArenaReyting
0/26

Asoslar

  • Ma’lumotlar bazasi nima?
  • Birinchi SELECT
  • WHERE: kerakli qatorlarni tanlash
  • IN, BETWEEN, LIKE va NULL
  • Saralash, LIMIT va DISTINCT

Hisob-kitob

  • Ifodalar, funksiyalar va CASE
  • Sanalar bilan ishlash
  • COUNT, SUM, AVG, MIN, MAX
  • GROUP BY va HAVING

Jadvallarni ulash

  • Kalitlar va bog‘lanishlar
  • INNER JOIN
  • LEFT JOIN va juftsiz qatorlar
  • Bir nechta jadval va self join

Murakkab so‘rovlar

  • Ichki so‘rovlar
  • UNION, INTERSECT, EXCEPT
  • WITH: nomlangan so‘rovlar
  • Oyna funksiyalari

Jadval yaratish va o‘zgartirish

  • CREATE TABLE: turlar va cheklovlar
  • INSERT, UPDATE, DELETE
  • ALTER, DROP, TRUNCATE
  • Bazani to‘g‘ri loyihalash

Professional daraja

  • Indekslar va EXPLAIN
  • Tranzaksiyalar va ACID
  • VIEW: saqlangan so‘rovlar
  • Funksiyalar, protseduralar, triggerlar
  • Foydalanuvchilar, huquqlar, zaxira nusxa
O‘rganish/Jadvallarni ulash

Kalitlar va bog‘lanishlar

107 daq

Haqiqiy bazada ma’lumot bitta katta jadvalda emas, bir nechta bog‘langan jadvallarda turadi. Ularni bog‘laydigan narsa — kalitlar.

Nega bitta jadval yetmaydi?

Agar har bir talaba qatorida fakultet nomi, dekani, binosi ham yozilsa, bir fakultet ma’lumoti yuzlab marta takrorlanadi. Dekan almashsa — yuzlab qatorni o‘zgartirish kerak, bittasi esdan chiqsa — baza o‘ziga zid bo‘lib qoladi.

Yechim: fakultet haqidagi ma’lumot alohida faculties jadvalida bir marta saqlanadi, guruh esa faqat fakultetning raqamini (faculty_id) eslab qoladi.

Birlamchi kalit (PRIMARY KEY)

Har bir qatorni aniq ajratib turadigan ustun. Odatda bu id:

  • takrorlanmaydi — ikkita talabada bir xil id bo‘lmaydi;
  • bo‘sh bo‘lmaydi;
  • o‘zgarmaydi — ism o‘zgarishi mumkin, id hech qachon.

Tashqi kalit (FOREIGN KEY)

Boshqa jadvalning birlamchi kalitiga ishora qiladigan ustun. students.group_id → study_groups.id, study_groups.faculty_id → faculties.id.

university· O‘zgartirib ko‘ring
SELECT id, name, faculty_id FROM study_groups LIMIT 5;

faculty_id = 1 — bu guruh 1-raqamli fakultetga tegishli degani. Qaysi fakultet ekanini ko‘rish uchun ikkinchi jadvalga qaraymiz:

university· O‘zgartirib ko‘ring
SELECT id, name FROM faculties WHERE id = 1;

Tashqi kalit bazani himoya qiladi: mavjud bo‘lmagan fakultet raqamini yozib bo‘lmaydi, ichida guruhlari bor fakultetni esa o‘chirib bo‘lmaydi. «Mashq» bo‘limida buni o‘z qo‘lingiz bilan sinab ko‘rasiz.

Bog‘lanish turlari

  • Birga-ko‘p (1:N) — eng keng tarqalgani: bitta fakultetda ko‘p guruh, bitta guruhda ko‘p talaba. Tashqi kalit «ko‘p» tomonida turadi.
  • Ko‘pga-ko‘p (M:N) — bitta talaba ko‘p fandan baho oladi, bitta fandan ko‘p talaba baho oladi. Buning uchun o‘rtaga uchinchi jadval qo‘yiladi — bizda bu grades (student_id + subject_id).
  • Birga-bir (1:1) — kam uchraydi: masalan, xodim va uning pasport ma’lumotlari.

Sxemani o‘qish

«Arena» bo‘limida har bir bazaning sxemasi bor: chiziqlar tashqi kalitlarni ko‘rsatadi. So‘rov yozishdan oldin sxemaga qarash — yaxshi odat: qaysi jadvalda nima turibdi va ular qaysi ustun orqali bog‘langan.

1Mashq

students jadvalidan id = 1 bo‘lgan talabaning group_id qiymatini chiqaring.


Esda qoldiring

  • Birlamchi kalit — qatorning takrorlanmas raqami.
  • Tashqi kalit — boshqa jadvaldagi qatorga ishora; noto‘g‘ri bog‘lanishga yo‘l qo‘ymaydi.
  • M:N bog‘lanish oraliq jadval orqali quriladi.
Oldingi darsGROUP BY va HAVINGKeyingi darsINNER JOIN

Mundarija

  • Nega bitta jadval yetmaydi?
  • Birlamchi kalit (PRIMARY KEY)
  • Tashqi kalit (FOREIGN KEY)
  • Bog‘lanish turlari
  • Sxemani o‘qish
  • Esda qoldiring
O‘rganishMashqMasalalarArenaReyting

SQLab