Читаем BPwin и Erwin. CASE-средства для разработки информационных систем полностью

Для создания нового ключа следует щелкнуть по кнопке New. Появляется диалог New Key Group (рис. 2.44). Имя нового ключа присваивается автоматически ("Alternate Key N" для альтернативного ключа и "Inversion Entry N" для инверсионного входа, где N - порядковый номер ключа).

Рис. 2.44. Диалог New Key Group


Каждому ключу соответствует индекс, имя которого также присваивается автоматически ("XAKNENTITY" для альтернативного ключа и " XIENENTITY" для инверсионного входа, где N - порядковый номер ключа, ENTITY - имя сущности). Имена ключа и индекса при желании можно изменить вручную.



Рис. 2.45. Сущность "Сотрудник" с отображением ключей


На диаграмме атрибуты альтернативных ключей обозначаются как (AKn.m), где n - порядковый номер ключа, m - порядковый номер атрибута в ключе. Когда альтернативный ключ содержит несколько атрибутов, (AKn.m) ставится после каждого. На рис. 2.45 атрибуты Фамилия, Имя, Отчество и Дата рождения входят в альтернативный ключ № 1 (АК1), Номер паспорта составляет альтернативный ключ № 2 (АК2). Инверсионные входы обозначаются как (IEn.m), где n - порядковый номер входа, m -порядковый номер атрибута. Инверсионный вход IE1 (атрибут Должность) позволяет выбрать всех сотрудников, занимающих одинаковую должность, IE2 (атрибуты Город и

Улица) - всех сотрудников, живущих на одной улице, IE3 (атрибут Номер комнаты) - всех сотрудников, работающих в одной комнате, a IE4 (атрибут Дата рождения) - всех сотрудников, родившихся в один день. Если один атрибут входит в состав нескольких ключей, ключи перечисляются в скобках через запятую (атрибут Дата рождения входит в состав АК1 и IE4). По умолчанию номера альтернативных ключей и инверсионных входов рядом с именем атрибута на диаграмме не показываются. Для отображения номера следует в контекстном меню, которое появляется, если щелкнуть левой кнопкой мыши по любому месту диаграммы, не занятому объектами модели, выбрать пункт Display Options/Entities и затем включить опцию Alternate Key Designator (AK).

Внешние ключи (Foreign Key) создаются автоматически, когда связь соединяет сущности: связь образует ссылку на атрибуты первичного ключа в дочерней сущности и эти атрибуты образуют внешний ключ в дочерней сущности (миграция ключа). Атрибуты внешнего ключа обозначаются символом (FK) после своего имени (см. рис. 2.45). Атрибут внешнего ключа Где работает. Номер отдела ("Где работает" - имя роли) является атрибутом первичного ключа (РК) в сущности Отдел.

Зависимая сущность может иметь один и тот же внешний ключ из нескольких родительских сущностей. Сущность может также получить один и тот же внешний ключ несколько раз от одного и того же родителя через несколько разных связей. Когда ERwin обнаруживает одно из этих событий, он распознает, что два атрибута одинаковы, и помещает атрибут внешнего ключа в зависимой сущности только один раз. Хотя в закладке Key Group диалога Attribute Editor этот атрибут будет входить в два внешних ключа, на диаграмме он показывается только один раз. Это комбинирование или объединение идентичных атрибутов называется унификацией.

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

Рис. 2.46. Унификация атрибута


По смыслу это одно и то же значение номера отдела, поскольку в отделе реализуется проекты, которые ведут сотрудники того же отдела. ERwin унифицирует атрибуты и отображает на диаграмме только один атрибут Номер отдела.

Есть и другие случаи, когда унификация нежелательна. Например, когда два атрибута имеют одинаковые имена, но на самом деле они отличаются по смыслу и необходимо, чтобы это отличие отражалось в диаграмме. В этом случае необходимо использовать имена ролей атрибутов внешнего ключа (см. рис. 2.27).


2.2.6. Нормализация данных


Перейти на страницу:

Похожие книги

3ds Max 2008
3ds Max 2008

Одни уверены, что нет лучшего способа обучения 3ds Мах, чем прочитать хорошую книгу. Другие склоняются к тому, что эффективнее учиться у преподавателя, который показывает, что и как нужно делать. Данное издание объединяет оба подхода. Его цель – сделать освоение 3ds Мах 2008 максимально быстрым и результативным. Часто после изучения книги у читателя возникают вопросы, почему не получился тот или иной пример. Видеокурс – это гарантия, что такие вопросы не возникнут: ведь автор не только рассказывает, но и показывает, как нужно работать в 3ds Мах.В отличие от большинства интерактивных курсов, где работа в 3ds Мах иллюстрируется на кубиках-шариках, данный видеокурс полностью практический. Все приемы работы с инструментами 3ds Мах 2008 показаны на конкретных примерах, благодаря чему после просмотра курса читатель сможет самостоятельно выполнять даже сложные проекты.

Владимир Антонович Верстак , Владимир Верстак

Программирование, программы, базы данных / Программное обеспечение / Книги по IT