ENTITY Engine,
ID INTEGER, UNIQUE;
Identifier: ID, END_ENTITY,
ENTITY Person,
Surname. STRING;
Name . STRING;
UNIQUE Surname, Name;
END_ENTITY;
1.8.7 Локальные правила (domain rules)
Атрибуты или области значений их типов какого-либо entity могут дополнительно ограничиваться путем применения локальных правил WHERE
ENTITY ChiefOffice SUBTYPE OF (Office);
WHERE MinArea . Area >= 30.0;
ENDENTITY;
Константы являются значениями, которые не изменяются во время их жизни. Они представляются именами Соглашения о константах указываются в объявлении констант.
CONSTANT
Thousand : NUMBER := 1000;
Pi_half : REAL := Pl/2;
Home : Point .= Point (0.0, 0.0, 0.0);
END_CONSTANT;
1.9.1 Предварительно определенные константы
математические PI e (CONST_E)
логические TRUE FALSE UNKNOWN
прочие SELF Бесконечность (?) - для спецификации верхней границы типа агрегата _____________________
Для спецификации ограничений и для расчета производных атрибутов могут быть применены алгоритмы. Эти алгоритмы определяются в форме простых выражений и/или с помощью определений и вызовов функций и процедур. При этом в распоряжении имеются следующие классы операторов'
арифметические = - * / ** DIV MOD
отношений = о > < <= >= •=: •о. IN LIKE
бинарные, строковые отношения индексов [ ] и слияния +
логические NOT AND OR XOR
агрегаты D * + - ^ >s QUERY = о IN
компоненты . \ = о :=: :о: ||
Соглашение о функциях и процедурах аналогично языку PASCAL.
FUNCTION distance (p1, р2 . point): REAL;
PROCEDURE midpoint (p1,p2 : point; VAR result: point);
Во взаимосвязи с определениями функций и процедур два предопределенных типа имеют специальное значение. AGGREGATE и GENERIC. Эти оба типа могут быть использованы только как типы формальных параметров в процедурах и функциях. Для формального параметра типа AGGREGATE при вызове может быть в качестве фактического параметра установлен любой агрегированный тип (array, list и т д) Тип формального параметра GENERIC предусмотрен для всех других типов и может рассматриваться как супертип всех других типов данных.
1.11.1 Предварительно определенные функции
abs ехр log2 sizeof |
acos format loglO sqrt |
asm atan blength hibound himdex length loindex nvl odd tan typeof usedm |
cos lobound rolesof value |
exists log sin |
1.11.2 Предварительно определенные процедуры |
||||
remove |
insert |
|||
1.12 |
Выполняемые операции (statements) |
|||
ALIAS CASE BEGIN...END |
выдача синонима присваивание многократное разветвление объединенная команда |
ESCAPE выход из команды цикла
IF THEN ELSE команда условного ветвления
NULL пустая команда
Вызов процедур
REPEAT команда цикла
RETURN возврат из функции
SKIP _____переход в конец команды цикла
Локальные правила в описании entity, такие, как UNIQUE и WHERE, влияют только на все экземпляры данного entity. Определение RULE, напротив, позволяет определить условия, которые действительны для более чем одного entity и даже для всей схемы. Глобальные правила имеют некоторые общие черты с функциями.. Главное различие состоит в том, что результат правила показывает, было ли удовлетворено глобальное условие или нет. Каждое правило имеет всегда одно из трех состояний: соблюдено (TRUE), не соблюдено (FALSE) или H6H3BecTHo(UNKNOWN). Если правило возвращает FALSE для некоторого количества экземпляров базы данных, то эта база данных рассматривается как не соответствующая модели EXPRESS.
Чтобы достичь желаемой модульности при моделировании, в EXPRESS применяется интерфейс между различными схемами, так что определения одной схемы могут быт» применены в другой схеме Для этого имеется две возможности спецификации; USE и REFERENCE. Обе конструкции позволяют ссылаться на объявления другой схемы Различие между обоими вариантами в том, что спецификация USE может использоваться только для объявления entity. Эти чужие entity далее расматриваются и обрабатываются локально. Спецификация REFERENCE, напротив, рассматривает далее чужие объявления как внешние по отношению к собственной схеме и позволяет только обращение к ним. Следствие этого в том, что используемые (USE) entity могут передаваться от схемы к схем§. При ссылочном объявлении (REFERENCE) этого не происходит. Ссылаться можно на константы, типы, entities, функции и процедуры.
USE FROM GeometrySchema (Point, Line AS Lin);
REFERENCE FROM GeometrySchema (Point, distance ASDist);
В языке EXPRESS имеется два вида комментариев во-первых, блок (который может быть вложенным) комментариев, начинающийся по аналогии с языком PASCAL символами (* и заканчивающийся *), и, во-вторых, комментарии в конце строки, который начинается символами — и распространяется до конца строки без явного закрытия.
Рис 1.0 Проблемная область чертеж
14
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.