Авторы

  • Xilola Shermatova
    Fargʻona davlat universiteti Axborot texnologiyalari kafedrasi dotsenti
  • Gulhayo Xolmatova
    Fargʻona davlat universiteti Axborot tizimlari va texnologiyalar yo‘nalishi 1-kurs talabasi

DOI:

https://doi.org/10.71337/inlibrary.uz.scin.78421

Ключевые слова:

C база данных SQLite CRUD операции система управления базами данных чтение запись обновление удаление SQL интеграция C и SQL.

Аннотация

В данной статье подробно рассматривается процесс внедрения системы управления базами данных на языке программирования C++. Статья предоставляет детальное объяснение основных методов выполнения CRUD-операций (создание, чтение, обновление, удаление) для работы с базой данных, включая создание базы данных, добавление, чтение, обновление и удаление данных. В статье также показаны мощные возможности языка C++ и интеграция с библиотекой SQLite, что предоставляет разработчикам возможность эффективно управлять базами данных и отправлять к ним различные запросы. 


background image

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


background image

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);


background image

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 {


background image

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.


background image

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/

Библиографические ссылки

Bjarne Stroustrup. The C++ Programming Language. 4th Edition. Addison-Wesley,2013.

Herb Sutter, Andrei Alexandrescu. C++ Coding Standards: 101 Rules,Guidelines, and Best Practices. Addison-Wesley, 2004.

Stanley B. Lippman. C++ Primer. 5th Edition. Addison-Wesley, 2012.

Michael T. Goodrich, Roberto Tamassia. Data Structures and Algorithms in C++. 2nd Edition. Wiley, 2004.

SQLite Documentation. https://www.sqlite.org/docs.html

C++ Reference (cppreference.com). https://en.cppreference.com/w/