Хранение документов в базах данных
Самым важным моментом в любой информационной системе является хранение документов в базе данных. Основными характеристиками являются скорость выполнения запросов и занимаемый объем.
1 Реляционные БД
Соответствие между формальной моделью документа и представлением в реляционной СУБД:
1. Каждой сущности соответствует кортеж.
2. Однозначным свойствам соответствуют атрибуты кортежа.
3. Многозначные свойства представляются повторяющимися кортежами.
4. Ключевым свойствам соответствует ограничение на уникальность атрибутов.
5. Отсутствующим свойствам соответствуют NULL-значения.
6. Бинарному отношению типа "один ко многим" и "один к одному" соответствует дополнительное поле в кортеже, соответствующему сущности на стороне "многие". Атрибутам отношения соответствуют поля в этом же кортеже.
7. Бинарному отношению типа "многие ко многим" и отношениям со степенью более двух соответствуют кортежи с полями - внешними ключами, указывающими на кортежи - участники отношения. Атрибутам отношения соответствуют поля в этом же кортеже.
8. Метаданные представляются дополнительными полями в кортежах, соответствующих сущностям и свойствам.
2 Иерархические БД
Соответствие между формальной моделью документа и представлением в реляционной СУБД:
1. Каждой сущности соответствует структура.
2. Однозначным свойствам соответствуют вершины в структуре.
3. Многозначные свойства представляются вершинами типа "массив структур" со структурами, имеющими единственное ключевое поле, соответствующее свойству.
4. Ключевым свойствам соответствуют ключевые вершины в структуре.
5. Отсутствующим свойствам соответствуют отсутствующие вершины.
6. Бинарному отношению типа "один ко многим" и "один к одному" соответствует вершина в структуре, соответствующей сущности на стороне "один". Тип этой вершины - массив структур, соответствующих сущности на стороне "многие". Атрибутам отношения соответствуют дополнительные вершины в дочерней структуре. Ключом в этой структуре является либо вершина, являющаяся естественным уникальным идентификатором, либо, в отсутствие таковой, искусственно добавленная вершина целого типа со случайным значением.
7. Безатрибутному бинарному отношению типа " многие ко многим" соответствует вершина в одной из структур. Тип вершины - ссылка на значение, указывающая на другую структуру.
8. Атрибутному бинарному отношению типа "многие ко многим" и отношениям со степенью более двух соответствует вершина в одной из структур. Тип вершины - структура. Поля этой структуры - ссылки на значения, указывающие на структуры - участники отношения. Атрибутам отношения соответствуют поля в этой структуре.
9. Метаданные сущностей и свойств представляются дополнительными вершинами в структурах, соответствующих сущностям.
Документоориентированные БД
Модель документа в документоориентированных базах данных, типа Lotus Notes, позволяющих хранить информацию достаточно произвольного формата, включая форматированные тексты, графику и видеоизображения, представляется обычно набором полей самого разнообразного содержания и описывается в произвольных формах, по модели которой создается документ и коллекции документов, созданных по одной форме. В таких базах, которые ближе всего к объектно-иерархическим возможен единственный вид отношений между сущностями ("родительский" документ - ответные документы), который поддерживается на системном уровне. В таких базах возможны составные форматируемые поля, которые сами по себе могут представлять коллекции объектов.
XML-файлы
XML-представление документов очень похоже на представление в иерархических СУБД. Только вместо дерева описания данных фигурирует XML-схема. Фактически, она позволяет описать все те же самые понятия в других терминах - терминах стандарта XML.