Структура данных |
Состав сущностей, их атрибуты и связи между сущностями составляют информационную модель системы, которую определяет разработчик системы на этапе ее проектирования.
Сущность или сущность данных – это логическая модель какого-либо реально существующего объекта – например, организации, физического лица, документа и т.д., факт существования и определенные характеристики которого необходимо учесть в системе.
Кроме сущностей данных в системе также существуют сущности метаданных, или служебные сущности, которые связаны не с реальными объектами, а с объектами, которые обеспечивают работоспособность и функциональность приложения.
Атрибут сущности – характеристика, параметр, описывающий определенное свойство сущности. Например, атрибут «Имя» описывает соответствующее свойство сущности «Человек». Описание сущности в системе включает ее наименование, описание всех ее возможных атрибутов, ключи и другие служебные данные.
Каждая сущность имеет ключ – один или несколько атрибутов, однозначно идентифицирующих экземпляр сущности.
Экземпляр сущности - набор конкретных значений атрибутов сущности, которой принадлежит этот экземпляр. Каждый экземпляр сущности имеет уникальный идентификатор (значение ключа). Экземпляры сущности образуют список, структура которого определяется описанием сущности в системе.
Связь между сущностями реализуется с помощью атрибутов-ссылок. Атрибут-ссылка содержит идентификатор элемента (экземпляра) другой сущности. Например, сущность «Страховой полис» должна иметь атрибут-ссылку «Пациент», в котором будет храниться идентификатор пациента, которому принадлежит данный полис.
Таким образом, практически для каждой сущности в базе данных системы существуют:
сущности, на которые она ссылается, или parent-сущности,
сущности, которые ссылаются на нее, или child-сущности.
Существует еще один вид связей между сущностями – наследование. Наследование означает, что может существовать сущность (сущность-наследник), производная от некоторой базовой сущности (сущность-предок). Производная сущность наследует от базовой ее атрибуты и может дополнительно иметь свои собственные.
Например, существует базовая сущность «Медицинская запись», имеющая атрибуты:
«Идентификатор»,
«Дата записи»,
«Пользователь».
И существует производная сущность «Амбулаторная медицинская запись», которая будет иметь следующие атрибуты:
«Идентификатор» (унаследован от «Медицинская запись»),
«Дата записи» (унаследован от «Медицинская запись»),
«Пользователь» (унаследован от «Медицинская запись»),
«Амбулаторная карта» (собственный атрибут).
Типы данных |
Любое значение в системе (значение атрибута, константное значение, переменная и т.д.) имеет определенный тип. Возможные типы данных приведены в Табл. 1.1.
Атрибут любого типа может иметь значение NULL (т.е. пустое значение). Следует иметь в виду, что для текстовых данных пустая строка «» не является пустым значением, также как и число 0 для числовых данных.
Табл. 1.1. Типы данных
Текст (Text) | Значение, представленное текстовой строкой. |
Число | Числовое значение: целое или дробное (с плавающей точкой) число. |
Логический (Logical) | Значение, которое может иметь одно из двух состояний: да/нет, или истина/ложь. |
Дата (DateTime) | Значение, содержащее информацию о дате и времени, т.е. идентифицирующее момент времени. |
Идентификатор (Guid) | Значение, имеющее тип универсального идентификатора GUID. |
Объект (Object) | Cложный тип данных (в отличие от перечисленных выше), который может содержать набор элементов различных типов, как простых, так и сложных. |
Вычисляемые атрибуты |
Помимо атрибутов, значения которых хранятся в базе данных, существуют атрибуты, значение которых вычисляется в момент отображения списка данных, включения данных в отчет и т.д. Правила вычисления таких атрибутов задаются разработчиком при описании сущности.
Вычисляемые атрибуты могут быть двух типов – простые и параметрические. Значение простого вычисляемого атрибута не зависит от текущего контекста и может быть вычислено без указания каких-либо дополнительных условий (параметров).
Для вычисления параметрического атрибута необходимо запросить значение параметра (или нескольких параметров) у пользователя. Стандартное окно запроса параметров описано в базовом руководстве пользователя, п. 5.2.4.
Пользовательские атрибуты |
Кроме атрибутов, созданных на этапе разработки системы, сущности могут содержать дополнительные (пользовательские) атрибуты. Пользовательские атрибуты могут быть добавлены пользователем (администратором) в процессе эксплуатации системы.
Создание пользовательских атрибутов описано в руководстве администратора по настройке системы.