
- •Модуль 5. «Язык express»
- •Слайд 1.Введение
- •Слайд 2. Требования к обмену данными
- •Пояснения
- •Слайд 3. Общие сведения о языке
- •Пояснения
- •Слайд 4. Основные свойства языка
- •Пояснения
- •Слайд 5. Объектно-ориентированный подход
- •Пояснения
- •Слайд 6. Основной элемент языка
- •Пояснения
- •Слайд 7. Компоненты языка
- •Слайд 14. Двоичный литерал
- •Слайд 21. Тип данных и сущность
- •Пояснения
- •Слайд 22. Простой тип
- •Пояснения
- •Слайд 23. Числовой тип (number)
- •Пояснения
- •Слайд 24. Вещественный тип (real)
- •Пояснения
- •Слайд 25. Целочисленный тип (integer)
- •Слайд 29. Двоичный тип (binary)
- •Пояснения
- •Слайд 30. Агрегированный тип
- •Пояснения
- •Слайд 31. Массив (array)
- •Пояснения
- •Слайд 32. Список (list)
- •Пояснения
- •Слайд 33. Множество (set)
- •Пояснения
- •Слайд 34. Мультимножество (bag)
- •Пояснения
- •Слайд 35. Многомерные агрегированные типы
- •Пояснения
- •Слайд 36. Поименованный тип
- •Пояснения
- •Слайд 37. Составной тип
- •Пояснения
- •Слайд 38. Понятие
- •Пояснения
- •Слайд 39. Схема (schema)
- •Пояснения
- •Слайд 40. Константы (constant)
- •Пояснения
- •Слайд 41. Определяемый тип (type)
- •Пояснения
- •Слайд 42. Правило области значений определяемого типа
- •Пояснения
- •Слайд 43. Сущность (entity)
- •Пояснения
- •Слайд 44. Атрибут сущности
- •Пояснения
- •Слайд 45. Локальное правило сущности
- •Пояснения
- •Слайд 46. Правило уникальности
- •Пояснения
- •Слайд 47. Правила области значений
- •Пояснения
- •Слайд 48. Наследование
- •Пояснения
- •Слайд 49. Интерфейс между схемами
- •Пояснения
- •Слайд 50. Пример информационной модели
- •Пояснения
- •Слайд 51. Основные принципы express-g
- •Пояснения
- •Слайд 52. Знаки определения
- •Пояснения
- •Слайд 53. Знаки связи
- •Пояснения
- •Слайд 54. Знаки композиции
- •Пояснения
- •Слайд 55. Диаграмма уровня сущности
- •Пояснения
- •Слайд 56. Диаграмма уровня схемы
- •Пояснения
- •Слайд 57. Программная поддержка express
- •Пояснения
- •Слайд 58. Резюме
Слайд 43. Сущность (entity)
Пояснения
Понятие «сущность» (ENTITY) выражает понятие, существенное для моделируемой предметной области и является основным элементом языкаEXPRESS. Каждая сущность имеет уникальный в рамках схемы идентификатор (т.е. имя). Основные свойства сущности задаются с помощью ееатрибутов. Кроме того, свойства сущности могут быть заданы с помощью еелокальных правил. ВEXPRESSсуществует возможность определять отношениенаследованиямежду двумя и более сущностями. При наследовании сущность-потомок получает все свойства (в том числе и атрибуты) сущности предка.
Объявление сущности начинается с ключевого слова ENTITY, после которого идет имя сущности. Затем могут следовать конструкции, задающие отношение наследования между сущностями, затем объявления атрибутов, объявления локальных правил сущности и, наконец, объявление сущности завершается ключевым словомEND_ENTITY.
Слайд 44. Атрибут сущности
Пояснения
Понятие «атрибут» выражает важную черту, качество или свойство сущности. В экземпляре сущности каждому атрибуту может быть присвоено некоторое значение, характеризующее данный экземпляр. Каждый атрибут сущности имеет имя, которое должно быть уникальным в рамках сущности.Имя атрибутаобозначает роль, которую играет значение атрибута в контексте сущности. Например, для сущности, выражающей геометрическую точку, атрибут, имеющий в качестве своего значения первую координату точки в пространстве, логично обозначить буквой «x». Область возможных значений атрибута задается путем спецификациитипа данных атрибута. Например, для уже упомянутого атрибута «x» типом данных лучше всего избрать вещественный типREAL. Всего вEXPRESSсуществует три вида атрибутов сущности: явный, вычисляемый и инверсный. Первые два из них будут рассмотрены подробно.
Явный атрибутсущности выражает свойство сущности, которое обязательно должно получить некоторое заданное в явном виде значение при создании экземпляра сущности. Объявление явного атрибута задает уникальное в рамках сущности имя атрибута и его тип.
На примере приведено объявление сущности «circle» (окружность), имеющей явный атрибут «radius» (радиус). Данный атрибут имеет вещественный типREAL. В тех случаях, когда значение атрибута может отсутствовать для некоторых экземпляров сущности, атрибут должен быть объявлен с применением ключевого слова «OPTIONAL», что говорит о необязательности присутствия его значения. В приведенном примере - это атрибут «color» (цвет). Когда значение такого атрибута действительно отсутствует, значением атрибута считается неопределенное значение «?».
В отличие от значения явного атрибута сущности, значение вычисляемого атрибутасущности определяется не в явном виде, а путем вычисления некоторого выражения. Это может понадобиться в тех случаях, когда значение атрибута должно быть вычислено на основании уже имеющихся в модели значений других атрибутов. Все вычисляемые атрибуты сущности объявляются в единой конструкции «DERIVE», которая должна идти непосредственно после объявлений явных атрибутов сущности. При этом каждый вычисляемый атрибут объявляется отдельно. Каждое объявление вычисляемого атрибута задает уникальное в рамках сущности имя атрибута, а также тип атрибута и выражение для вычисления значения атрибута. На примере у сущности «circle», есть также два вычисляемых атрибута «area» (площадь) и «perimeter» (периметр). Оба вычисляемых атрибута объявлены в конструкции «DERIVE». При объявлении вычисляемого атрибута, первым указывается его имя, затем, через двоеточие, его тип, а затем, через двоеточие и знак равенства, выражение для вычисления значения атрибута. В данном случае у обоих вычисляемых атрибутов сущности присутствуют ссылки на единственный явный атрибут сущности «radius», а также ссылки на встроенную константуEXPRESS«PI», выражающую число.