Лучший способ хранения данных для небольшого персонального приложения (база данных SQL, XML или другой тип файла)
Я провел небольшое исследование SO и не нашел именно то, что мне было нужно. В настоящее время я изучаю C++, чтобы помочь перенести приложение, управляемое MSSQL Delphi, моей компании на C++. Чтобы облегчить процесс обучения, я работаю над персональным приложением для домашнего использования. Поскольку я не думаю, что мне понадобится мощь базы данных, я искал другие способы хранения данных. Это может помочь ответить на мой вопрос, если вы знаете, что будет делать программа.
Что это: семейный бюджет, медицинское и плановое применение.
Что я хочу с этим сделать: вместо того, чтобы хранить неорганизованные таблицы бюджета, медицинские документы в формате PDF и другие ориентированные на семью данные на флэш-накопителе. Я хочу создать интерфейс, который имеет несколько инструментов.
Я хочу иметь возможность хранить и получать доступ к общей личной информации, медицинским картам всей семьи (включая инструменты для диабетического отслеживания, такие как ежедневные показатели уровня глюкозы и полученного инсулина), бюджетную информацию, информацию о текущих / исторических счетах (счета #, суммы, подлежащие оплате, оплаченные, срочные и т. д.) данные и вообще все, что я могу придумать, чтобы сделать мои личные данные более организованными. Я также планирую иметь возможность печатать отчеты и создавать диаграммы и графики для этих данных. Я могу хотеть зашифровать данные, но я не уверен в это время.
Теперь я знаю, что для этого проекта вполне подойдет база данных sql, mysql или progress, однако я действительно хочу использовать что-то еще, что может быть меньше и проще. Будет ли XML допустимым вариантом? Существуют ли другие типы файлов, которые я мог бы использовать для хранения всех данных. Я ищу маленький след, с быстрым доступом и способностью выполнять "массаж" на данных.
2 ответа
Используйте SQLite. Он дает вам большую часть возможностей СУБД, включая в основном полную реализацию SQL-92, но полностью встроен в ваше приложение и не требует установки.
Для C++ доступно несколько библиотек, которые оборачивают OO API вокруг довольно RAW C-интерфейса. Смотрите этот вопрос так для рекомендаций.
Даже не думай об использовании XML. База данных - это идеальное место для хранения информации, над которой вы работаете.
SQLite (как рекомендует Марсело) или SQL Server CE (если вы будете использовать.NET)