Telefoningizdagi kontaktlar, Telegram'dagi xabarlar, bankdagi hisob balansingiz, onlayn do'kondagi buyurtmalar — bularning barchasi ma'lumot (data). Har qanday dastur ishlashi uchun ma'lumotlarni qayerdadir saqlashi va kerak bo'lganda tez topib olishi kerak.
Savol tug'iladi: bu ma'lumotlar qayerda turadi? Javob — ma'lumotlar bazasida.
Aytaylik, onlayn do'kon ochdik va buyurtmalarni oddiy matnli faylga yozib boryapmiz:
Ali - telefon - 2 dona - 15-yanvar
Vali - noutbuk - 1 dona - 16-yanvar
Sardor - telefon - 1 dona - 16-yanvarDastlab hammasi yaxshi ishlaydi. Lekin do'kon o'sib, buyurtmalar millionga yetganda, jiddiy muammolar boshlanadi:
Ma'lumotlar bazasi aynan shu muammolarni hal qilish uchun yaratilgan:
Oddiy fayl va ma'lumotlar bazasining taqqoslanishi
Ma'lumotlar bazasi (database) — ma'lumotlarni tartibli saqlash, tez qidirish va ishonchli boshqarish uchun ishlatiladigan tizim.
Eng keng tarqalgan turida ma'lumotlar jadvallar (tables) ko'rinishida saqlanadi. Har bir jadval ustunlar (columns) va qatorlar (rows) dan iborat. Masalan, do'konimizdagi mahsulotlar jadvali:
Jadvalning tuzilishi: ustun va qator
id, nomi, narx.Fayldan farqli o'laroq, baza million qator ichidan kerakli yozuvni bir zumda topadi, minglab foydalanuvchi bilan bir vaqtda ishlay oladi va "narx faqat son bo'lsin" kabi qoidalarni o'zi nazorat qiladi.
Bazani boshqaradigan maxsus dastur bo'ladi — u MBBT (ma'lumotlar bazasini boshqarish tizimi) deb ataladi. Eng mashhurlari:
Yaxshi yangilik: ularning hammasi bilan bitta tilda gaplashiladi. Bu tilning nomi — SQL, u bilan keyingi darsda tanishamiz.
Muhim: Deyarli har bir dastur — Telegram'dan tortib bank ilovasigacha — ichida ma'lumotlar bazasi ishlatadi. Shuning uchun baza bilan ishlashni bilish har qanday dasturchi uchun zaruriy ko'nikma.
Bu darsda kod yozmaysiz. Quyidagi qisqa test orqali o'rganganlaringizni tekshiramiz: ma'lumotlar bazasi nima, oddiy fayldan nimasi bilan yaxshi, jadval, ustun va qator nima hamda MBBT deganda nima tushuniladi. Har bir savolda 4 ta variant bor — eng to'g'risini tanlang.