Day, 228
leleg
17 July 2016, 21:09

Искал по интернетам, с чего бы начать начинающему С/С++ говнокодеру обмазываться в базы данных в контексте взаимодействия приложений с ними. Лазая по разным местам, набрёл на совет "начать с SQLite". На хабре нашёл статью, где немного рассказывается про её основные особенности и плюшки. Так же показан небольшой пример кода на Си, чтоб показать как оно шпили-вили. Скопировал, запустил, взлетело. Ну из интересного тут то, что она как бы встраиваемая (нет сервера) и с открытым исходным кодом. Т.е. включив в свой проект пару файлов (заголовочный и исполняемый), я сделаю так, что моя программуля смогёт в полноценную реляционную базу данных. Ещё интересная особенность - тип столбца не определяет тип хранимого значения, то есть в любой столбец можно занести любое значение. Самое необычное, имхо, - нельзя удалить или изменить столбец в таблице (ALTER TABLE DROP COLUMN…, ALTER TABLE ALTER COLUMN… ). Делается оно таким макаром: создаётся временная копия таблицы в RAM, старая таблица удаляется, создаётся новая на винте с требуемыми изменениями по столбцам, из временной таблицы в RAM изменения копируются в новую таблицу на винте... Как-то так.

Имеется консольная утилита от разработчиков, также существует куча прочих с гуи.

Что интересно (на будущее), имеется расширение для spatial data https://en.wikipedia.org/wiki/SpatiaLite

В принципе, в базовый SQL я умею, могу создавать/изменять таблицы, заливать в них данные, писать хитрые и не очень селекты. Думаю, на первых порах этот вариант мне подойдёт для разработки моего говноприложения на С++, которое должно уметь в базку данных (локальную). Собственно, включил в качестве этапа "раскурить SQLite". Под этим подразумеваю более-менее разобраться с API.

Like it? Share with friends!
Add comment
See in dairy
Goal

You can publish
your goal here

We can help you achieve it!

310 000

like-minded

tools

for an exciting achievement

Join us!
Sign up

Signup

Уже зарегистрированы?
Quick sign-up through social networks.
Sign in

Sign in.
Allowed.

Not registered yet?
 
Log in through social networks
Forgot your password?