Пояснения

 

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

Связь между двумя схемами задается путем спецификации интерфейса между ними. Интерфейс между схемами предназначен для того, чтобы строительные блоки одной схемы были видимы в другой схеме и могли использоваться для задания ее строительных блоков. Существует возможность задания интерфейса для целой схемы, при которой все строительные блоки одной схемы будут видимы в другой схеме. С другой стороны, можно задать интерфейс для отдельных блоков схемы, в этом случае в другой схеме будут видимы только отдельные блоки схемы. Та схема, чьи строительные блоки заимствуются для данной схемы, обозначается как «чужая схема» по отношению к данной.

Существует два типа интерфейсов между схемами: использование (USE) и ссылка (REFERENCE). Пусть существует схема «people» (люди), содержащая сущность «person» (человек), а также два варианта схемы «футбол», содержащих сущность «player» (игрок). В первом варианте (в схеме «football_use») объявлен интерфейс использования схемы «people». Это дает возможность использовать строительные блоки схемы «people» в схеме «football_use» и объявить сущность «player» в качестве потомка сущности «person». Во втором варианте (в схеме «football_ reference») объявлен интерфейс ссылки, представляющий собой ограниченный вариант интерфейса использования. Основная разница между двумя типами интерфейсов состоит в возможности использования сущностей чужой схемы. В случае интерфейса использования сущности чужой схемы являются полноправными членами данной схемы и могут участвовать, например, в отношениях наследования (сущность «person»). В случае интерфейса ссылки сущности чужой схемы могут быть использованы только в качестве представления атрибутов сущностей данной схемы. В данном примере сущность «person» схемы «people» используется в объявлении атрибута «who_is».

Интерфейс между схемами задается с помощью ключевых слов «USE» или «REFERENCE», после которых следует ключевое слово «FROM», а за ним – имя чужой схемы и, если необходимо специфицировать интерфейс не ко всей схеме, а к отдельным ее компонентам, перечень компонентов чужой схемы.