Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

4438

.pdf
Скачиваний:
2
Добавлен:
08.01.2021
Размер:
1.02 Mб
Скачать

11

Сущность можно определить как объект, событие или концепцию, информация о которых должна сохраняться. Сущности должны иметь наименование с четким смысловым значением, именоваться существительным в единственном числе, не носить "технических" наименований и быть достаточно важными для того, чтобы их моделировать. Именование сущности в единственном числе облегчает в дальнейшем чтение модели. Фактически имя сущности дается по имени ее экземпляра. Примером может быть сущность «Студент» (но не Студенты!) с атрибутами «Номер студенческого билета», «Фамилия студента» и «Адрес студента». На уровне физической модели ей может соответствовать таблица students с колонками st_id, st_lname и address. Сущности соответствует таблица в реальной СУБД. В ERwin сущность визуально представляет три основных вида информации:

атрибуты, составляющие первичный ключ; не ключевые атрибуты; тип сущности (независимая/зависимая).

Первичным ключом служит атрибут или набор атрибутов, уникально идентифицирующих единственный экземпляр сущности. Другими словами, первичный ключ может быть как одним атрибутом, так и состоять из нескольких. Первичный ключ, состоящий более чем из одного атрибута, называется составным или компонентным ключом. Первичный ключ должен быть статическим (static) и неразрушаемым (non-volatile). Под статичностью и неразрушаемостью подразумевается, что первичный ключ не должен подвергаться изменениям. Изменения первичного ключа трудно сопровождать, что часто приводит к весьма дорогостоящим переделкам, поэтому лучшим считается вариант, когда первичный ключ абсолютно не зависит от экземпляров сущности. Выбор первичного ключа может оказаться непростой задачей, решение которой может повлиять на эффективность будущей ИС. В одной сущности могут оказаться несколько атрибутов или наборов атрибутов, претендующих на роль первичного ключа. Такие претенденты называются потенциальными ключами (candidate key). Для каждого первичного ключа ERwin создает при генерации структуры БД уникальный индекс.

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

12

Сущность обладает одним или несколькими атрибутами, которые либо принадлежат сущности, либо наследуются через отношения.

Сущность обладает одним или несколькими атрибутами, которые однозначно идентифицируют каждый образец сущности и называются ключом или составным ключом.

Каждая сущность может обладать любым количеством отношений с другими сущностями.

Если внешний ключ целиком используется в составе первичного ключа, то сущность является зависимой от идентификатора.

Экземпляры независимой (родительской) сущности могут быть уникально идентифицированы без определения ее связей с другими сущностями; зависимая (дочерняя) сущность, наоборот, не может быть уникально идентифицирована без определения ее связей с другими сущностями. Зависимая сущность отображается в ERwin прямоугольником с закругленными углами.

Зависимая сущность может наследовать один и тот же внешний ключ от более чем одной родительской сущности, или от одной и той же родительской сущности через несколько связей. Если не введены различные роли для такого множественного наследования, ERwin считает, что в зависимой сущности атрибуты внешнего ключа появляются только один раз.

Унификация - это объединение двух или более групп атрибутов внешних ключей в один внешний ключ (группу атрибутов), в предположении, что значения одноименных атрибутов в дочерней сущности всегда одинаковы. Схема представления родительской и дочерней сущности изображена на рис.1 и рис.2

13

Рисунок 1.1- Пример представления синтаксиса идентифицирующих отношений.

Рисунок 1.2 - Пример представления синтаксиса неидентифицирующих отношений.

Атрибуты (Attribute) в ERWin

14

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

Правила атрибутов:

Каждый атрибут каждой сущности обладает уникальным именем. Сущность может обладать любым количеством атрибутов.

При идентифицирующем отношении сущность "потомок" наследует атрибут и/или атрибуты, составляющие первичный ключ сущности "родителя".

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

Рисунок 1.3 - Пример первичного и альтернативного ключей Хороший первичный ключ будет обладать следующими признаками: значение гарантирует уникальность для каждого из экземпляров; значение не имеет скрытого смысла;

область определения значений будет оставаться постоянной с течением времени;

значения существуют для каждого из экземпляров сущности.

При работе ИС часто бывает необходимо обеспечить доступ к нескольким экземплярам сущности, объединенным каким – либо одним признаком для повышения производительности в этом случае используются неуникальные ин-

15

дексы. ERwin позволяет на уровне логической модели назначить атрибуты, которые будут участвовать в неуникальных индексах. Такие атрибуты называются инверсные входы (Inversion Entries). Инверсный вход – это атрибут или группа атрибутов, которые не определяют экземпляр сущности уникальным образом, но часто используется для обращения к экземплярам сущности. ERwin генерирует не уникальный индекс для каждого инверсного входа.

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

2.2.4. Связи (relationships) в ERwin

Связь является логическим соотношением между сущностями. Каждая связь должна именоваться глаголом или глагольной фразой. Имя связи выражает некоторое ограничение или бизнес-правило и облегчает чтение диаграммы. По умолчанию имя связи на диаграмме не показывается. На логическом уровне можно установить идентифицирующую связь "один-ко-многим", связь "мно- гие-ко-многим" и неидентифицирующую связь "один-ко-многим". Связь - это понятие логического уровня, которому соответствует внешний ключ на физическом уровне. В ERwin связи представлены пятью основными элементами информации:

тип связи (идентифицирующая, неидентифицирующая, полная/неполная категория, неспецифическая связь);

