Задать вопрос

Структура базы данных для хранения документов?

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

Немного о задаче. Имеются различные типы документов. К примеру: Локальные акты, Справки, приказы и т.д. . Для каждого документа существует свой набор полей: name, path(путь до файла на диске), date и т.д. . Предполагается, что некоторые поля которые содержаться во всех документах будут общими, например поля name и path содержаться во всех документах. Встаёт вопрос: как организовать структуру БД? Если можно изобразите схематично.
  • Вопрос задан
  • 4514 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
@AlikDex
Не заморачивайтесь на тему общих полей. Храните документы как целостные документы. Т.е. в приказах - приказы, в справках - справки и т.д. со своими полем name и path. Тем более, что на диске это придется организовывать что-то типа /documents/orders/2015/aug/05/N335.doc
Почему так? Если навернется база, чтобы человек мог найти нужный ему документ интуитивно.

И потом организовать поиск будет гораздо удобнее и составить к нему интерфейс.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Расскажите пожалуйста, какую еще вам нужно информацию хранить о документах. То, что вы сейчас перечислили, сохранит любая файловая система, ну или на крайняк, система контроля версий. И это решение будет лучше, чем с базой, т.к. не будет избыточности (значит, не будет рассинхронизации). Может вам поиск нужен по атрибутам или по тексту? Тогда это другая история.
Ответ написан
Therapyx
@Therapyx
Data Science
Ой плохой из меня пеинт мастер, но вот )) как-то так думаю, если что упустил, критикуйте, попробуем доработать :)
ipic.su/img/img7/fs/Bezymyannyj.1438725172.png
Суть такова, что все поля, которые должны быть общими, ты выносишь в другую таблицу и связываешь ее через foreign keys.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы