Promit Sahani Ответов: 2

Где хранятся данные автономного программного обеспечения windows?


Я новичок в программировании, и мне любопытно узнать, где хранятся данные в автономном программном обеспечении windows, таком как инвентаризационное программное обеспечение или любое другое программное обеспечение, которое хранит данные?

используют ли эти программы базу данных или что? Как это работает?

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

Я ничего не пробовал. Просто хочу знать.

2 Ответов

Рейтинг:
1

CPallini

Цитата:
используют ли эти программы базу данных или что? Как это работает?
Многие используют базы данных (и есть много различных баз данных). Другие хранят данные в пользовательских файлах (например, конфигурационные файлы, сериализованные данные...).


Рейтинг:
0

OriginalGriff

Проблема в том, что нет "единого ответа" - есть несколько ответов, и часто одно приложение не будет обязательно хранить информацию даже в одном месте!

Существует огромное разнообразие "мест для хранения данных" и еще больший диапазон способов хранения данных: базы данных-это одно, и они серьезно полезны, если ваши данные являются табличными и / или имеют перекрестные корреляции, когда данные "разделяются" между несколькими хранилищами. Например, система выставления счетов будет использовать БД, поскольку она хочет хранить сведения о клиенте только в одном месте, каждую деталь счета-фактуры (дата, номер, срок оплаты, статус оплаты, клиент) - в другом, а каждую номенклатуру счета-фактуры (продукт, количество, стоимость, статус доставки) - в другом. Все это легко сделать с БД, но трудно, скажем, с электронной таблицей или плоским текстовым файлом.
Но БД - это единственное решение: конфигурационный файл отлично подходит для хранения пользовательских предпочтений в однопользовательской системе-цвета, которые ему нравятся, строки на странице, шрифт ... и хотя это может быть в БД, это добавит огромное количество программного обеспечения и данных накладных расходов на простую задачу.

В принципе, вы не можете сказать со стороны: любое данное приложение может использовать БД, или электронную таблицу, или текстовый файл, или двоичный файл, или конфигурационный файл, или ... список можно продолжать.


Promit Sahani

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

Предположим, я создал приложение, которое хранит данные студентов, такие как Имя, номер рулона, отметки и т. д. В базе данных mysql. Теперь я хочу передать это приложение своему клиенту в виде exe-файла. Нужно ли ему устанавливать mysql на свою машину? Или что?

OriginalGriff

Это зависит от обстоятельств. MySql - это серверная база данных, такая же, как Sql Server (также называемая "MSSql"), и для работы им требуется доступ к соответствующему серверному программному обеспечению, установленному на компьютере, обычно в том же сегменте LAN / WiFi.
А установка, управление и настройка любой серверной базы данных сложна, занимает много места и требует большой осторожности, если она должна работать должным образом.

Установка серверного решения для однопользовательской системы баз данных - плохая идея:

0) вы можете распространять SQL Server Express только по соображениям авторского права, а не полную версию SQL Server.
1) возможно, у них уже установлен SQL Server в сети. Если это так, то они, вероятно, захотят использовать эту версию.
2) Если у них установлен SQL server и вы начинаете распространять экземпляры SQL server Express, вы будете раздражать администратора базы данных до чертиков...
3) одна установка сайта SQl Server с гораздо большей вероятностью будет скопирована, чем несколько разрозненных версий под контролем пользователя.
4) Sql server довольно сложен для установки и администрирования "обычным" пользователем - это не очень хорошая идея!
5) это уничтожит основное преимущество использования Sql Server по сравнению с SqlCE или SQLite - многопользовательский доступ. Если каждый установит свою собственную копию SQL server, то у вас будет несколько копий вашей базы данных, каждая из которых используется одним человеком. Это вызовет некоторую путаницу и (в зависимости от того, как вы написали исходную базу данных) может потребовать значительных усилий для объединения в один экземпляр, когда проблема будет реализована.

Если вам нужно несколько пользователей, имеющих доступ к одним и тем же данным, то вам нужна серверная система (и клиент должен нести ответственность за ее установку).
Если вам нужен только один пользователь, обращающийся к данным, то используйте однопользовательскую БД, например SQLite или даже Access.

Promit Sahani

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

Магазин одежды 1: это будет однопользовательское приложение для выставления счетов за одежду. Что бы вы посоветовали для этого?

Магазин одежды 2: это будет многопользовательское приложение для выставления счетов за одежду и будет работать на другом компьютере. Что бы вы посоветовали для этого?

OriginalGriff

До вас! Это ваше приложение, а не мое, но я бы не стал пытаться сделать одно приложение подходящим для обоих обстоятельств. Подумайте о том, чтобы иметь несколько модулей уровня данных, чтобы вы могли выпускать "полную" и "облегченную" версии вашего приложения по мере необходимости.