@Ivan_doc

Как лучше организовать хранение данных?

Не являюсь программистом. Изучаю python самостоятельно. Хочу написать программу для ведения истории болезни с выводом около 10 документов на печать с, зачастую, одними теми же данными в разных вариациях (паспортные данные, блоки текстовой информации в несколько абзацев) с возможностью форматирования затем в хороший отчёт для печати и сохранения документов в docx формате. Делаю для себя на 1 компьютер.
пытаюсь понять, каким образом лучше хранить данные, в том числе, для экономии времени изучения.
Варианты, которые рассматриваю на данный момент:
- json
- sqlite
- postrgres
Возможно есть другие варианты, где сразу реализована возможность сохранения форматированного текста.
  • Вопрос задан
  • 128 просмотров
Пригласить эксперта
Ответы на вопрос 3
vabka
@vabka
Токсичный шарпист
Делаю для себя на 1 компьютер.

Тогда сразу выкидываем postgres.

Варианты, которые рассматриваю на данный момент:
- json
- sqlite

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

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

Но вообще подводных камней при генерации отчётов очень много - лучше разбейте свою задачу на несколько, чтобы оценить свои силы (отдельно хранение и получение данных и отдельно - формирование хотябы одного печатаемого отчёта на их основе)
Ответ написан
@alexalexes
Как бы выразиться помягче...
Вы даже не представляете какой объем системы нужно разработать, чтобы выводить 10 отчетов, и если нужно будет 11-ый отчет добавить. Вам придется решить вопросы не только хранения данных.
Обычно, студенты профильного направления только на 3 курсе начинают осознавать масштаб бедствия.
Вот пример, какого кунгфу нужно достичь, чтобы решить вашу задачу:
https://dspace.tltsu.ru/jspui/bitstream/123456789/...
Ответ написан
@rPman
Если работа с данными не подразумевает многопользовательский доступ на запись (и с оговорками на чтение) то база данных формально не нужна. Главная фича бд - транзакции и удобный доступ к данным, ценой накладных расходов. Если же данных не много и работа с ними из одного места, то можно и в файлах все хранить, загружать из целиком в оперативную память.

Иногда стоит не усложнять систему. Пример реализации, которой я активно пользовался лет 10 назад - в ms visual studio используя winforms можно очень легко создавать интерфейс бд, там часть базы оформляется в виде реляционного слепка реальной базы в памяти, буквально кликая мышкой. Так вот объекты в памяти можно было сохранять и считывать из файла .xml. это было на столько удобно что для малых размеров база данных в принципе не нужна.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы