Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Уч_пос_CALS_CASE.doc
Скачиваний:
45
Добавлен:
09.11.2019
Размер:
2 Mб
Скачать

3.5. Типы данных

Основной функцией типа данных является задание области допустимых значений атрибута сущности. Всего в EXPRESS существует 5 категорий типов данных:

- простые;

- агрегированные;

- поименованные;

- составные;

- обобщенные.

Простой тип – встроенный тип данных. Областью его значений являются литералы. Понятие простого типа может быть использовано без предварительного объявления. Литералы не могут быть разложены на более мелкие составляющие.

В EXPRESS присутствуют семь простых типов данных:

- числовой тип (NUMBER). Все числовые литералы, включая вещественные и целочисленные;

- вещественный тип (REAL). Все вещественные (нецелые) числа, без ограничения на точность. В противном случае точность указывается при объявлении типа после ключевого слова в скобках (например, REAL(5)) (рис.6).

Рис. 6. Структура вещественного типа данных [5]

- целочисленный (INTEGER). Область значений – все целые числа (целочисленные литералы);

- строковый (STRING). Область значений – последовательности символов. При необходимости ограничение последовательности символов указывается в круглых скобках после ключевого слова, по аналогии с вещественным типом. Если последовательность символов имеет фиксированную длину, то после объявления типа присутствует ключевое слово FIXED (рис.7).

Рис. 7. Структура строкового типа данных [5]

- логический (LOGICAL). Область значений – логические литералы TRUE, FALSE, UNKNOWN. Старшинство значений обозначено неравенством: FALSE < UNKNOWN < TRUE;

- булевский (BOOLEAN). Область значений – логические литералы TRUE, FALSE. Старшинство значений обозначено неравенством: FALSE < TRUE;

- двоичный тип (BINARY). Область значений – это последовательность битов (двоичные литералы). Если последовательность битов имеет ограничение по длине, соответствующее значение указывается в круглых скобках. При фиксированной длине ключевое слово FIXED ставится после объявления типа (рис.8).

Рис. 8. Структура двоичного типа данных [5]

Агрегированный тип представляет собой встроенный тип языка, элементами области значений которого являются наборы значений. В такой набор включается значение только одного типа, называемого базовым. А сам набор конкретных значений называется экземпляром агрегированного типа, а его отдельные значения называются элементами агрегированного типа.

Существует четыре агрегированных типа:

- массив (ARRAY);

- список (LIST);

- множество (SET);

- мультимножество (BAG).

На агрегированные типы языка могут накладываться дополнительные ограничения, требующие уникальности всех элементов, (в таком случае употребляется слово UNIQUE) , или разрешающие отсутствие отдельных элементов в наборе значений (OPTIONAL).

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

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

  1. если необходимо использовать сущность в качестве типа данных;

  2. когда не хватает возможностей языка EXPRESS и требуется их расширение.

Определяемый тип данных задается на основе какого - либо другого типа данных, в том числе и определяемого, накладывая на него некоторые ограничения.

Составной тип предназначен для задания типов с нестандартными для EXPRESS областями значений. Составные типы используются в тех случаях, когда более легким путем является не положение ограничений на какой - либо тип, а простое перечисление всех его возможных значений. Составные типы могут быть использованы только для формирования определяемых типов и не подходят для прямого указания областей значений атрибутов сущностей [5]. Существует два основных типа данных: перечисление (ENUMERATION) и выбор (SELECT). Тип «Перечисление» явно перечисляет все экземпляры области значений. Тип «Выбор» задает перечень возможных областей значений.