Get Mystery Box with random crypto!

Ma'lumotlar bazasi (database) nima va u nima uchun kerak? Dey | Django darslari (Mukhammad irmatov)

Ma'lumotlar bazasi (database) nima va u nima uchun kerak?

Deyarli barcha turdagi dasturlar ma'lumotlar bilan ishlaydi. Ma'lumotlarni saqlaydi, o'zgartiradi, o'chiradi va hokazo.

Database (DB) bu shu ishlarni tartibli va samarali usulda qiladigan tizim/dastur.

"Lekin, ma'lumotlarni o'zgaruvchilarda, hashmaplarda, arraylarda ham saqlash mumkinku" deyishingiz mumkin. To'ppa to'g'ri. Ularda ham saqlash mumkin.

Muammo shundaki, ular ma'lumotlarni RAMda saqlaydi va dasturingiz/programmangiz to'xtatilishiga u ma'lumotlar yo'qoladi.

"Agar to'xtatmasakchi? Buni ilojisi borku". To'g'ri. AWS, GCPlarning serverlariga qo'yilsa, shunday qilsa bo'ladi. Ularda svet o'chmaydi. Har qalay serverlari bizda Andijonning Shaxrihon qishlog'ida joylashmagan. Lekin, Amerikalarda ham to'fonlar bo'lib turadi ;) To'xtamagan taqdirda ham RAM odatda chegaralangan bo'ladi.

Demak bizga boshqa bir ma'lumotlarni saqlash usuli kerak.

"Ha, text fayllarda saqlasak bo'ladi" deysizmi? To'ppa to'gri! Kundalikni olib keling.

Muammo shundaki text fayllar yetarlicha murakkab dasturlar uchun to'g'ri kelmaydi. Chunki fayllarda muammolar (synchronization, security va hokazo) ko'p. Hullas ular ma'lumotlar bazasi sifatida ishlatishga mo'ljallanmagan.

Shuning uchun ham mahsus ma'lumotlar bazasi o'ylab topilgan.

Ular fayl shaklida bo'lishi mumkin. Masalan SQLite. Shunda sizning dasturingiz to'g'ridan to'g'ri shu fayl shaklidagi database bilan muloqot qiladi.

Bunday databaselar kichik dasturlar uchun yaxshi qo'l kelishi mumkin. Lekin murakkab dasturlar uchun bunday ma'lumotlar bazasi to'g'ri kelmaydi.

Unday dasturlar uchun boshqa bir dastur ko'rinishidagi databaselar kerak. Bunday databaselarga PostgreSQL, MySQL va SQL Serverlarni misol qilib aytishimiz mumkin. Shunday sizning dasturingiz shu database dasturlar bilan muloqot qiladi. Bu databaselar esa o'zlarining ichida bir nechta fayllarni optimal tarzda boshqaraveradi.

Sizning dasturingiz fayllar bilan gaplashmaydi.

Ana endi savol tug'iladi. SQLite, PostgreSQL va boshqalar bilan dasturlar qanday gaplashadi? Buning uchun computer scientistlar mahsus til o'ylab topgan: SQL. Bu haqida endi boshqa postda bo'ladi.

@JakhonRakhmonBot