Разрабатывается примитивная система электронного архива
в которой будут храниться отсканированные образы
бумажных документов с возможностью поиска по реквизитам.
Внимание вопрос.
В каком виде хранить реквизиты документов?
Дело в том что для каждого вида документов (служебки, рапорта, приказы) определён свой набор реквизитов.
И в каком виде они храняться в существующих системах?
Здравствуйте, Kostyan2204, Вы писали:
K>Внимание вопрос. K>В каком виде хранить реквизиты документов? K>Дело в том что для каждого вида документов (служебки, рапорта, приказы) определён свой набор реквизитов. K>И в каком виде они храняться в существующих системах?
Ну у нас сделано следующим образом:
— документы хранятся в БД (blobs)
— у документа есть основные атрибуты (дата, краткое описание, тип документа и т.п.), которые хранятся в той же таблице, что и сами документы
— у документа есть дополнительные атрибуты, которые хранятся отдельно от основных и достаются только при необходимости
— дополнительные атрибуты хранятся в виде текста (можете хранить в XML)
— у каждого типа документов свой отдельный набор дополнительных атрибутов
— при желании можно к конкретному документу привязать еще некоторое кол-во пользовательских атрибутов и привязать документы, на которые он ссылается
Можно сделать такой вариант: все атрибуты занести в одну таблицу, а файлы хранить на диске (или в блобах, это уже как вам удобно, но на диске будет быстрее и надежнее, это уже проверено). Дополнительно в эту таблицу занести поле DocumentType, целочисленного типа, которое будет определять тип документа. Далее используем ORM Entity Framework и раздракониваем эту таблицу на несколько классов (это в Visual Studio делается), а далее со всем этим работаем.
Здравствуйте, Kostyan2204, Вы писали:
K>Разрабатывается примитивная система электронного архива K>в которой будут храниться отсканированные образы K>бумажных документов с возможностью поиска по реквизитам. K>Внимание вопрос. K>В каком виде хранить реквизиты документов? K>Дело в том что для каждого вида документов (служебки, рапорта, приказы) определён свой набор реквизитов. K>И в каком виде они храняться в существующих системах?
В одной системе (множество разнотипных документов) делал так:
Document
----
idDocument
type
date
description
link
Property
----
idProperty
[type]
name unique
DocumentProperties
----
idDocument
idProperty
( Value varchar | value text | value xml)
Некоторые общие свойства выносились в Document (такие как дата [date]),
развитием системы было добавление типа данных свойства (type) и хранение значений свойств сначала в text, потом в xml (перешли на 2008 MSSQL). Для xml поле type стало не нужно и перекочевало в xml