48
любой колонке, что может дать великолепные возможности для поиска значений и
даже получение некоторой статистики по данным.
В итоге табличная форма представления данных со строкой фильтрации и
сортировкой является приемлемой и достаточной для ведения базы данных слов и
определений.
Для возможности использования программного обеспечения в многопользова-
тельском режиме для хранения базы данных слов и определений предполагается
сервер управления базой данных. Помимо хранения самих слов и определений
стоит задача хранения изображений и сеток головоломок. На текущий момент
изображения хранятся в отдельных файлах, а в базе данных существует только
ссылка на них, но эта практика является, по меньшей мере, ошибочной. Все изобра-
жения должны хранится в базе данных. Тем более, что уже давно во многих из них
предусмотрены для этого определенные типы полей. Благодаря этому сохранится
целостность базы данных и соответственно информация будет более защищена.
Еще одним интересным моментом является способ хранения сеток головоло-
мок. На текущий момент, например, в «Арагаст», сетки хранятся в базе данных в
виде полноценных сущностей. Но, в некоторых программах сетки хранятся отдель-
ными файлами, например, в «EasyCross». Отдельные файлы хороши тем, что дают
возможность переноса сеток на файловом носителе. Основная проблема в том, что
сетки несут в себе ряд параметров, таких как шрифты, толщины линий, рамок, рас-
положение блоков изображений и т.п. Возникает вопрос как хранить сетки в базе
данных? Для этого можно разработать некую универсальную структуру, но нет га-
рантии, что этой структуры окажется достаточно в будущем. Гораздо проще поме-
нять формат файла, чем обновлять структуру базы данных, особенно удаленно.
Можно конечно предусмотреть версионность базы данных, чтобы программа пони-
мала, что структура не соответствует версии, но подобные проверки придется де-
лать при каждом запуске программы. В конечном итоге раз уж изображения будут
хранится полостью в базе, то почему бы и сетки не хранить в базе данных как
файлы. Это решает такие вопросы как более простая модернизация формата хране-
ния, одинаковость алгоритма загрузки как из файла, так и из базы данных, более
простой алгоритм переноса сеток из файловой системы в базу данных и обратно.