Сервер баз данных и работа со своим форматом хранения баз данных на С++.
Файлы взяты из рельного проекта, написанного в 4 семестре (сдавал в мае 2012 года) в группе 213. Из проекта удалены функции, отвечающие за непосредственно анализ предложений модельного SQL (ибо в этом и суть задания). Эта часть проекта выложена для упрощения напсания задания - остается только добавить анализ модельного SQL и наладить его взаимодействие с публичным интерфейсом классов DBMS и Server (всё неплохо документировано в .h-файлах).
Сервер и база данных представленны файлами server.h, server.cpp, dbms.cpp и database.h. Последний заголовочный файл содержит заголовки одновременно для базы данных и для анализатора модельного SQL, так как классу DBMS нужны были методы класса Parser и наоборот. Взаимное подключение заголовочных файлов приводит к ошибке компиляции.
Файл analizer.cpp пуст, так как должен содержать как раз анализатор модельного SQL. Также из database.h убраны некоторые классы и функции по тем же причинам. Более подробно написно в самом database.h.
Компилировать командой (если в папке больше ничего кроме файлов этого репозитория нет)
g++ *.cpp -o sqlserver -pthread
или
g++ server.cpp dbms.cpp liker.cpp analizer.cpp helpfunc.cpp main.cpp -o sqlserver -pthread
-pthread "подключает" библиотеу pthread - реализацию потоков выполнения Posix
По желанию можно добавить -ansi. А вот -Wall и -pedantic писать не стоит. Последний - из-за использования типа long long int.
В файле students.db приведен пример таблицы, созданной с помощью этой реализации базы данных. Формат базы - текстовый (привет, linux-way :) ), так что открывать можно любым текстовым редактором.