Структура бази даних Domino. Створення БД і робота з її властивостями, страница 2

Header - заголовок - содержит NoteID, дату/время последней модификации и NoteCLASS - внутренний идентификатор типа записи (Form, View, Document...).

Access Privilege Mask - определяет привилегии доступа к этой записи.

Items 1-N - пункты (элементы), составляющие запись (поля). Каждый пункт имеет номер, имя, некоторый список флагов, длину, тип данных и, собственно, данные:


Header

Access Privilege Mask

Item

Item

A

A

A

Рис. 2.1. Структура пунктов (item's) разных типов

Итоговый размер базы данных Domino определить трудно, даже если известно количество документов. Базы данных представляют собой наборы документов. Документы содержат поля, которые служат базовыми модулями информации Notes. При выборе типа поля базы данных Domino размер его не указывается. Поэтому в Notes невозможно определить размер записи.

Выражаясь техническим языком, элементы данных в базе данных Domino называются пунктами (items). Термин поля (fields) относится к объектам формы, которые позволяют создавать и модифицировать пункты. Однако я обычно вместо слова "пункты" использую термин "поля" во избежание путаницы.

При добавлении документа Domino не обязательно добавляет дисковое пространство. Если Domino определяет, что требуется дополнительное дисковое пространство, система наращивает его с помощью внутреннего алгоритма, позволяющего разместить несколько новых документов. Когда документы удаляются, Domino оставляет заглушку удаления, но немедленного высвобождения дискового пространства не происходит. Значение этих заглушек документов заключается в том, что они позволяют тиражировать удаление для всех остальных существующих копий реплик базы данных. Через некоторое время (по умолчанию 90 дней) заглушка документа удаляется. Остающееся после удаления документа или заглушки пространство называется свободным (whitespace). Свободное пространство можно повторно использовать для документов или удалять его при уплотнении базы данных (что рассматривается в разделе "Работа со свойствами базы данных"). И в этом случае невозможно точно вычислить потребность в дисковом пространстве для данного количества документов.

Дело осложняется тем, что не существует фиксированного описания документов, подобного фиксированному описанию записей таблицы реляционной базы данных. Поэтому различные документы могут иметь и имеют разные поля, даже если все они созданы и отредактированы с помощью одной и той же формы. Поля в документе можно создавать в зависимости от условий, определяемых в базовой форме. Для просмотра полей документа можно щелкнуть на документе правой кнопкой мыши и выбрать команду Document Properties (Свойства документа) контекстного меню. Затем нужно открыть вкладку Fields (Поля), содержащую прокручиваемый список полей.

3.2 Основные типы записей (note)

Структура документа (data note) определяется в основном формой, с помощью которой он редактировался. В форме есть определения полей, в документе появляются соответствующие пункты. Некоторые пункты добавляются в документ самим Notes. Самые важные из них:

• "Form" - имя формы, с помощью которой документ был создан.

"$Ref" - идентификатор (UN1D) "родительского" документа в ответном документе.

"$File" - общая информация о присоединенных файлах и встроенных объектах OLE.

• "SLinks" - список идентификаторов документов, видов и БД, на которые есть ссылки в данном документе.

• "$Readers" - список имен, групп и ролей, определяющий, кто может читать документ.

• "$Revisions" - перечень дат и времен модификаций документа.

• "SUpdatedBy" - имена тех, кто редактировал документ.

Описание формы (Form definition note) определяет представление на экране документа, открытого с ее помощью для чтения или редактирования, формулы и скрипты в полях и кнопках, которые будут выполняться над полями этого документа, может содержать списки имен, групп и ролей, ограничивающие доступ к этому документу.