ILM-FAN VA INNOVATSIYA
ILMIY-AMALIY KONFERENSIYASI
in-academy.uz/index.php/si
106
C++ DA MA’LUMOTLAR BAZASINI BOSHQARISH TIZIMINI JORIY QILISH
ВНЕДРЕНИЕ СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ В C++
IMPLEMENTATION OF DATABASE MANAGEMENT SYSTEM IN C++
Shermatova Xilola Mirzayevna
Fargʻona davlat universiteti Axborot texnologiyalari kafedrasi dotsenti
shermatovahilola1978@gmail.com
Xolmatova Gulhayo Hasan qizi
Fargʻona davlat universiteti Axborot tizimlari va texnologiyalar
yo‘nalishi 1-kurs talabasi
https://doi.org/10.5281/zenodo.15186852
Annotatsiya
Ushbu maqolada C++ dasturlash tilida ma’lumotlar bazasini boshqarish tizimini joriy
qilish jarayoni keng yoritilgan. Maqola C++ tilida ma’lumotlar bazasini yaratish, unga
ma’lumotlarni qo‘shish, o‘qish, yangilash va o‘chirish kabi CRUD operatsiyalarini amalga
oshirishning asosiy usullari haqida batafsil tushuntirishlar beradi. Maqolada C++ dasturlash
tilining kuchli imkoniyatlari va SQLite kutubxonasining integratsiyasi ko‘rsatilgan bo‘lib, u
dasturchilarga ma’lumotlar bazasini samarali boshqarish va ularga turli xil so‘rovlar yuborish
imkoniyatlarini taqdim etadi.
Maqolada SQLite kutubxonasidan foydalanish jarayoni chuqur tahlil qilingan,
shuningdek, C++ tilida SQLite bilan integratsiya qilish orqali ma’lumotlar bazasi yaratishning
oddiy va samarali usullari keltirilgan.
Аннотатция
В данной статье подробно рассматривается процесс внедрения системы
управления базами данных на языке программирования C++. Статья предоставляет
детальное объяснение основных методов выполнения CRUD-операций (создание,
чтение, обновление, удаление) для работы с базой данных, включая создание базы
данных, добавление, чтение, обновление и удаление данных. В статье также показаны
мощные возможности языка C++ и интеграция с библиотекой SQLite, что
предоставляет разработчикам возможность эффективно управлять базами данных и
отправлять к ним различные запросы.
Процесс использования библиотеки SQLite подробно проанализирован, а также
приведены простые и эффективные методы создания базы данных с помощью
интеграции SQLite в C++.
Annotation
This article provides a detailed overview of the process of implementing a database
management system in C++. It explains the fundamental methods for performing CRUD
operations (Create, Read, Update, Delete) in a database, including creating a database, adding,
reading, updating, and deleting data. The article highlights the powerful capabilities of the C++
language and its integration with the SQLite library, offering developers the ability to
efficiently manage databases and send various queries to them. The process of using the
ILM-FAN VA INNOVATSIYA
ILMIY-AMALIY KONFERENSIYASI
in-academy.uz/index.php/si
107
SQLite library is thoroughly analyzed, and simple and effective methods for creating a
database using SQLite integration in C++ are presented.
Kalit so‘zlar:
C++, ma’lumotlar bazasi, SQLite, CRUD operatsiyalari, ma’lumotlar
bazasini boshqarish tizimi, o‘qish, yozish, yangilash, o‘chirish, SQL, C++ va SQL integratsiyasi.
Ключевые слова:
C++, база данных, SQLite, CRUD операции, система управления
базами данных, чтение, запись, обновление, удаление, SQL, интеграция C++ и SQL.
Keywords:
C++, database, SQLite, CRUD operations, database management system,
reading, writing, updating, deleting, SQL, C++ and SQL integration.
Kirish
Ma’lumotlar bazasini boshqarish tizimi (DBMS) — bu ma’lumotlarni saqlash, ularni
qidirish, yangilash, o‘zgartirish va o‘chirish imkonini beruvchi tizimdir. C++ dasturlash tili
yordamida ma’lumotlar bazasini boshqarish tizimini yaratish dasturchilarga ma’lumotlar
bazasi operatsiyalarini amalga oshirish, ma’lumotlarni saqlash va ularga turli xil so‘rovlar
yuborish imkoniyatlarini taqdim etadi. C++ dasturlash tili o‘zining samaradorligi va tezkor
ishlash imkoniyatlari bilan tanilgan, shuning uchun ma’lumotlar bazasini boshqarish tizimi
uchun ham keng qo‘llaniladi.
Ushbu maqolada C++ dasturlash tilida ma’lumotlar bazasi bilan ishlashning asosiy
tamoyillari, ayniqsa SQLite bilan integratsiya orqali ma’lumotlar bazasini boshqarish tizimini
yaratish jarayoni tushuntiriladi. SQLite — bu kichik va oson ishlatiladigan ma’lumotlar bazasi
tizimi bo‘lib, u C++ dasturlash tili bilan mukammal integratsiyalashgan va ma’lumotlar
bazasini boshqarish tizimlarini yaratish uchun qulay vosita hisoblanadi.
Ma’lumotlar bazasini yaratish va ulanish
C++ dasturlash tilida SQLite kutubxonasi orqali ma’lumotlar bazasini yaratish va unga
ulanish juda oson. Quyidagi kodda SQLite bazasi bilan aloqani qanday o‘rnatish va oddiy
jadval yaratish jarayoni ko‘rsatilgan:
#include <iostream>
#include <sqlite3.h>
using namespace std;
int main() {
sqlite3* DB;
int exit = sqlite3_open("mahsulotlar.db", &DB);
if (exit) {
cerr << "Baza ochilmadi: " << sqlite3_errmsg(DB) << endl;
return -1;
} else {
cout << "Baza ochildi!" << endl;
}
const char* createTable = "CREATE TABLE IF NOT EXISTS mahsulotlar("
"id INTEGER PRIMARY KEY AUTOINCREMENT, "
"nomi TEXT NOT NULL, "
"narxi INTEGER NOT NULL, "
"miqdori INTEGER NOT NULL);";
exit = sqlite3_exec(DB, createTable, 0, 0, 0);
ILM-FAN VA INNOVATSIYA
ILMIY-AMALIY KONFERENSIYASI
in-academy.uz/index.php/si
108
if (exit != SQLITE_OK) {
cerr << "Jadval yaratishda xato: " << sqlite3_errmsg(DB) << endl;
} else {
cout << "Jadval yaratildi!" << endl;
}
sqlite3_close(DB);
return 0;
}
CRUD operatsiyalari
Ma’lumot qo‘shish (Create)
Ma’lumotlar bazasiga yangi ma’lumot qo‘shish uchun INSERT SQL buyrug‘i ishlatiladi:
const char* insertSQL = "INSERT INTO mahsulotlar (nomi, narxi, miqdori) "
"VALUES ('Non', 1000, 50);";
exit = sqlite3_exec(DB, insertSQL, 0, 0, 0);
if (exit != SQLITE_OK) {
cerr << "Ma’lumot qo‘shishda xato: " << sqlite3_errmsg(DB) << endl;
} else {
cout << "Ma’lumot qo‘shildi!" << endl;
}
Ma’lumot o‘qish (Read)
Ma’lumotlar bazasidan ma’lumotlarni o‘qish uchun SELECT SQL buyrug‘i ishlatiladi:
const char* selectSQL = "SELECT * FROM mahsulotlar;";
sqlite3_stmt* stmt;
exit = sqlite3_prepare_v2(DB, selectSQL, -1, &stmt, 0);
if (exit != SQLITE_OK) {
cerr << "Ma’lumot o‘qishda xato: " << sqlite3_errmsg(DB) << endl;
}
while (sqlite3_step(stmt) == SQLITE_ROW) {
cout << "ID: " << sqlite3_column_int(stmt, 0) << endl;
cout << "Nomi: " << sqlite3_column_text(stmt, 1) << endl;
cout << "Narxi: " << sqlite3_column_int(stmt, 2) << endl;
cout << "Miqdori: " << sqlite3_column_int(stmt, 3) << endl;
}
sqlite3_finalize(stmt);
Ma’lumot yangilash (Update)
Ma’lumotni yangilash uchun UPDATE SQL buyrug‘i ishlatiladi:
const char* updateSQL = "UPDATE mahsulotlar SET narxi = 1200 WHERE id = 1;";
exit = sqlite3_exec(DB, updateSQL, 0, 0, 0);
if (exit != SQLITE_OK) {
cerr << "Ma’lumot yangilanishida xato: " << sqlite3_errmsg(DB) << endl;
} else {
ILM-FAN VA INNOVATSIYA
ILMIY-AMALIY KONFERENSIYASI
in-academy.uz/index.php/si
109
cout << "Ma’lumot yangilandi!" << endl;
}
Ma’lumot o‘chirish (Delete)
Ma’lumotlarni o‘chirish uchun DELETE SQL buyrug‘i ishlatiladi:
const char* deleteSQL = "DELETE FROM mahsulotlar WHERE id = 1;";
exit = sqlite3_exec(DB, deleteSQL, 0, 0, 0);
if (exit != SQLITE_OK) {
cerr << "Ma’lumot o‘chirishda xato: " << sqlite3_errmsg(DB) << endl;
} else {
cout << "Ma’lumot o‘chirildi!" << endl;
}
Ma’lumotlar bazasini optimallashtirish va xavfsizlik
Ma’lumotlar bazasini boshqarishda xavfsizlik va optimallashtirish muhim omillardir.
SQL injeksiya hujumlaridan himoya qilish uchun parametrik so‘rovlar ishlatilishi kerak.
Quyida parametrik so‘rov misoli keltirilgan:
const char* insertSQL = "INSERT INTO mahsulotlar (nomi, narxi, miqdori) VALUES (?, ?,
?)";
sqlite3_stmt* stmt;
sqlite3_prepare_v2(DB, insertSQL, -1, &stmt, 0);
sqlite3_bind_text(stmt, 1, "Sut", -1, SQLITE_STATIC);
sqlite3_bind_int(stmt, 2, 2000);
sqlite3_bind_int(stmt, 3, 30);
sqlite3_step(stmt);
sqlite3_finalize(stmt);
Xulosa
C++ dasturlash tili yordamida ma’lumotlar bazasini boshqarish tizimini joriy qilish
ko‘plab dasturchilarga ma’lumotlarni samarali saqlash va boshqarish imkoniyatini taqdim
etadi. SQLite kabi yengil va oson integratsiyalashadigan ma’lumotlar bazasi tizimlari
yordamida CRUD operatsiyalarini amalga oshirishda samaradorlikni oshirish mumkin. C++ va
SQL integratsiyasi orqali ma’lumotlar bazasining barcha operatsiyalarini tez va samarali
bajarish, ma’lumotlarni xavfsiz va to‘g‘ri saqlash imkonini beradi. Ma’lumotlar bazasi bilan
ishlashda yuzaga keladigan xatoliklarni aniqlash va bartaraf etish jarayonlari, shuningdek,
xavfsizlikni ta’minlash dasturchilarning professional ko‘nikmalarini rivojlantiradi.
Ma’lumotlar bazasini boshqarish tizimini joriy qilish, ayniqsa, kattaroq tizimlar va ilovalarda
muhim ahamiyatga ega.
Foydalanilgan adabiyotlar/Используемая литература/References:
1.
Bjarne Stroustrup.
The C++ Programming Language
. 4th Edition. Addison-Wesley,2013.
2.
Herb Sutter, Andrei Alexandrescu.
C++ Coding Standards: 101 Rules,Guidelines, and Best
Practices
. Addison-Wesley, 2004.
ILM-FAN VA INNOVATSIYA
ILMIY-AMALIY KONFERENSIYASI
in-academy.uz/index.php/si
110
3.
Stanley B. Lippman.
C++ Primer
. 5th Edition. Addison-Wesley, 2012.
4.
Michael T. Goodrich, Roberto Tamassia.
Data Structures and Algorithms in C++
. 2nd
Edition. Wiley, 2004.
5.
SQLite Documentation.
https://www.sqlite.org/docs.html
6.
C++ Reference (cppreference.com).
https://en.cppreference.com/w/