Есть несколько вещей, которые нужно учитывать.
Прежде всего, вы хотите, чтобы ваша база данных имела читабельную структуру или нет?Или вы можете жить с довольно нечитаемыми данными в базе данных, но лучше подходящими для сопоставления с вашей структурой?
- Если вы хотите, чтобы структура базы данных была читаемой (желательно в 3-й или 4-й нормальной форме), укажите свою базу данных.столбцы таблиц, которые соответствуют логическим полям в вашей структуре.Во многих случаях это означает один столбец на поле структуры, но в некоторых случаях вам может потребоваться отобразить несколько полей в один столбец или разбить одно поле на несколько столбцов.Рассмотрите возможность использования инструмента ORM (Object-Relational Mapping), чтобы помочь вам в этом (например, для Java у вас есть Hibernate, для C / C ++, вероятно, есть подобные инструменты).
- Если вы можете жить с нечитаемыми данными в вашембазе данных, вы можете сериализовать вашу структуру в одну строку и сохранить эту строку в базе данных.При чтении из базы данных просто прочитайте строку и десериализуйте ее.Тогда вашим таблицам нужен только один столбец, который представляет собой сериализованную строку.
Хотя подход с использованием сериализованной строки может дать вам более быстрое начальное решение и может сделать его более удобным для изменения структуры без изменениябазы данных, вы, вероятно, столкнетесь с проблемами в долгосрочной перспективе.Наличие четкой структуры базы данных означает, что и другие инструменты могут использовать вашу базу данных (например, инструменты RAD, такие как Access).Поэтому рассмотрите возможность исследования с помощью инструмента ORM.
Во-вторых, вашему приложению, вероятно, также необходимо сохранить данные в базе данных.Но как вы собираетесь это сделать?
- Будете ли вы очищать базу данных и пополнять ее (так же, как вы заново создаете файл)?
- Будете ли вы выборочно обновлять записи в базе данных (но тогда вам нужен ключ в вашей таблице)?
Возможно, вы хотите, чтобы несколько приложений или пользователей сохранили свою конфигурацию в базе данных.Следовательно, очистка базы данных и ее повторное заполнение, вероятно, не вариант (хотя есть способы для решения этой проблемы, такие как сохранение имени пользователя во втором столбце и очистка всего этого пользователя).Следовательно, вам необходимо сохранить исходный ключ базы данных вместе со своей структурой, чтобы вы знали, какие записи необходимо обновить позже.Опять же, инструменты ORM могут помочь вам в этом.
Переход от файла к базе данных может показаться вам простым, но это не так.Заранее подумайте, что вы хотите сделать со своей базой данных, и предусмотрите достаточно времени для разработки вашей базы данных и написания кода для доступа к базе данных.