Структура данных

Состав сущностей, их атрибуты и связи между сущностями составляют информационную модель системы, которую определяет разработчик системы на этапе ее проектирования.

Сущность или сущность данных – это логическая модель какого-либо реально существующего объекта – например, организации, физического лица, документа и т.д., факт существования и определенные характеристики которого необходимо учесть в системе.

Кроме сущностей данных в системе также существуют сущности метаданных, или служебные сущности, которые связаны не с реальными объектами, а с объектами, которые обеспечивают работоспособность и функциональность приложения.

Атрибут сущности – характеристика, параметр, описывающий определенное свойство сущности. Например, атрибут «Имя» описывает соответствующее свойство сущности «Человек». Описание сущности в системе включает ее наименование, описание всех ее возможных атрибутов, ключи и другие служебные данные.

Каждая сущность имеет ключ – один или несколько атрибутов, однозначно идентифицирующих экземпляр сущности.

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

Связь между сущностями реализуется с помощью атрибутов-ссылок. Атрибут-ссылка содержит идентификатор элемента (экземпляра) другой сущности. Например, сущность «Страховой полис» должна иметь атрибут-ссылку «Пациент», в котором будет храниться идентификатор пациента, которому принадлежит данный полис.

Таким образом, практически для каждой сущности в базе данных системы существуют:

Существует еще один вид связей между сущностями – наследование. Наследование означает, что может существовать сущность (сущность-наследник), производная от некоторой базовой сущности (сущность-предок). Производная сущность наследует от базовой ее атрибуты и может дополнительно иметь свои собственные.

Например, существует базовая сущность «Медицинская запись», имеющая атрибуты:

И существует производная сущность «Амбулаторная медицинская запись», которая будет иметь следующие атрибуты:

Типы данных

Любое значение в системе (значение атрибута, константное значение, переменная и т.д.) имеет определенный тип. Возможные типы данных приведены в Табл. 1.1.

Атрибут любого типа может иметь значение NULL (т.е. пустое значение). Следует иметь в виду, что для текстовых данных пустая строка «» не является пустым значением, также как и число 0 для числовых данных.

Табл. 1.1. Типы данных

Текст (Text)

Значение, представленное текстовой строкой.

Число
(целое – Ordinal, дробное – Float)

Числовое значение: целое или дробное (с плавающей точкой) число.

Логический (Logical)

Значение, которое может иметь одно из двух состояний: да/нет, или истина/ложь.

Дата (DateTime)

Значение, содержащее информацию о дате и времени, т.е. идентифицирующее момент времени.

Идентификатор (Guid)

Значение, имеющее тип универсального идентификатора GUID.

Объект (Object)

Cложный тип данных (в отличие от перечисленных выше), который может содержать набор элементов различных типов, как простых, так и сложных.

Вычисляемые атрибуты

Помимо атрибутов, значения которых хранятся в базе данных, существуют атрибуты, значение которых вычисляется в момент отображения списка данных, включения данных в отчет и т.д. Правила вычисления таких атрибутов задаются разработчиком при описании сущности.

Вычисляемые атрибуты могут быть двух типов – простые и параметрические. Значение простого вычисляемого атрибута не зависит от текущего контекста и может быть вычислено без указания каких-либо дополнительных условий (параметров).

Для вычисления параметрического атрибута необходимо запросить значение параметра (или нескольких параметров) у пользователя. Стандартное окно запроса параметров описано в базовом руководстве пользователя, п. 5.2.4.

Пользовательские атрибуты

Кроме атрибутов, созданных на этапе разработки системы, сущности могут содержать дополнительные (пользовательские) атрибуты. Пользовательские атрибуты могут быть добавлены пользователем (администратором) в процессе эксплуатации системы.

Создание пользовательских атрибутов описано в руководстве администратора по настройке системы.