Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Правило области значений определяемого типа
Если область значений вновь создаваемого определяемого типа является подмножеством области значений исходного типа, на последнюю должны быть наложены ограничения, выражаемые так называемыми «правилами области значений». В объявлении определяемого типа задаются несколько правил области значений. Каждое такое правило представляет собой некоторое.условие вхождения значения из области значений исходного в область значений определяемого типа. Таким образом, правило области значений следует рассматривать как своего рода фильтр, оно содержит выражение, которое в результате своего вычисления должно дать значение логического типа FALSE (ложь), TRUE (истина), UNKNOWN (неопределенность) или неопределенное значение «? ». Принцип отбора значений исходного типа, входящих в область значений определенного типа, состоит в том, что такое значение подставляется в выражение каждого правила вместо ключевого слова SELF. Оно удовлетворяет правилу, если в результате не получится FALSE (ложь). Таким образом, значение исходного типа входит в область значений определенного типа в том случае, когда ни одно из правил не нарушено, то есть выражения всех правил дали любой результат, кроме FALSE (ложь). Структура определяемого типа представлена на следующем примере. 75 УПРАВЛЕНИЕ ЖИЗНЕННЫМ ЦИКЛОМ ПРОДУКЦИИ
основе целочисленного типа INTEGER и накладывает ограничения на область его значений: номер месяца должен быть больше (либо равен) единицы и меньше (либо равен) двенадцати. Объявление определяемого типа начинается с ключевого слова TYPE и завершается ключевым словом ENDJTYPE. Вначале идут имя (в данном случае — «month») и указание исходного типа (здесь — целочисленный тип INTEGER). Определение правил области значений типа начинается с ключевого слова WHERE и продолжается вплоть до окончания объявления типа. Как уже говорилось, в рамках одного типа бывают представлены несколько правил области значений. Каждое из них может иметь метку (которая, впрочем, необязательна), и эта метка должна быть уникальной. После нее следует выражение, определяющее условие выполнения правила. Оно обязательно содержит ключевое слово SELF, дающее значение исходного типа, для которого проверяется правило. Сущность ( ENTITY ) Понятие «сущность» (ENTITY) является основным элементом языка EXPRESS. Каждая сущность имеет уникальный в рамках схемы идентификатор (имя). Ее основные свойства задаются с помощью атрибутов, а также локальных правил. В EXPRESS есть возможность определять отношение наследования между двумя и более сущностями. При наследовании сущность-потомок получает все свойства (в том числе и атрибуты) сущности-предка. Объявление сущности начинается с ключевого слова ENTITY, после которого идет имя. Затем могут следовать конструкции, задающие отношение наследования между сущностями, далее — объявления атрибутов и локальных правил сущности и, наконец, ключевое слово ENDENTITY. Атрибут сущности Понятие «атрибут» выражает важную черту, качество или свойство сущности. Каждому атрибуту может быть присвоено некоторое значение, характеризующее данный экземпляр сущности. Такой атрибут имеет имя, которое должно быть уникальным. Имя атрибута раскрывает его значение в контексте сущности. Например, для сущности, выражающей геометрическую точку, атрибут, указывающий первую координату точки в пространстве, логично обозначить буквой «х». Область его возможных значений задается путем спецификации типа данных атри бута. Например, для уже упомянутого «х» лучше всего избрать вещественный тип REAL. Всего в EXPRESS существуют три вида атрибутов сущности: явный, вычисляемый и инверсный. Первые два из них будут рассмотрены подробно. Явный атрибут выражает свойство сущности, которое обязательно должно получить некоторое заданное в явном виде значение при создании экземпляра сущности. Каждому явному атрибуту присваиваются тип и уникальное в рамках сущности имя. На примере показано объявление сущности «circle» (окружность), имеющей явный атрибут «radius» (радиус) вещественного типа REAL. В тех случаях, когда значение атрибута отсутствует для некоторых экземпляров сущности, он должен быть объявлен с применением ключевого слова OPTIONAL, что говорит о необязательности его значения. В приведенном примере это атрибут «colon> (цвет). Если значения у атрибута действительно нет, им будет считаться неопределенное значение «? ». В отличие от явного атрибута значение вычисляемого атрибута сущности определяется не в явном виде, а путем вычисления некоторого выражения. Это может понадобиться, когда его нужно рассчитать на основании уже имеющихся в модели значений других атрибутов. Все вычисляемые атрибуты сущности объявляются в единой конструкции «DERIVE», которая должна идти непосредственно после указаний явных атрибутов сущности. Каждый вычисляемый атрибут объявляется отдельно. При этом задаются уникальное в рам- 76 УПРАВЛЕНИЕ ЖИЗНЕННЫМ ЦИКЛОМ ПРОДУКЦИИ ках сущности имя атрибута, а также его тип и выражение для вычисления значения. Например, у сущности «circle» есть два вычисляемых атрибута «area» (площадь) и «perimeter» (периметр). Они объявлены в конструкции «DERIVE»: первым указывается имя атрибута, затем, через двоеточие, его тип, далее, через двоеточие и знак равенства, выражение для вычисления значения. В данном случае у обоих атрибутов присутствуют ссылки на единственный явный атрибут сущности «radius», а также на встроенную константу EXPRESS «PI», обозначающую число р. |
Последнее изменение этой страницы: 2019-03-29; Просмотров: 336; Нарушение авторского права страницы