1. обеспечить основу для интерпретации внешних и внутренних синтаксических форм, которые пред­ставляют информацию о проблемной области;

  2. обеспечить основу для взаимного отображения внешних и внутренних схем.

В подходах сущность-атрибут-связь роль концептуальной схемы чаще понимается как результат опреде­ленной стадии интерактивного процесса проектирования. На последующих стадиях эта концептуальная схема преобразуется вручную во внешние и внутренние модели данных.

Г.1 Фундаментальные понятия

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

Сущность — это любой конкретный или абстрактный объект в проблемной области.

Атрибут — это наблюдаемое свойство сущности или наблюдаемое свойство ассоциации между сущнос­тями проблемной области.

Атрибут имеет значение.

Связь — это наблюдаемая ассоциация между сущностями проблемной области.

Атрибуты и связи являются высказываниями о сущностях. Атрибуты — это одноместные или двухмест­ные высказывания о единичной сущности или связи, часто ассоциирующие определенное значение с этой сущностью или связью. Связи — это высказывания о двух или более сущностях (А-местные высказывания).

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

В подходах сущность-атрибут-связь совместно с понятием типа часто используют понятия «реализация» и «совокупность». Реализация определенного типа определяется как уникальный отдельный объект, принадле­жащий к этому типу. Совокупность типа — это некоторая совокупность реализации этого типа, которая время от времени может меняться. Обычно, это совокупность всех сущностей данного типа, которые встречаются в соответствующем пространстве сущностей. Тип-сущности — это классификация сущностей, каждая из кото­рых имеет подобные атрибуты, связанные с ней. Каждая реализация типа-сущности должна быть уникальна и поэтому отличима от всех других реализаций этого типа-сущности. В подходах сущность-атрибут-связь сущнос­ти различаются посредством одного или более атрибутов, называемых идентификатором. Тип-атрибута — это классификация подобных атрибутов всех реализаций сущности, относящихся к одному типу-сущности, или всех реализаций связи соответствующего типа. Индивидуальная реализация типа-атрибута, ассоциируемая с индивидуальной реализацией типа-сущности или типа-связи, рассматривается как значение атрибута. В данном разделе используется термин «значение-атрибута». Пара <тип-атрибута, значение-атрибута> «идентифициру­ет» атрибут-сущности. Говорят также, что значения атрибутов, входящих в идентификатор, идентифицируют сущность.

Тип-связи в подходах сущность-атрибут-связь — это связь, определенная на одном или более типах- сущности.

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

Некоторые подходы сущность-атрибут-связь также различают типы-значений. Тип-значения — это клас­сификация совокупности значений-атрибута, которые могут образовывать пары с определенным типом-атри- бута, и, таким образом, будут атрибутами для сущностей определенного типа-сущности или для связей опре­деленного типа-связи. Тип-значения всегда тесно связан с одним или более типами-атрибута. Другой термин для типа-значения, используемый некоторыми авторами, — домен.

В некоторых подходах сущность-атрибут-связь типы-сущности не могут пересекаться, т. е. определенная сущность может принадлежать только к одному типу-сущности. В других случаях типы-сущности могут пересе­каться, т. е. определенная сущность может относиться к нескольким типам-сущности. Это замечание примени­мо также к типам-атрибута, типам-связи и типам-значения.

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

В подходах сущность-атрибут-связь связи могут классифицироваться по трем критериям:

  • размерность типа-связи;

  • функциональность типа-связи;

  • полные и частичные связи.

Размерность типа-связи — это число реализаций сущности в одной реализации типа-связи.

Тип-связи размерности п называют п-арным типом-связи.

Некоторые подходы сущность-атрибут-связь ограничиваются бинарными типами-связи. Более того, не­которые из них не допускают бинарные типы-связи на одном типе-сущности.

Функциональность типа-связи иллюстрируется по отношению к двум различным типам-сущности. Воз­можными видами функциональности для бинарного типа-связи, определенного на типах-сущности А и В, являются:

  • один-к-одному (1-1), когда одна реализация А может быть связана только с одной реализацией В, и каждая реализация В может быть связана только с одной реализацией А;

  • один-ко-многим (1-п), когда одна реализация А может иметь одну или более связей, каждую с одной реализацией В, но каждая реализация В может иметь только одну связь с одной реализацией А;

  • многие-ко-многим (т-п), когда одна реализация А может иметь одну или более связей, каждая с одной реализацией В, и каждая реализация В может иметь несколько связей, каждая с одной реализацией А.

Соответствующие типы функциональности можно определить также и для п-арных типов-связи.

На практике эту характеристику рассматривают вместе с характеристикой полной или частичной связи.

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

Частичная связь, определенная на типах-сущности А и В, требует, чтобы некоторые, но не обязатель­но все, реализации А и некоторые, но не обязательно все, реализации В участвовали в какой-либо связи этого типа-связи.

Возможны четыре случая, полностью независимые от функциональности связи:

А

все

все

некоторые некоторые

В

все (полная)

некоторые т

все > (частичная)

некоторые J

Комбинация функциональности и полноты/частичности устанавливает мощность связи.

Мощность связи — это число, указывающее, сколько раз реализация типа-сущность участвует в связях определенного типа-связи.

Понятие функциональной зависимости применяется только к множеству реализаций-связи, но можно определить функциональную зависимость между подмножеством совокупностей типов-сущности и другим ти-

пом-сущности.

