У меня есть приложение на C #, которое позволяет одному пользователю вводить информацию о клиентах и сайтах вакансий. Информация очень простая.
Вот мои спецификации, которые мне нужны для этой программы.
Все это, кажется, указывает мне на базу данных, но очень легковесную. Однако мне также нужно, чтобы в отношении хранения данных не было никаких ограничений. Если вы согласны, я должен использовать базу данных, пожалуйста, дайте мне знать, что лучше всего подходит для моих нужд. Если вы не думаете, что мне следует использовать базу данных, пожалуйста, сделайте несколько других предложений о том, что, по вашему мнению, будет лучше.
Мне кажется, что база данных - это на все 100% то, что вам нужно. Он предлагает как хранилище данных, их извлечение (включая запросы), так и возможность экспорта данных в стандартный формат (либо прямо из базы данных, либо через ваше приложение).
Для легкой базы данных я предлагаю SQLite (произносится как «SQL Lite»;)). Вы можете найти в Google учебные пособия о том, как его настроить, а затем о том, как взаимодействовать с ним с помощью кода C #. Я также нашел ссылку на эту оболочку C # для SQLite, которая может сделать большую часть работы за вас!
Я предлагаю использовать SQLite. Вы можете найти его здесь: http://sqlite.org/ . Вы можете найти версию оболочки C # здесь: http://sqlite.phxsoftware.com/
SQLite очень легкий и имеет довольно мощные возможности для такого легковесного движка. Другой вариант, который вы можете изучить, - это Microsoft Access.
Как насчет SQLite? Похоже, он хорошо подходит для вашего приложения.
Вы можете использовать System.Data.SQLite в качестве обертки .NET.
Вы снова задаете неправильный вопрос :)
Лучший вопрос - «как мне создать приложение, которое позволяет мне изменить реализацию хранилища данных?»
Если вы примените шаблон репозитория и правильно его подключите, вы можете построить взаимозаменяемые уровни сохраняемости. Таким образом, вы можете начать с одной реализации и изменять ее по мере необходимости без необходимости реинжиниринга бизнес-уровня или уровня приложения.
Если у вас есть интерфейс репозитория, вы можете попробовать реализовать множество различных подходов:
Плоский файл - вы можете сохранить данные как XML, и при условии, что это не так много данных, которые вы могли бы сохранить в полное содержимое в памяти (просто прочтите файл при запуске, запишите файл при выключении). Используя XML в памяти, вы можете получить очень высокую пропускную способность, не беспокоясь об индексах базы данных и т. Д.
Распространяемая база данных - SQLite или SQL Compact отлично работают; они предлагают множество преимуществ БД и не требуют установки
Локальная БД - SQL Express является хорошим промежуточным звеном между облегченной и полнофункциональной БД.Доступа при осторожном использовании может быть достаточно. Основным преимуществом является то, что он входит в состав MS Office (хотя и не устанавливается по умолчанию), и некоторым ИТ-группам удобнее устанавливать Access на компьютерах, чем SQL Express.
Полная БД - MySql, SQL Server, PostGreSQL и др.
Учитывая ваши особые требования, я бы посоветовал вам использовать плоский файл на основе XML с единственным условием, что вы согласны с тем, что использование памяти приложением напрямую зависит от размера файла (поскольку ваши данные text, даже с весом XML, потребуется много записей, чтобы стать очень большим).
Вот плюсы и минусы, перечисленные в соответствии с вашими требованиями:
Минусы
Плюсы
SQL Server Express можно получить бесплатно. Я бы сказал, что вопрос не столько в том, зачем вам использовать базу данных, сколько в том, почему бы и нет? Именно для этого типа проблем предназначены базы данных, а SQL Server - очень мощная и широко используемая база данных, поэтому, если вы собираетесь использовать какое-то другое решение , вы должны указать вескую причину, по которой вы не должны с базой данных.
База данных подойдет. SQLite хорош, как уже упоминали другие.
Вы также можете использовать локальный экземпляр SQL Server Express , чтобы воспользоваться преимуществами улучшенной интеграции с другими частями стека разработки Microsoft (поскольку вы упоминаете C #).
Третий вариант - база данных документов, такая как Raven , которая может соответствовать звукам ваших данных.
править
Четвертый вариант - попробовать Lightswitch , когда бета-версия выйдет через несколько дней. (8-23-2010)
/ edit
Всегда будет ограничение на хранение данных (пустое место на жестком диске). Согласно Википедии, SQL Express ограничен 10 ГБ для SQL Server Express 2008 R2