Правило области значения
Это сокращение возможных значений атрибутов отдельного экземпляра. Такие правила выражают условия вхождения некоторого экземпляра в область экземпляров сущности, правил может быть несколько, каждое из которых представляет собой одно из условий. Экземпляр входит в область экземпляров сущности, если удовлетворяет всем установленным правилам. Все правила области значений сущности задаются в конструкции «WHERE». Наследование. В EXPRESS сущность определяется как класс объектов реального мира с общими характеристиками. Естественно, что существуют подклассы, в которых объекты, помимо характеристик классов, обладают еще набором собственных характеристик. Чтобы избежать дублирования обозначений свойств, введено отношение наследования. Оно устанавливает связь между сущностями, при которой области экземпляров одних сущностей, называемых потомками, становятся подмножеством экземпляров других сущностей (предков). Для спецификации предка используется конструкция «SUBTYPE OF». Интерфейс между схемами. Для упрощения восприятия EXPRESS позволяет разбивать крупные модели на более мелкие. Причем целостность большой модели сохраняется, т.к. существует инструмент задания связи между схемами, которое задается путем спецификации интерфейса между ними [5]. Интерфейс предназначен для того, чтобы строительные блоки одной схемы были видимы в другой и могли там использоваться. Есть два типа интерфейсов между схемами: - использование (USE FROM); - ссылка (REFERENCE FROM). Рассмотрим пример реализации интерфейса между схемами с применением отношения наследования, правила области значений и уникальности: SCHEMA man; ENTITY person; name: STRING; age: INTEGER; WHERE born: age ≥ 0; END_ENTITY; ENTITY worker; SUBTYPE OF (person); speciality: STRING; passport: STRING; UNIQUE a1: passport; WHERE adult: age ≥ 16; END_ENTITY; END_SCHEMA; SCHEMA car_driver; USE FROM man; ENTITY driver; SUBTYPE OF (worker); permis de condure: STRING; length of service: INTEGER; UNIQUE a2: permis de condure; END_ENTITY; END_SCHEMA; SCHEMA driver’s_information; REFERENCE FROM man; ENTIRY driver; who_is: worker; information: STRING; END_ENTITY; END_SCHEMA. В данном примере существуют: схема “man” (человек), содержащая сущность “person” (личность), в которой при помощи правила области значений рождение определено, как условие существования личности и сущность “worker” (рабочий), в которой правило уникальности применено для данных паспорта работника; схема “car_driver” (водитель автомобиля), в ней объявлен интерфейс использования “man”, что дает возможность объявить сущность “driver” (водитель) в качестве потомка сущности “worker”; схема " driver’s_information” называет интерфейс ссылки, задействуя сущность “worker” в качестве объявления атрибута " who_is”. Таким образом, интерфейс ссылки представляет собой ограниченный вариант интерфейса использования.
|