Tarkibga o'tish

3.1 Ma'lumotlar bazasi nima va nega kerak?

⬅️ Oldingi: 2.12 Namespace va autoloading Β· 🏠 README Β· Keyingi: 3.2 phpMyAdmin va birinchi jadval ➑️


Muammo: ma'lumot yo'qolib ketadi

Hozirgacha barcha ma'lumotlarimiz o'zgaruvchilarda va massivlarda edi. Lekin bir narsani sezgan bo'lsangiz kerak: dastur tugashi bilan hamma narsa yo'qoladi. Sahifani yangilasangiz β€” massivdagi talabalar ro'yxati g'oyib bo'ladi. Chunki o'zgaruvchilar faqat dastur ishlayotgan paytda, kompyuter "tezkor xotirasi"da yashaydi.

Lekin haqiqiy dasturda ma'lumot saqlanib qolishi kerak. Onlayn do'kon mahsulotlarni, foydalanuvchilarni, buyurtmalarni eslab qolishi shart β€” sayt o'chib-yonsa ham. Ana shu β€” doimiy saqlash muammosi.

Yechim: ma'lumotlar bazasi

Ma'lumotlar bazasi (database) β€” ma'lumotni tartibli va doimiy saqlaydigan tizim. U ma'lumotni diskka yozadi, shuning uchun dastur yopilsa ham, kompyuter o'chsa ham β€” ma'lumot saqlanib qoladi. Bundan tashqari, undan ma'lumotni tez topish, qidirish, saralash mumkin.

Ma'lumotni oddiy faylga ham yozish mumkin. Lekin baza ancha kuchli: u minglab yozuvni tez qidiradi, tartibga soladi, bog'laydi va bir vaqtning o'zida ko'p odam bilan ishlay oladi.

Jadval β€” Excel jadvaliga o'xshaydi

Bazada ma'lumot jadvallarda (table) saqlanadi. Agar Excel yoki Google Sheets ko'rgan bo'lsangiz, jadvalni allaqachon tasavvur qilasiz: qatorlar (satrlar) va ustunlar.

Masalan, talabalar jadvali shunday ko'rinadi:

+----+-------------+------+----------+
| id | ism         | yosh | shahar   |
+----+-------------+------+----------+
| 1  | Ali Valiyev | 19   | Toshkent |
| 2  | Vali Aliyev | 21   | Samarqand|
| 3  | Guli Karim  | 20   | Buxoro   |
+----+-------------+------+----------+
  • Ustunlar (id, ism, yosh, shahar) β€” har bir talaba haqida qanday ma'lumot saqlanishini bildiradi. Ular oldindan belgilanadi.
  • Qatorlar β€” har bir alohida yozuv (bitta talaba). Yuqorida 3 ta talaba bor.
  • id ustuni β€” har bir qatorning noyob raqami. Hech qachon takrorlanmaydi. Bu β€” har bir yozuvni aniq ajratib olish uchun (xuddi pasport raqami kabi). Deyarli har bir jadvalda id bo'ladi.

Bu β€” 1.8'da ko'rgan "massiv ichida massiv" tuzilmasiga juda o'xshaydi: ro'yxatdagi har bir element β€” kalitli ma'lumotlar to'plami. Baza shu g'oyani diskda, tartibli va kuchli tarzda amalga oshiradi.

MySQL β€” biz ishlatadigan baza

Ma'lumotlar bazasining turli xil tizimlari bor. Eng mashhurlaridan biri β€” MySQL. Yaxshi xabar: siz uni allaqachon o'rnatgansiz! XAMPP MySQL'ni ham o'z ichiga oladi. Shuning uchun alohida hech narsa o'rnatishingiz shart emas.

MySQL β€” bu baza tizimi (ma'lumotni saqlaydigan dastur). Biz u bilan SQL degan til orqali "gaplashamiz" (3.3'da o'rganamiz). Hozircha shuni eslang: MySQL β€” ombor, SQL β€” u bilan gaplashish tili.

Keyingi bo'limda XAMPP orqali birinchi bazamizni va jadvalimizni yaratamiz β€” buni ko'rinadigan, qulay vosita (phpMyAdmin) orqali qilamiz.