Barcha kurslar Yo'nalishlar Reyting Kirish Ro'yxatdan o'tish

Bu modul amaliyotdan oldingi poydevor: ma’lumotlar ombori nima uchun kerakligi, qanday turlari borligi va relatsion bazaning ichki tuzilishi — jadval, qator, ustun, ma’lumot turi va cheklov — ko’rib chiqildi.

Ma’lumotlar ombori tarixi

Dastlab ma’lumot oddiy fayllarda saqlangan: har bir dastur o’z formatida, o’z faylida yozib borgan. Bu yondashuv kichik hajmda ishlaydi, lekin tez orada uchta muammoga qoqiladi — bir ma’lumot bir necha faylda takrorlanadi va ular bir-biriga mos kelmay qoladi; kerakli yozuvni topish uchun butun faylni o’qib chiqish kerak bo’ladi; ikki dastur bir vaqtda yozganda ma’lumot buziladi.

1970-yilda Edgar Codd relatsion modelni taklif qildi: ma’lumot jadvallarda saqlanadi, jadvallar bir-biriga mantiqiy bog’lanadi, ular bilan ishlash uchun esa alohida so’rov tili — SQL — ishlatiladi. Shundan keyin ma’lumotlar bazasini boshqarish tizimlari (MBBT, ingliz tilida DBMS) paydo bo’ldi: Oracle, MySQL, PostgreSQL, SQL Server. Keyingi bosqichda internetning o’sishi bilan katta hajmli va tuzilmasi erkin ma’lumotlar uchun NoSQL tizimlari, undan keyin esa bulutli bazalar qo’shildi.

Fayllarda saqlash Ma’lumotlar bazasida saqlash
Tuzilma har bir dasturda o’ziga xos Tuzilma jadval sifatida bir marta e’lon qilinadi
Izlash — butun faylni o’qish Indekslar orqali tez izlash
Bir vaqtda yozish xavfli Parallel murojaat tizim darajasida boshqariladi
Nazorat dastur zimmasida Cheklovlar noto’g’ri ma’lumotni o’tkazmaydi

Ko’p boshlovchi Excel jadvalini ham baza deb hisoblaydi. Excel — jadval muharriri: u ma’lumotni ko’rsatadi, lekin bir vaqtda yuzlab foydalanuvchi so’rovini bajarish, qoidalarni majburlash va yaxlitlikni saqlash uchun mo’ljallanmagan.

Ma’lumotlar ombori turlari

Bazalar saqlash modeliga qarab bo’linadi. Eng keng tarqalgani — relatsion baza: ma’lumot ustunlari oldindan e’lon qilingan jadvallarda yotadi va SQL bilan so’raladi. Relatsion bo’lmagan (NoSQL) bazalarda esa tuzilma erkinroq.

Turi Ma’lumot qanday yotadi Misol
Relatsion Ustunlari aniq jadvallar PostgreSQL, MySQL
Hujjatli JSON ko’rinishidagi hujjatlar MongoDB
Kalit-qiymat Kalit va unga bog’langan qiymat Redis
Ustunli Ma’lumot ustun bo’yicha saqlanadi ClickHouse
Graf Tugun va ular orasidagi bog’lanish Neo4j

Bu ro’yxatda "eng yaxshi" tur yo’q — har biri boshqa vazifaga mo’ljallangan. Bank tranzaksiyalari uchun qat’iy qoidali relatsion baza kerak, sessiyani vaqtincha saqlash uchun kalit-qiymat ombori yetarli. Boshlovchi uchun eng foydalisi — relatsion modelni puxta o’zlashtirish, chunki qolganlarining ko’pi shu tushunchalar ustiga quriladi.

Amaliyot muhiti

Kurs amaliyotlari brauzerda ochiladigan Cloud42 muhitida bajariladi: kompyuterga hech narsa o’rnatish shart emas, so’rov maydonchasiga SQL yoziladi va natija darhol jadval ko’rinishida qaytadi. Birinchi so’rov jadvalsiz ham ishlaydi:

SELECT 1;

Natija:

 ?column?
----------
        1

Boshlang’ich xato — so’rov oxiridagi nuqtali vergulni tushirib qoldirish. Ko’p muhitlarda bitta so’rov u holda ham ishlaydi, lekin ketma-ket bir nechta so’rov yozilganda tizim ularning qayerda tugaganini bilmay xato beradi.

Jadval, qator va ustun

Relatsion bazaning butun arxitekturasi uchta tushunchaga tayanadi:

  • Jadval (table) — bir turdagi ma’lumotlar to’plami, masalan barcha talabalar.
  • Ustun (column) — jadvaldagi bitta xususiyat: ism, tug’ilgan sana, ball. Ustunning nomi va ma’lumot turi bor.
  • Qator (row) — bitta real ob’ekt haqidagi yozuv: bitta talaba.

Qator va ustun kesishgan joy — katak, ya’ni bitta aniq qiymat.

id ism guruh ball
1 Aziz 101 85
2 Malika 102 92

