Nilesh Dalvi Ответов: 2

Бэкэнд для приложения winform


Привет, я разрабатываю небольшое приложение winform, но я запутался в бэкэнде, как...
Это приложение очень мало, так как для нормального ввода данных требуется всего 10 таблиц и 5-6 страниц. Так что мое все это не очень хорошая идея, чтобы установить весь SQL express server в клиентском ПК. Они не готовы установить его внутри. На самом деле они в настоящее время используют одно приложение(windows), которое не требует установки какого-либо сервера баз данных на их ПК, тогда зачем это нужно нашему программному обеспечению, и у меня нет ответа на него.

Не могли бы вы подсказать мне, какую базу данных я могу использовать в качестве бэкенда для моего приложения winform?

Что я уже пробовал:

Я провел кое-какие исследования.
1. Базы данных SQLite / MySQL-сервера - но это тоже требуют определенной установки на клиентских ПК.
2. XML как база данных - я знал, что это не очень хорошая идея использовать xml в качестве бэкэнда, но для небольших приложений мы можем использовать его.

2 Ответов

Рейтинг:
13

OriginalGriff

Все зависит от того, что клиент делает с приложением и данными - и самое главное: "сколько пользователей будет иметь к нему доступ? Должен ли он быть разделен между ними, или они просто читают данные?"

Если есть только один пользователь или ни один из пользователей не добавляет / не обновляет / не делится информацией, то вам не нужна серверная система, и вы можете рассмотреть однопользовательскую БД, такую как SQLite или Access. Необходимые драйверы могут быть добавлены с помощью установщика вашего приложения очень легко.

Если существует более одного пользователя, и данные должны быть разделены / обновлены между ними, то вам нужна серверная система, и вам нужно установить SQL Server или MySQL. Хотя вы можете использовать однопользовательскую БД, например Access для нескольких пользователей, она быстро превращается в кошмар, и я никогда не видел, чтобы она работала без проблем и очень тщательного кодирования.

XML/JSON - это не база данных: это структурированный текстовый формат, а это значит, что для изменения чего-либо вам придется переписать весь файл. В многопользовательской среде это вызовет значительные проблемы и очень вероятную потерю данных, если только ваш код не будет написан очень, очень специально, чтобы избежать этого - сложная и трудоемкая работа, а также кошмар для отслеживания ошибок и их исправления. Избежать!


Nilesh Dalvi

Если я иду с SQLite db, то как я могу защитить его от любого другого пользователя? Я не хочу никому рассказывать о своей логике структуры таблиц или логике sp. Я свое приложение надежно и надежно защищаю, чтобы никто не мог украсть мою бизнес-логику.

OriginalGriff

Расширение Шифрования SQLite:
https://www.sqlite.org/see/doc/release/www/readme.wiki

Рейтинг:
0

RickZeeland

Я бы рекомендовал LiteDB, смотрите обзор здесь: лучшие базы данных для малого сетевого приложения[^]