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.
idustuni β har bir qatorning noyob raqami. Hech qachon takrorlanmaydi. Bu β har bir yozuvni aniq ajratib olish uchun (xuddi pasport raqami kabi). Deyarli har bir jadvaldaidbo'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.