База данных представляет собой систему хранения записей, организованных в виде таблиц. База данных может содержать от одной до нескольких сотен таблиц, которые связаны междусобой. Таблица состоит из набора строк и столбцов. Столбцы таблицы имеют имена, и за каждым столбцом закреплен тип и/или область значений. Строки таблицы баз данных называются записями, а ячейки, на которые делится запись – полями. Первичный ключ– это уникальный идентификатор записи, который может представлять собой не только один столбец, но и целую комбинацию столбцов.
Пользователь может выполнять множество разных операций стаблицами: добавлять, изменять и удалять записи, вести поиск и т. д. Для составления подобного рода запросов был разработан язык SQL (Structured Query Language – язык структурированных запросов), который дает возможность не только осуществлять запросы и изменять данные, но и создавать новые базы данных.
В библиотеке Qt имеются драйверы для работы со следующими СУБД:
- QDB2 – IBM DB2 версии не ниже 7.1;
- QIBASE – Borland InterBase;
- QMYSQL – MySQL;
- QOCI – Oracle;
- QODBC – ODBC (в том числе Microsoft SQL Server);
- QPSQL – PostgreSQL;
- QSQLITE – SQLite версии не ниже 3;
- QSQLITE2 – SQLite версии 2;
- QTDS – Sybase Adaptive Server.
Также есть возможность написать свой собственный драйвер для работы с БД, если имеющиеся вас не устраивают.
В Qt Open Source Edition отсутствует поддержка коммерческих СУБД Oracle, Sybase и DB2, т.к. драйверы для них распространяются под лицензией, не совместимой с GPL.
SQLite – компактная встраиваемая система управления реляционной базой данных.
Исходный код библиотеки передан в общественное достояние.
SQLite не обладает клиент-серверной архитектурой. То есть движок БД не является отдельно работающим процессом, с которым взаимодействует программа. SQLite представляет собой библиотеку, с которой компонуется ваша программа и, таким образом, движок становится составной частью программы.
Т. е. это СУБД, не требующая сервера БД и собственно, клиента.