родительская сущность; дочерняя (зависимая) сущность;

мощность связи (cardinality);

допустимость пустых (null) значений.

В IDEFIX различают зависимые и независимые сущности. Тип сущности определяется ее связью с другими сущностями. Идентифицирующая связь устанавливается между независимой (родительской) и зависимой (дочерней) сущностями. Зависимая сущность изображается прямоугольником со скругленными углами. При установлении идентифицирующей связи атрибуты первичного ключа родительской сущности автоматически переносятся в состав первичного ключа дочерней сущности. Эта операция дополнения атрибутов дочер-

16

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

При установлении неидентифицирующей связи дочерняя сущность остается независимой, а атрибуты первичного ключа родительской сущности входят в состав неключевых атрибутов дочерней сущности. Неидентифицирующая связь служит для связывания независимых сущностей. Для определения связей ERwin выбирается тип связи, затем мышью указывается родительская и дочерняя сущность. Идентифицирующая связь изображается сплошной линией; не идентифицирующая - пунктирной линией. Линии заканчиваются точкой со стороны дочерней сущности.

Мощность связей (Cardinality) — служит для обозначения отношения числа экземпляров родительской сущности к числу экземпляров дочерней.

Различают четыре типа сущности:

общий случай, когда одному экземпляру родительской сущности соответствуют 0, 1 или много экземпляров дочерней сущности; не помечается какимлибо символом;

символом Р помечается случай, когда одному экземпляру родительской сущности соответствуют 1 или много экземпляров дочерней сущности (исключено нулевое значение);

символом Z помечается случай, когда одному экземпляру родительской сущности соответствуют 0 или 1 экземпляр дочерней сущности (исключены множественные значения);

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

допустимость пустых (NULL) значений в не идентифицирующих связях ERwin изображает пустым ромбиком на дуге связи со стороны родительской сущности.

Имя связи на логическом уровне представляет собой глагол, связывающий сущности. Физическое имя связи (которое может отличаться от логического) для ERWin означает имя ограничения или индекса. Для отображения имени связи выберите опцию в меню: Format/Relationship Display/Verb phrase.

2.2.5. Связи категоризации

17

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

Например, сущность «входящий документ» может быть как запросом, так и распоряжением. Первые и вторые имеют различные, частично пересекающиеся наборы атрибутов (минимальное пересечение подтипов составляет первичный ключ). Общая часть этих атрибутов, включая первичный ключ, помещается в сущность-супертип «входящий документ». Различная часть (например, данные о содержании, отправителе) помещается в сущности-подтипы.

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

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

Рисунок 1.4 - Пример неполного множества категорий

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

Правила отношений категоризации:

Сущность типа "категория" может иметь только одну общую сущность. Сущность-категория, принадлежащая одному отношению категоризации,

может быть общей сущностью в другом отношении категоризации.

18

Сущность может быть общей сущностью в любом количестве отношений категоризации.

Атрибуты первичного ключа сущности-категории должны совпадать с атрибутами первичного ключа общей сущности.

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

Рисунок 1.5 - Пример полного множества категорий

2.2.6. Роли.

Имя роли (функциональное имя) – это синоним атрибута внешнего ключа, который показывает, какую роль играет атрибут в дочерней сущности. По умолчанию в списке атрибутов показываются только имя роли. Для отображения полного имени атрибута (как функционального имени, так и имени роли) следует в контекстном меню выбрать пункт Format/ Entity Display и затем включить опцию Rolename/Attribute. Полное имя показывается как функциональное имя и базовое имя, разделенные точкой. Имя роли задается на вкладке Rolename диалогового окна Relationship. Это окно вызывается двойным щелчком мыши по линии связи.

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

19

2.2.7. Представления.

Представления (view), или, как их иногда называют, временные или производные таблицы, представляют собой объекты БД, данные в которых не хранятся постоянно, как в таблице, а формируются динамически при обращении к представлению. Представление не может существовать само по себе, а определяется только в терминах одной или нескольких таблиц. Применение представлений позволяет разработчику БД обеспечить каждому пользователю или группе пользователей свой взгляд на данные, что решает проблемы простоты использования и безопасности данных.

2.3 Хранение информации в модели ERwin.

Обычно модели ERwin сохраняются на диске в виде файла. Имеется возможность хранить модель в целевой СУБД. Для этого с помощью самого ERwin в целевой СУБД создается метабаза ERwin. В этой базе данных сохраняется информация модели. В частном случае базой данных могут быть и dBaseфайлы, с которыми ERwin работает через ODBC.

3. Описание работы с пакетом

При запуске ERwin по умолчанию появляется окно создания новой модели или открытия существующего файла (см. рис.6).

Рис. 6.запуск ERWin

20

После выбора действия, загружается основная интегрированная среда разработки моделей ERWin. Панели инструментов содержат следующий набор кнопок:

Таблица 1 Назначение кнопок

Кнопки

Назначение кнопок

 

 

 

 

 

Создание, открытие, сохранение и печать модели

 

 

 

 

 

Вызов диалога Report Browser для генерации отчетов

 

 

 

 

 

Изменение уровня просмотра модели: уровень сущно-

 

стей, уровень атрибутов, уровень определений

 

 

 

 

 

Изменение масштаба просмотра модели

 

 

 

 

 

Вызов дополнительной панели инструментов для работы

 

с репозитарием Model Mart

 

 

 

 

 

Переключение между областями модели Subject Area

 

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]