Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций.doc
Скачиваний:
35
Добавлен:
15.05.2015
Размер:
567.3 Кб
Скачать

Слайд 54. Знаки композиции

Пояснения

Поскольку EXPRESS-схемы могут быть достаточно большими, то и представляющие их диаграммы на языкеEXPRESS-Gмогут занимать много места и не умещаться на одной странице. В этом случае связанные между собой строительные блоки модели могут оказаться на различных страницах. Для заданияссылок между страницамивEXPRESS-G-модели используютсязнаки композиции. Другим применением знаков композиции может бытьспецификация интерфейса между двумяEXPRESS-схемами.

В случае ссылок между страницами, знаки связи, которые должны соединять строительные блоки, находящиеся на различных страницах, заканчиваются скругленными прямоугольниками. Такие знаки композиции присутствуют на обеих страницах. На слайде показан пример диаграммы, занимающей две страницы. На первой странице находится сущность «person», имеющая атрибут «name», а представление атрибута – определяемый тип «label» – находится на второй странице. Знак композиции на странице 1 содержит номер той страницы, на которую идет ссылка, номер ссылки на данную страницу (на случай, если на данную страницу идет несколько ссылок), а также имя элемента, на который идет ссылка. Знак композиции на странице 2 содержит номер страницы, на которой он находится, номер ссылки на данную страницу и список страниц, с которых есть ссылки на данный строительный блок информационной модели (в данном случае, этот список содержит лишь одну страницу).

В случае спецификации интерфейса между схемами в качестве знака композиции выступает скругленный прямоугольник, заключенный в обычный прямоугольник. Для интерфейса типа USEвнешний прямоугольник задается обычной линией, а для интерфейса типаREFERENCEвнешний прямоугольник задается пунктирной линией. Внутри скругленного прямоугольника находится имя чужой схемы и имя строительного блока, с которым устанавливается интерфейс. Данный знак композиции используется в случае, если, например, какая либо сущность данной схемы имеет в качестве представления своего атрибута сущность чужой схемы, как в случае с сущностью «line» и ее атрибутом «start», показанными на данном слайде.

Слайд 55. Диаграмма уровня сущности

Пояснения

Диаграммы уровня сущностипредназначены для спецификацииотдельной EXPRESS-схемы. Они содержат строительные блоки, присутствующие в схеме, т.е. типы данных и сущности, а также связи между ними. На слайде представленаEXPRESS-G-диаграмма уже рассмотренной (только в текстовом виде) схемы «library».

Три сущности, объявленные в схеме «library» показаны соответствующими знаками определения. Отношение наследования, существующее между ними, показано жирной линией, направленной от сущности «issue» (предок) к сущностям «book» и «journal» (потомки).

Наличие атрибутов у сущностей схемы показано соответствующими знаками связи (простыми линиями), связывающими сущность и тип, представляющий область значений ее атрибута. Знак связи имеет метку, обозначающую имя атрибута. Вычисляемый атрибут «price» сущности «issue» имеет дополнительную метку «DER». Ограничения на область экземпляров сущности не показаны.

Область значений атрибута «book_authors» сущности «book» определена в другой схеме, что показано соответствующим знаком композиции, обозначающим имя схемы «people» и имя сущности «author». Тот факт, что сам атрибут представлен множеством, обозначено меткой знака связи «S[1:?]» (S– от словаSET, т.е. множество). Обозначения других агрегированных типов: массив –A(ARRAY); список –L(LIST); мультимножество –B(BAG).

Атрибут «journal_issue» сущности «journal» представлен определяемым типом «issue_variants», заданным на другой странице модели, что обозначено соответствующим знаком композиции. Сам тип «issue_variants» задан на основе составного типаSELECT(это показано пунктирным прямоугольником с двойным левым краем), область значений которого состоит из составного типаENUMERATION(представлен определяемым типом «months») и определяемого типа «journal_number», заданного на основе простого типа «INTEGER».