Bu yerda id ustuni alohida ahamiyatga ega: u har bir qatorni betakror ajratib turadi va birlamchi kalit (PRIMARY KEY) deb ataladi. Ismga tayanib bo’lmaydi — bir xil ismli ikki talaba bo’lishi mumkin.

Ma’lumotlar turlari

Har bir ustun uchun ma’lumot turi e’lon qilinadi. Tur ikki ish qiladi: qiymat qanday saqlanishini belgilaydi va noto’g’ri qiymatni jadvalga kiritmaydi.

Tur Nima uchun Misol qiymat
INTEGER Butun son 85
DECIMAL(10,2) Aniq kasr son, pul 1250.50
VARCHAR(n) Uzunligi cheklangan matn 'Aziz'
TEXT Uzunligi cheklanmagan matn izoh
BOOLEAN Ha yoki yo’q TRUE
DATE Sana '2026-09-01'
TIMESTAMP Sana va vaqt '2026-09-01 14:30'

Eng tez-tez uchraydigan xato — telefon raqamini INTEGER qilib e’lon qilish. Raqam boshidagi nol yo’qoladi, + belgisi saqlanmaydi va qiymat son sifatida hech qachon qo’shilmaydi ham. Telefon, pasport seriyasi, hisob raqami — ular ustida arifmetika qilinmaydi, demak ular matn.

Cheklovlar va qoidalar

Cheklov (constraint) — ustunga qo’yilgan qoida. Uni baza o’zi majburlaydi, ya’ni qoidani buzgan ma’lumot dastur kodidan qat’i nazar jadvalga tushmaydi.

CREATE TABLE talabalar (
    id      INTEGER PRIMARY KEY,
    ism     VARCHAR(50) NOT NULL,
    email   VARCHAR(100) UNIQUE,
    ball    INTEGER DEFAULT 0,
    faol    BOOLEAN DEFAULT TRUE
);
  • PRIMARY KEY — betakror va bo’sh bo’lmagan asosiy belgi.
  • NOT NULL — ustun bo’sh qoldirilmaydi.
  • UNIQUE — qiymat jadvalda takrorlanmaydi.
  • DEFAULT — qiymat berilmasa, o’rniga qo’yiladigan qiymat.
  • CHECK — qiymat shartga mos kelishi kerak, masalan CHECK (ball >= 0).

Qoida buzilganda baza yozuvni rad etadi:

INSERT INTO talabalar (id, ism) VALUES (1, NULL);

Natija:

ERROR:  null value in column "ism" violates not-null constraint

Bu xato emas, balki himoya: jadval o’zining qoidasini o’zi qo’riqlaydi. Cheklovlarni loyihaning boshida o’ylab qo’ygan ma’qul — jadvalda allaqachon minglab qator bo’lganda UNIQUE qo’shish takrorlangan eski yozuvlar tufayli ishlamay qolishi mumkin.

PRIMARY KEY bilan UNIQUE chalkashtiriladigan juftlik:

PRIMARY KEY UNIQUE
Jadvalda bitta bo’ladi Bir nechta ustunga qo’yish mumkin
Bo’sh qiymatga yo’l qo’ymaydi Odatda bitta bo’sh qiymatga ruxsat beradi
Qatorni tanib olish uchun Takrorlanishning oldini olish uchun

Amaliyot

  1. Kutubxona uchun kitoblar jadvalining ustunlarini qog’ozda loyihalang: qaysi ustunlar kerak va har biriga qaysi tur mos keladi?
  2. Shu jadvalda qaysi ustun birlamchi kalit bo’lishi kerakligini asoslang — nega kitob nomi kalit sifatida yaramaydi?
  3. ISBN ustuniga qaysi cheklov mos keladi: UNIQUE, NOT NULL yoki ikkalasi ham? Javobingizni tushuntiring.
  4. Onlayn do’kon uchun mahsulotlar jadvalini yozing: narx ustunini DECIMAL bilan, mavjudlik ustunini BOOLEAN bilan e’lon qiling va narx manfiy bo’lmasligi uchun CHECK qo’shing.
  5. Quyidagi holatlarning har biri uchun qaysi ma’lumot turi to’g’ri: tug’ilgan sana, buyurtma summasi, foydalanuvchi izohi, kuryer telefon raqami?

Keyingi qadam — modul testi: tushunchalar, turlar va cheklovlar bo’yicha o’zingizni tekshiring.

Ma’lumotlar ombori asoslari — konspekt

Ma'lumotlar ombori asoslari Maqola

Ma’lumotlar ombori nima uchun paydo bo’lgani, qanday turlari borligi, jadval-qator-ustun tuzilishi, ma’lumot turlari va cheklovlar — birinchi modulning konspekti.

Eslatma yozish uchun saytga kiring.

Resurslar hozircha qo'shilmagan

O'qituvchi dars uchun qo'shimcha materiallarni qo'shganida shu yerda paydo bo'ladi.

Savol berish uchun saytga kiring.

Hozircha savollar yo'q

Bu dars yuzasidan birinchi savolni siz bering.