
Атрибуты первичных ключей, альтернативных ключей и инверсных входов
Первичный ключ. (Primary Key). Атрибут первичного ключа должен быть помечен (Primary Key ).
В
списке атрибутов (на изображении
сущности) он расположен выше горизонтальной
линии.
Для большей наглядности каждый атрибут можно связывать с иконкой.
Альтернативный ключ (Alternate Key) – это потенциальный ключ, не ставший первичным ключом. На диаграмме атрибуты альтернативных ключей обозначаются как (АК n,m), где n – порядковый номер ключа, m – порядковый номер атрибута в ключе.
Инверсные входы (Inversion Entries) – это атрибут или группа атрибутов, которые не определяют экземпляр сущности уникальным образом, но часто используются для обращения к экземплярам сущности. Инверсные входы обозначаются (IE n,m), где n – порядковый номер входа, m – порядковый номер атрибута.
Создание первичных и альтернативных ключей и инверсных входов. Каждая сущность должна иметь первичный ключ.
В простейшем случае для указания атрибутов первичного ключа в окне Attributes (см. рис. выше) необходимо сделать пометку в поле Primary Key.
Ниже описан процесс создания разновидностей групп ключей и инверсных входов.
Находясь в диалоге Attributes , перейдите на вкладку Key Group (рис.).
Щелкните
по кнопке
,
расположенной в правой верхней части
закладки, вызывая диалогKey
Group
(рис.).
Рис.43 Закладка Key Group.
Другой вариант:щелкнуть правой кнопкой мыши по сущности и выбрать пунктKey Group .
Рис. Диалог Key Groups
В верхней части диалога отображается список ключевых групп Key Group .Вначале в этомсписке присутствует одна строка,соответствующая созданному первичному ключу.
Слева внизу -списокатрибутовсущности, доступных для включения в состав ключевой группы, а справа -названия атрибутов, вошедших в ключевую группу.
Для создания новой ключевой группы щелкните по кнопке New. Появится диалог New Key Group (рис. ) .
Рис. Диалог New Key Group
Тип ключевой группы задается кнопками Alternate Key- уникальный или Inversion Entry - не уникальный.
Имя новой ключевой группы присваивается автоматически:
Каждому ключу соответствует индекс, имя которого также присваивается автоматически.
Щелкните по кнопке ОК. В верхней части диалога Key Group появляется новая строка с названием созданной ключевой группы
Повторите описанные выше действия и введите названия всех альтернативных ключей и инверсных входов для данной сущности.
Таким образом, нами созданыимена ключевыхгрупп.
После этого их необходимо связать каждую созданную группу с атрибутами.
Распределение атрибутов по ключевым группам. Каждый созданный ключ должен иметь хотя бы один атрибут. Для включения атрибута в состав ключевой группы выполните следующие действия:
выделите в верхней части диалога Key Group первую по списку ключевую группу;
выделите в левой нижней части диалога Key Group имя атрибута, который должен войти в состав ключевой группы;
щелкните по кнопке
.
Повторите эти действия для каждой ключевой группы. Не распределенные атрибуты будут играть роль простых (не ключевых) атрибутов.
Вернитесь в диалог Attributes на закладку Key Group. Слева в диалоге виден список всех атрибутов сущности, а справа – всех ключевых групп. Проверьте правильность распределения атрибутов по группам.
Перейдите на уровень отображения атрибутов и проверьте правильность отображения сущности.
Если на диаграмме модели отсутствуют обозначения первичных, внешних, альтернативных ключей (АК) и инверсных входов (IE),
то щелкните правой кнопкой мыши на свободном месте диаграммы, выберите из всплывающего списка пункт Entity Display , а затем отметьте необходимые пункты Alternate Key Designator (AK)и т. п.
Внешние ключи (Foreign Key) создаются автоматически, когда линия связи соединяет сущности.
Атрибуты внешнего ключа обозначаются символом (FK) после своего имени.
Связи в Erwin. Кнопки ,
соответствующие идентифицирующей и неидентифицирующей связи и связи многие-ко-многим, расположены в палитре инструментов (рис. ).
Для установления новой связи между двумя сущностями выполните следующие действия:
установите курсор на нужной кнопкев палитре инструментов и нажмите левую кнопку мыши;
щелкните сначала по изображению одной сущности (родительской), а затем по другой (дочерней) сущности;
щелкните по кнопке в палитре инструментов.
В результате выполнения этих действий изображения двух сущностей соединяются линией соответствующего вида. Первичный ключ родительской сущности мигрирует в дочернюю сущность.
Редактирование связи. Для редактирования свойств связи щелкните правой кнопкой мыши по линии связи и выберите в контекстном меню пункт Relationship Properties.
В закладке General появляющегося диалога задайте имя, мощность и тип связи (рис. ).
Имя связи (Verb Phrase). Для специфического отношения достаточно указать имя характеризующее отношение от родительской к дочерней сущности (Parent-to-Child).
Для неспецифического отношения следует указать имена как
Parent-to-Child так и Child-to-Parent.
Рис. 47 Диалог Relationships
Укажите тип, кардинальность,
Если имя связи в модели не отображается,то ЩПКМ по свободному месту диаграммы, выберитеRelationship Display, затем выберите
Verb Phrase
Если сущность-родитель или сущность-потомок в сложной модели не видна на экране, то для ее отображения ЩПКМ по связи и выберите пункт
Go To Parent или Go TO Child.
Мощность связи (Cardinality) – служит для обозначения количества экземпляров сущности-потомка, которые могут существовать для каждого экземпляра сущности-родителя. Тип мощности отношения устанавливается одной из четырех кнопок поля Cardinality:
Zero, One or More;
One or More;
Zero or One и
Exactly (точно).
Тип отношения (поле Relationship Type) устанавливается одной из двух кнопок: