powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
25 сообщений из 59, страница 1 из 3
Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
    #39294379
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пишу программу.

Тех.данные: VS C# 2012, интерфейс на WPF), которая запускается без установки на любом компьютере, где есть .NET 4.5.


Решаемые задачи: отчёты разные, на основе отчётов другие отчёты, статистика и прочая ерундистика, всё это выводится на экран с помощью DataGrid'ов.


Суть: в программе будет пункт "файл->сохранить как..." - и в этом вся загвоздка.

Пользователь работает примерно как в excel - с отдельными файликами. Сохраняет их, создаёт новые.. А их структура генерируется прогой автоматически в момент сохранения.

По идее, я бы использовал SQL Server compact, по функционалу мне б его хватило. Но я ж БД должен создать (все таблицы спроектировать) на этапе разработки программы. А там уже "сохранить как" не катит.
Плюс, данные отправляются в файл до того, как пользователь успеет нажать "сохранить".

Подумываю об xml-логике или json-логике, тогда всю логическую структуру БД реализую в классах. Но в этом древнем топике говорят, что это бред.

Вопрос: как народ делает программы, поддерживающие команду "сохранить как..." и "открыть..."? ну, "открыть" - всё понятно, просто подключение к новому файлу.
дополнительно Шальная мысль:
Я пока точно не решил. Возможно, стоит как в Access, в начале работы предлагать "создать файл" и работать с ним непрерывно. Но это не закрывает вопрос, как генерировать такой файл динамически и где хранить всю его структуру. Опять-таки, возможно, стоит в xml? смущает, что громоздкий будет.
...
Рейтинг: 0 / 0
Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
    #39294390
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прочитал, подумал, так и не понял, в чем собственно проблема.
...
Рейтинг: 0 / 0
Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
    #39294395
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В том, что в существующих БД делается всё вот так:
Открывается среда разработки
Создаётся файл БД, проектируются в ней таблицы и связи
создаётся программа, которая подключается к этой БД.

В моём случае я хочу, чтобы пользователь получил сею мою программу (без файлов БД), а БД создавал только выполнением команды "сохранить как..."
вопрос - где хранить структуру данных со связями, в каком формате лучше хранить БД?
Моё решение пока - в файл писать XML, структуру хранить в классах. Как бы сделали другие участники форума? Потому что по той ссылке было сказано, что использование XML как хранилища - это изобретение велосипеда и "лучше бы воспользоваться готовыми решениями". А готовые решения - это создание файла БД на этапе создания программы. Не подходит. Либо я что-то не так делаю (что скорее всего)
...
Рейтинг: 0 / 0
Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
    #39294398
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAПрочитал, подумал, так и не понял, в чем собственно проблема.
Тоже самое.
...
Рейтинг: 0 / 0
Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
    #39294400
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да блин.
Вопрос: как БД создавать не на этапе проектирования программы, а динамически. Полно мануалов, описывающих работу с БД, и везде сказано "начнём с создания файла БД". Где почитать, как работать с динамически создаваемыми файлами БД?
...
Рейтинг: 0 / 0
Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
    #39294402
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles Weyland,
А что будешь хранить в самой БД?
P. S. DML запросы еще никто не отменял.
...
Рейтинг: 0 / 0
Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
    #39294405
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ,

*DDL запросы.
...
Рейтинг: 0 / 0
Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
    #39294407
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ,
примерно такой запрос легко выполняется при помощи SqlCommand
Код: sql
1.
2.
3.
CREATE DATABASE test1;
USE test1;
CREATE TABLE .......
...
Рейтинг: 0 / 0
Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
    #39294410
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles WeylandВ том, что в существующих БД делается всё вот так:
Открывается среда разработки
необязательно
...
Рейтинг: 0 / 0
Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
    #39294414
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВCharles Weyland,
А что будешь хранить в самой БД?
P. S. DML запросы еще никто не отменял.
Вообще, я ща практикуюсь.
Скажем, список участников соревнования, команда, в которой он играет, очки, которые он получил, в каких кругах какое место занял.
Плюс в программе должна быть ещё внутренняя БД - города, страны, и пр. Но с этим всё понятно. Такую БД я создам на этапе разработки.
Получается, человек запускает программу, создаёт с чистого листа новый список участников и начинает тыкать кнопки, формируя, кто с кем соревноваться будет.
...
Рейтинг: 0 / 0
Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
    #39294418
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles WeylandПолучается, человек запускает программу, создаёт с чистого листа новый список участников и начинает тыкать кнопки, формируя, кто с кем соревноваться будет.
собственно таблички (пустые) со списками участникиов и т д создаются на этапе разработки.

никаких динамических структур не набблюдается
...
Рейтинг: 0 / 0
Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
    #39294440
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles Weyland,
не очень понятно, как это должно работать и что потом с этим делать
если в меню файл сохранить - так и сохранять в файл, как ексель, в чем проблема? формат файла? xml можно

если все же это база - то
* во-первых я не вижу что структура таблиц динамическая, те надо тупо сделать базу пустышку и отдавать ее виесте с программой
* во-вторых файл-сохранить уже не катит

хотя может надо все добро сохранять в файл формата базы данных, вопрос зачем? что пользователь потом будет делать с этим файлом?
...
Рейтинг: 0 / 0
Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
    #39294465
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилCharles WeylandПолучается, человек запускает программу, создаёт с чистого листа новый список участников и начинает тыкать кнопки, формируя, кто с кем соревноваться будет.
собственно таблички (пустые) со списками участникиов и т д создаются на этапе разработки.

никаких динамических структур не набблюдается
+1

струтура базы придумывается на этапе проектирования, создаётся при установке программы, данные добавляет/изменяет/удаляет пользователь во время работы
...
Рейтинг: 0 / 0
Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
    #39294467
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles WeylandДа блин.
Вопрос: как БД создавать не на этапе проектирования программы, а динамически.
Getting started with SQLite in C#
...
Рейтинг: 0 / 0
Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
    #39294504
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles Weyland,
как вариант entity attribute value
...
Рейтинг: 0 / 0
Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
    #39294520
L1G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles Weylandя бы использовал SQL Server compact, по функционалу мне б его хватилоУ SQL Server compact нет проблем с созданием новой БД, погуглили бы
http://stackoverflow.com/questions/1487845/create-sql-server-ce-database-file-programmatically
в том числе через модель Entity Framework можно её создавать

Подумываю об xml-логике или json-логике, тогда всю логическую структуру БД реализую в классах. Но в этом древнем топике говорят, что это бред.Для меня "всю логическую структуру БД реализую в классах" звучит не как бред, а как самое легкое, понятное и простое в поддержке решение (разве что не самое быстрое в написании), но только вот без "xml-логики или json-логики", добавление "-логика" к этим буквочкам как раз ближе к бреду.
Это если вся БД без проблем влезает в память, конечно.
...
Рейтинг: 0 / 0
Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
    #39294541
L1G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles Weyland,
вчитался повнимательнее - понял, что у вас еще проблема в том, что не хочется, чтобы какие-то файлы вообще создавались еще до команды "сохранить как"?

ну, тут либо просто смириться с тем, что у программы будет временный рабочий файл ( в него тупо копировать пользовательский файл при его "открытии", а из него - при "сохранении") - и тогда можно обойтись MSSQL CE,
либо юзать SQLite in-memory database (если там нет проблем с операциями "сохранить в файл всю БД" и "загрузить БД из файла" - об этом не знаю),
либо таки громоздить свои объекты и надеяться на достаточность и нетормознутость LINQ to objects (плотно, как замену обычного SQL, не юзал, поэтому не уверен)
кстати, сериализовать их при сохранении можно и в XML, если захочется
...
Рейтинг: 0 / 0
Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
    #39294575
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А нафига тут СУБД вообще ? Из первого поста ТС необходимость СУБД неочевидна.
...
Рейтинг: 0 / 0
Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
    #39294585
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schiА нафига тут СУБД вообще ? Из первого поста ТС необходимость СУБД неочевидна.
от 10 до 1000 участников соревнования из разных школ и разных команд. Соревнуются в разных направлениях, в разных возрастных категориях и т.д. И каждый получает награду. По всем соревнованиям формируются отчёты и выводятся на принтер.
Обычная такая бесплатная программка получится. Дам школам (они ж нищие все), какие покупать не хотят, пусть юзают.

сбсна, вот, БД есть, значит, и СУБД должна быть)
...
Рейтинг: 0 / 0
Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
    #39294615
Andrey1306
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может Тс имел ввиду под "сохранить как" выгрузка в разных форматах из базы на диск ?!
...
Рейтинг: 0 / 0
Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
    #39294632
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey1306Может Тс имел ввиду под "сохранить как" выгрузка в разных форматах из базы на диск ?!
нет.
Я имел в виду, что программа имеет собственный тип файлов. Соответственно, работая в программе, можно сохранить (как и в excel'е) результаты в файл, а в следующий раз открыть этот файл для продолжения работы, или передать его по почте другому человеку, который с помощью этой же проги его откроет.
...
Рейтинг: 0 / 0
Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
    #39294643
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles WeylandAndrey1306Может Тс имел ввиду под "сохранить как" выгрузка в разных форматах из базы на диск ?!
нет.
Я имел в виду, что программа имеет собственный тип файлов. Соответственно, работая в программе, можно сохранить (как и в excel'е) результаты в файл, а в следующий раз открыть этот файл для продолжения работы, или передать его по почте другому человеку, который с помощью этой же проги его откроет.

Прекрасно. СУБД тут никоим боком. Сделай любой формат файла, от csv до json/xml и используй его в своей программе.
...
Рейтинг: 0 / 0
Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
    #39294651
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles WeylandЯ имел в виду, что программа имеет собственный тип файлов. Соответственно, работая в программе, можно сохранить (как и в excel'е) результаты в файл, а в следующий раз открыть этот файл для продолжения работы, или передать его по почте другому человеку, который с помощью этой же проги его откроет.
Проблема-то собственно в чем? Использовать/не использовать СУБД? Или в каком виде хранить? Это разные вопросы, мало связанные меж собой.

Нравится как в экселе - храни как в экселе: все данные в XML, а XML в ZIP.
...
Рейтинг: 0 / 0
Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
    #39294687
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TCharles WeylandЯ имел в виду, что программа имеет собственный тип файлов. Соответственно, работая в программе, можно сохранить (как и в excel'е) результаты в файл, а в следующий раз открыть этот файл для продолжения работы, или передать его по почте другому человеку, который с помощью этой же проги его откроет.
Проблема-то собственно в чем? Использовать/не использовать СУБД? Или в каком виде хранить? Это разные вопросы, мало связанные меж собой.
ИМХО проблема в том, что не определены потребности пользователей.

Вот к примеру участники соревнований и боллельщики хотят следить за ходом соревнований? Если да, то как?
Учитывая при этом, что они из разных школ.

И что-то мне подсказывает, что школы уже где-то хранят информацию о прошедших и предстоящих мероприятиях.
...
Рейтинг: 0 / 0
Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
    #39294693
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, не хотят. Только stand-alone, никаких сетей. Обойдутся) это всё есть в платных программках. Я бесплатную простую делаю.
Просто есть такой чел, зовут его "судья-секретарь". Жалуется "вот если бы ты нам программку такую сделал, а то в excel'е тяжко". Есть у него около 15 разных таблиц, - участников перекидывает между ними в процессе соревнований. Так что задача только облегчения только его работы, а то ошибок уйму делает вручную.

Все эти отчёты распечатываются - и да, хранят. В толстых журналах. IT до школ не добралось ещё)) На крайняк, экспорт в excel сделаю.
...
Рейтинг: 0 / 0
25 сообщений из 59, страница 1 из 3
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Тяжёлый вопрос выбора СУБД, чтобы потом не пожалеть..
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]