Некоторые подходы сущность-атрибут-связь, которые допускают только бинарные типы-связи, огра­ничиваются типами-связи «один-ко-многим», включая «один-к-одному» и «нуль или один-ко-многим». В дру­гих допускаются также бинарные типы-связи «многие-ко-многим».

В общем случае, не только сущности, но также и связи могут иметь атрибуты. Но некоторые подходы сущность-атрибут-связь (обычно те, которые допускают только бинарные связи) не позволяют связям иметь атрибуты.

Далее в обсуждении подходов сущность-атрибут-связь выбраны следующие характеристики связей:

  • допускаются п-арные типы-связи;

  • допускаются типы-связи «многие-ко-многим»;

  • допускаются атрибуты связей.

Г.2 Грамматика и семантика

Необходимы лингвистические конструкции для именования и описания сущностей, атрибутов, типов- сущности и т. д. Все подходы сущность-атрибут-связь имеют такие конструкции — явно определяемые или неявно предполагаемые.

Основными лингвистическими конструкциями являются:

  • имена-типа-сущности — лексические объекты, которые ссылаются на типы-сущности;

  • имена-типа-атрибута — лексические объекты, которые ссылаются на типы-атрибута;

  • имена-типа-связи — лексические объекты, которые ссылаются на типы-связи.

Для подходов, различающих также типы-значения или домены, дополнительно необходимы имена- типа-значения или имена-доменов — лексические объекты, ссылающиеся на типы-значения или домены.

Для имен-типа будут использоваться прописные буквы.

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

В подходах сущность-атрибут-связь, рассматриваемых в данном приложении, выделим следующие опи­сания:

  • описания-типа-сущности, перечисляющие типы-атрибута и другие характеристики (такие, как иденти­фикатор) для типов-сущности;

  • описания-типа-атрибута, перечисляющие характеристики типов-атрибута;

  • описания-типа-связи, перечисляющие типы-сущности, на которых определен тип-связи, и дополни­тельные характеристики, такие, как категория типа-связи, мощность, типы-атрибута при их наличии.

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

Ниже приводится синтаксис языка, используемого в этом приложении, для описания концептуальной схемы для примера проблемной области из приложения Б. Но, как уже было замечено, его не следует интер­претировать как предложение для стандартизации этого языка в подходах сущность-атрибут-связь.

концептуальная-схема

= ’’CONCEPTUAL SCHEMA” имя-концептуальной-схемы

описание-типа-сущности

{описание-типа-сущности}

описание-типа-связи

{описание-типа-связи}.

описание-типа-сущности

= ’ENTITY-TYPE” имя-типа-сущности

’IDENTIFIER” идентификатор

’DESCRIPTION” описание-типа-атрибута {описание-типа-атрибута}.

описание-типа-связи

= ’RELATIONSHIP-TYPE” имя-типа-связи ’DIMENSION” целое-без-знака ’COLLECTION” имя-типа-сущности

{имя-типа-сущности}

’CARDINALITY”

имя-типа-сущности mine ”,” maxc

{имя-типа-сущности mine ”,” maxc}

{’FUNCTIONAL DEPENDENCY”

имя-типа-сущности {имя-типа-сущности} ”ON имя-типа-сущности}

[’IDENTIFIER” идентификатор]

[’DESCRIPTION”

описание-типа-атрибута

{описание-типа-атрибута}].

описание-типа-атрибута

mine

maxc

имя-концептуальной-схемы имя-типа-сущности идентификатор имя-типа-атрибута

имя-типа-связи

идентифицирующее-имя

= имя-типа-атрибута.

= целое-без-знака | буква.

= целое-без-знака | буква.

= идентифицирующее-имя.

= идентифицирующее-имя.

= имя-типа-атрибута {”,” имя-типа-атрибута}.

= идентифицирующее-имя.

= идентифицирующее-имя.

= буква {буква | цифра | дефис}.

Буква, цифра, дефис и целое-без-знака далее не определяются.

Идентифицирующие-имена должны быть уникальными в пределах концептуальной схемы.

Г.З Моделирование

Методы моделирования на основе подходов сущность-атрибут-связь. Эти методы можно поделить на две категории.

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

Моделирование в два этапа состоит из:

  • идентификации атрибутов, т. е. любых значений, несущих информацию;

  • построения типов-сущности и типов-связи посредством анализа типов-атрибута.

Г.З.1 Некоторые прагматические правила моделирования

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

  1. если тип-сущности имеет только один соответствующий тип-атрибута, его, возможно, следует клас­сифицировать как тип-атрибута какого-либо другого типа-сущности;

  2. если атрибуты нескольких сущностей ссылаются на одну и ту же сущность, эта сущность должна классифицироваться как полноправный тип-сущности.

Объяснение этих прагматических правил показывает, что выбор должен производиться посредством изучения проблемной области, а не только ее описания. Решение о том, что является типом-атрибута, а что типом-сущности, не может быть принято априори. Подход сущность-атрибут-связь — итеративный, и то, что представляется атрибутом на ранней стадии процесса моделирования, может оказаться сущностью и наобо­рот.

Связи — это не сущности. Однако можно построить сущность, которая является трансформацией связи.

Для этого может существовать несколько причин. Одна причина — дать понятию, первоначально пред­ставленному типом-связи, особый идентификатор, а не использовать идентификаторы совокупности сущно­стей, другая — обеспечить наиболее удобное, по мнению проектировщика, представление проблемной обла­сти.

Г.З.2 Формальные правила моделирования

Верификация

Верификация позволяет гарантировать, что каждая реализация типа-сущности или типа-связи имеет только одно значение любого типа-атрибута.