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

      Включим в панели инструментов кнопку “Attribute level” (обычно 7-я слева), если она до этого уже не включена, т.е. не имеет утопленный вид. (Название кнопки при наведении на нее мыши появляется сразу же под курсором мыши, кроме того пояснение появляется всегда при этом и внизу экрана в строке состояния). Тем самым включаем способ отображения логических моделей на уровне атрибутов.  (Слева и справа от этой кнопки имеются соответственно кнопки “Entity level ” и “Definition level ”, которые включают способ отображения логических моделей соответственно на уровне сущностей и на уровне отношений). Теперь скажем еще несколько слов о таком понятии, как связи между сущностями, хотя все это в достаточной мере изложено в предлагаемой литературе. Итак, начнем с того, что атрибуты в сущностях бывают ключевыми и неключевыми, притом, набор ключевых атрибутов однозначно идентифицирует сущность, т.е. две различные сущности не могут иметь один и тот же набор ключевых атрибутов. Связь – это функциональная зависимость между двумя сущностями, в частности, возможна связь сущности с самой собой. На логическом уровне связи бывают идентифицирующие один-ко-многим и многие-ко-многим,  а также неидентифицирующие.

Теперь будем создавать, например, указанную выше модель ERwin на уровне атрибутов. Создаем первую сущность – вокзал. Щелкнем по кнопке  Entity (Сущ-ность)  на палитре инструментов ERwin (вторая слева верхняя) и утопим ее, а затем сделаем щелчок по любому свободному месту экрана создаваемой модели. Появится прямоугольник создаваемой сущности. В качестве ее имени впишем Voksal, оно появится над прямоугольником (если пожелаете взять русское имя , то нужно будет выбрать для него шрифт Arial Cyr для правильного отображения знаков кириллицы). Таким же образом создадим и поименуем все остальные сущности – Поезд, Вагон, Место проезда, Дата проезда, Стоимость проезда, Станция назначения и поименуем их соответственно как Poezd, Vagon, Mesto, Data, Stoimost, Stanc_Nazn. После этого щелкнем на панели инструментов ERwin кнопку Select левую в верхнем ряду с изображением стрелки для возврата в исходное состояние. Для лучшей видимости изменим шрифт всех имен сущностей, например, на Arial Cyr со стилем Bold. Для этого делаем правый щелчок на каждой из сущностей и выбираем из всплывающего меню пункт Object Font & Colors, после чего откроется окно Entity Fonts & Colos и в нем можно настроить шрифт, стиль, размер, цвет текста и щелкнуть затем в этом окне OK. Теперь присвоим сущностям атрибуты ключевые и неключевые. Начнем с сущности Вокзал. Сделаем на ней правый щелчок и выберем из всплывающего меню пункт Attributes. Откроется окно Attributes, в правой его части должна быть выбрана вкладка General, внизу его щелкнем кнопку New. Откроется окно New Attribute и в нем – дерево с атрибутами Blob, Datetime, Number, String. Выберем Number,  поскольку сейчас будем создавать атрибут Номер вокзала и щелкнем OK. Система дала атрибуту по умолчанию не только тип Number, но и имя Number, такое имя нас не устраивает, поэтому щелкнем в окне Attribute Editor кнопку Rename и переименуем имя с помощью появившегося окна Rename Attribute, например, на N_Vokz. Атрибут этот    должен быть ключевым, поэтому включим в правой половине окна Attributes флажок Primary Key. Теперь щелкнем кнопку New и создадим как уже выше описано следующий атрибут Наименование вокзала (Naim_Vokz) строкового типа String, он неключевой и потому включать справа во вкладке General  флажок Primary Key не будем,  далее снова щелкнем кнопку New и создадим еще один неключевой атрибут типа String – это адрес вокзала (Adr_Vokz). Теперь после создания всех атрибутов сущности Voksal щелкнем OK внизу окна Attributes.

                                Рис. 1

Далее аналогично создадим атрибуты всех остальных сущностей. Что касается типов этих атрибутов, то тип Number имеют номера вокзала, поезда, вагона, места и стоимость проезда. Дата проезда и время отправления имеют тип Datetime, а все
                                                    прочие атрибуты имеют тип String. Что касается имен, присвоенных атрибутам, то их можно увидеть на рис.1. Притом, ключевые атрибуты здесь находятся вверху сущности и отделены от остальных горизонтальной чертой.