2011-01-28 3 views
4

Проблема у меня есть, у меня есть своего рода хобби запрос для небольшой программы. Будет сделано в Windows с Visual C#. Насколько я вижу, это потребует базу данных, и я не имею ни малейшего представления о том, как начать на этом, в основном из-за требований:Лучший дизайн базы данных для небольших проектов в C# App

  1. Он будет содержать небольшие элементы данных, но чертовски из них. Три таблицы с большим количеством строк, но, возможно, только 2 или 3 столбца. Данные будут считываться чаще, а затем записываться.

  2. Чтение должно быть быстрым.

  3. Самый важный момент: я должен иметь возможность легко развертывать систему с помощью моего приложения, не требуя от конечного пользователя каких-либо дополнительных действий. Кроме того, не должно быть никаких проблем с лицензией, пожалуйста.

Поскольку я буду работать с Linq, я также рассмотрел XML, может быть, это альтернатива?

Спасибо за чтение.

+0

Определить «чертовски много». Сколько данных будет? Мегабайты, гигабайты, терабайты? На какой машине пользователя это будет работать? – TToni

+0

Я ожидаю, что около 4000 строк на таблице 1 и до 10000 на таблице 2. Это все строки, возможно, около 20 МБ? Это для меня много, так как он будет работать на слабом домашнем рабочем столе. – Lanbo

+1

Согласен. FOr msot даже samll dataabases 1 миллион строк мало, 1 миллиард стартов действительно большой. «Черт возьми» от кого-то, ничего не зная о базах данных, очень вероятно, что вы чертовски шутите для базы данных (например, 10.000 или около того). – TomTom

ответ

5

Отъезд SQLServer Compact Edition. Должно быть именно то, что вам нужно.

+0

на боковой ноте это максимальная емкость 4GBs –

+0

Да 4gb предел, но из того, что ОП заявила ... 4gb должно быть много – stephen776

0

Ну, я не знаю, есть ли mongodb драйвер для C#. Но если да, перейдите с mongodb или любой другой базой данных схемы. Более подробно here

Edit: MongoDB имеет C драйвер C# driver

0

# Лично я бы использовать SQLite. Возможно, стоит денормализовать базу данных в одну таблицу, если производительность является проблемой. Это будет зависеть от структуры данных, и вам нужно будет проверить, может ли быть достигнуто повышение производительности.

0

Попробуйте следующие шаги:

  1. Определите вашу базу данных в SQLite
  2. Скачать экспресс издание Devart LinqConnect
  3. Создать модель и наслаждаться
-1

Проверка Valentina базы данных (www.valentina-DB .com). Тебе понравится это. Особенно, если вам нужна скорость. Валентина очень быстро. Да, я знаю, что большинство dbs утверждает, что они быстры. Но Валентина действительно особенная. Это легко обычное dbs в x10-x50 раз. Из-за нескольких причин:

  • Это столбчатый (в то время как другие используют таблицы строк формата)
  • Он имеет специальные индексы
  • это дает вам в то же время SQL и NON-SQL API (сотни методов)
  • он предоставляет в то же время реляционную модель, но также модели объектно-реляционной и расширенной сети
  • вы можете использовать не только внешние ключи для связывания таблиц, но и ObjectPtr и BinaryLinks.
  • Соединения по этим дополнительным ссылкам в несколько раз быстрее, чем через FK.
  • Очень мощный SQL, включая представления, триггеры, хранимые процедуры, чудесными рекурсивных запросов, типов перечислений с локализацией, ...

Следующая интересная особенность Валентиной БД, является, может быть, это единственная база данных, который предлагает вам как:

  • МЕСТНОГО дб двигатель, который может быть встроен в приложение, так что
  • Валентина SERVER + VCLIENT, которые могут быть использованы в вашем приложении

Вы также можете одновременно перемещать локальный движок и vclient.

Также они предоставляют собственные Двигатель Валентины, который присутствует во всех продуктах, и вы можете использовать его в своих приложениях.

Также невероятный инструмент - это Studio Valentina для управления всем этим. И у них есть много бесплатных опций для большинства продуктов.

Просто удивительный продукт !!

Смежные вопросы