Основные шаги по созданию модели ERwin на примере одной модели, страница 3

Теперь проведем связи между сущностями. Из сущности Vokzal в сущность Poezd проведем идентифицирующую связь. Для этого щелкнем на палитре инструментов ERwin кнопку Identifying relationship (сплошная ломаная линия с черным кружком на конце) (при подводе мыши к кнопке под мышиным курсором, а также в строке состояния поясняется, что это за кнопка). Кнопка вдавится в панель. Теперь щелкнем на сущности Vokzal, а затем на сущности Poezd и после этого появится идентифицирующая связь из Vokzal в Poezd со сплошным кружком на конце. При этом ключ N_Vokz исходной сущности Poezd мигрировал в число ключей выходной сущности Vokzal, этот факт обозначен скобками с буквами FK в имени этого ключа в числе ключей сущности Poezd. Продолжим этот процесс, проведем идентифицирующую связь из сущности Poezd в сущность Data, при этом оба ключа сущности Poezd мигрируют в число ключей сущности Data (до этого у нее не было ни одного ключа). Далее проведем идентифицирующую связь из сущности Poezd в сущность Vagon, затем – из сущности Poezd в сущность Stanc_Nazn, после этого – из сущности Vagon в сущность Mesto и, наконец, из сущности Mesto в сущность Stoimost. После этого щелкнем на панели инструментов ERwin кнопку Select entities левую в верхнем ряду с изображением стрелки для возврата в исходное состояние, т.е. в обычный  режим, если это не происходит автоматически после установления каждой связи.


                                                            Рис.2

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

Теперь сделаем еще одну реконструкцию в нашей модели, - а именно, введем в нее хотя бы одну неидентифицирующую связь. Сделать это можно, например, удалив из сущности Vokzal, оба неключевых аттрибута Adr_Vokz и Naim_Vokz, но взамен этого создав еще одну сущность Адреса вокзалов (Adresa_Vokz) с ключевым атрибутом Наименование вокзала (Naim_Vokz) и с неключевым атрибутом Адрес вокзала (Adr_Vokz), а затем создав неидентифицирующую связь от этой последней вновь созданной сущности к измененной теперь уже сущности Vokzal. Для удаления  атрибутов из сущности надо сделать (в обычном режиме, т.е. при утопленной кнопке Select Entities панели инструментов ERwin) правый щелчок на сущности, затем выбрать из всплывающего меню пункт Attributes и в открывшемся окне Attributes выделить удаляемый атрибут, затем нажать кнопку Delete внизу окна, точно так же удалить остальные требуемые атрибуты и после удаления всех требуемых атрибутов нажать OK. Процесс же создания упомянутой выше неидентифицирующей связи отличается от описанного выше процесса создания идентифицирующей связи лишь тем, что вместо кнопки Identifying relationship на панели инструментов ERwin надо воспользоваться кнопкой  Non-identifying relationship этой же панели (кнопка  нижняя правая с пунктирной ломаной ромбиком в начале и сплошным кружком на конце). Такой же вид будет иметь и созданная связь. Поскольку связь неидентифицирующая, то ключ Naim_Vokz исходной сущности хотя и мигрирует в выходную сущность, но теперь уже в число ее неключевых атрибутов.  После этого модель примет вид, изображенный на рис.3.

Теперь в основной панели инструментов (2-я сверху) щелкните кнопку Entity level (левее включенной кнопки  Attribute level) и посмотрите какой вид примет модель на экране. Что наблюдаете? Теперь точно так же ) щелкните кнопку Definition level (правее включенной кнопки  Attribute level). Что теперь наблюдаете? А теперь в этой же самой основной панели инструментов в строке крайней справа, где сейчас видите Logical, нажмите справа значок в виде черного треугольника вершиной вниз и из появившегося списка выберите Physical и снова выберите режим Attribute view. Вы


                             Рис.3