Подтвердить что ты не робот

Какой формат я использую для хранения относительно небольшого количества пользовательских данных

Я пишу небольшую программу для нашей местной средней школы (pro bono). Программа имеет интерфейс, позволяющий пользователю посещать школьные каникулы. Это простое автономное приложение для Windows.

Какой формат следует использовать для хранения данных? Большие реляционные данные явно переполнены.

Мой первоначальный план состоял в том, чтобы хранить данные в файле XML. Сотрудники предлагали использовать файлы JSON, базы данных доступа, SQL Lite и SQL Server Express. Было даже предположение о старых школьных ИНИ файлах.

4b9b3361

Ответ 1

Проекты, подобные этому, имеют привычку становиться все больше и быстрее, и если они сделают ваш XML файл, он станет сложным и обременительным для управления.

Я бы не рекомендовал хранить данные в XML файле или json - это просто текстовые файлы с другим именем, все из которых страдают от одной и той же проблемы - у вас нет никакого контроля над тем, кто их редактирует.

Используйте какой-то db, начиная с маленьких (Access, SQLLite)

Edit

В соответствии с вашими последними комментариями перейдите к точке, в которой пользователи используют приложение в течение двух лет.

  • Сколько данных вы ожидаете сохранить к тому времени?
  • Пользователь должен оглянуться назад через исторические данные, чтобы увидеть, например, то, что они делали в прошлом году.

И тем более, прямо сейчас

  • Что учит делать в четверг днем.
  • Будет ли Учитель Б свободен участвовать в мероприятии 15 мая 2010 года?
  • Может ли учащийся C принять участие в мероприятии D?

Все эти вопросы/проблемы намного проще/эффективнее для работы с SQL. Плюс ваша результирующая кодовая база будет иметь больше смысла. Прохождение XML - это не самая приятная вещь.

Плюс, если ваша пользовательская база уже знакома с Excel, привязка Excel к базе данных SQL (и создание пользовательских результатов) намного проще, чем сделать то же самое с XML.

Ответ 2

Мне пришлось бы повторить ответ Json и SQL Lite.

Другой вариант - использовать встроенную базу данных, которая включена во все окна (с Windows 2000), ESENT. Существует проект codeplex, облегчающий работу с http://managedesent.codeplex.com/

Ответ 3

Рассматривали ли вы использование SQLite? Это приведет к небольшому файлу .s3db. SQLite используется всеми видами настольных приложений для локального хранилища.

Там есть библиотека SQLite.NET, которая позволит вам использовать ADO.NET для CRUD ваших данных.

Посмотрите статью Майка Дункана о том, как начать работу с SQLite в .NET.

Ответ 4

Hm, очевидно, SQL Express - это полномасштабная база данных - otohj это может иметь смысл. Почему НЕ использовать databsae, если у них уже есть?;)

В противном случае я, возможно, поеду с XML файлом.

Ответ 5

Я бы порекомендовал XML файл и типизированный набор данных.
Вам нужно будет выяснить, куда помещать XML файл.

Обратите внимание, что если вы хотите разрешить нескольким пользователям использовать его, вам необходимо использовать базу данных, такую ​​как Access или SQL Server.

Ответ 6

Я поеду за

  • SQL Server Express (бесплатная и полномасштабная реляционная база данных)
  • XML/JSON, если вам не нужна база данных (LINQ to XML может быть здесь большой помощью).

Ответ 7

xml файлы выглядят неплохо. используя Linq для xml, должно быть довольно легко читать/записывать файлы из объектов/в объекты. проверить классы XDocument и XElement Доступ к базам данных, SQL Lite и SQL Server Express, например, избыточный уровень. вам действительно нужна база данных для хранения простых данных календаря? ваше приложение будет расти?

Ответ 8

Из "простого автономного приложения Windows" мне кажется, что это не критично. Я бы пошел с тем, что было проще, или с чем вам больше всего нравится. XML полезен для чтения человеком, но разумно отформатированный плоский файл может быть столь же разумным.

Ответ 9

Я бы использовал сериализованные классы.

Ответ 10

Одна вещь, которую следует учитывать, если вы используете базу данных вместо какого-либо текстового файла: вы больше не являетесь "простым автономным приложением Windows". Теперь вы (скорее всего) получили программу установки для записи.