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

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

Немного о задаче. Имеются различные типы документов. К примеру: Локальные акты, Справки, приказы и т.д. . Для каждого документа существует свой набор полей: name, path(путь до файла на диске), date и т.д. . Предполагается, что некоторые поля которые содержаться во всех документах будут общими, например поля name и path содержаться во всех документах. Встаёт вопрос: как организовать структуру БД? Если можно изобразите схематично.
  • Вопрос задан
  • 4483 просмотра
Решения вопроса 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.
Ответ написан
Ваш ответ на вопрос

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

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