Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Организация баз данных.-5.pdf
Скачиваний:
8
Добавлен:
05.02.2023
Размер:
1.3 Mб
Скачать

 

75

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сотрудник

 

 

 

 

 

 

 

 

 

 

 

ФИО сотрудника

 

Подчиненный

 

 

 

 

 

 

 

 

 

Должность

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

...

Начальник

Рис. 6.13. Пример рекурсивной связи

Конец связи с именем ПОДЧИНЕННЫЙ говорит о том, что у одного сотрудника может быть более одного подчиненного, при этом конец связи с именем НАЧАЛЬНИК означает, что не каждый сотрудник может иметь подчиненных, т.е. быть начальником может не каждый сотрудник. Другими словами каждый сотрудник может быть начальником и являться подчиненным и при этом сам являться подчиненным только одного сотрудника.

6.2.2. Принцип нормализации ER-схем

Нормальные формы ER-схем имеют много общего с нормализацией реляционных отношений.

Для первой нормальной формы ER-схемы характерно отсутствие повторяющихся атрибутов — производится выявление так называемых неявных сущностей и образование на их основе новых сущностей.

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

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

Нормальные формы более высоких порядков в ER-моделях не находят практического применения.

6.2.3. Другие элементы ER-модели

В ряде случаев при проектировании модели предметной области основных понятий ER-модели недостаточно, тогда приходится исполь-

76

зовать расширенные возможности технологии создания ER-моделей, среди них можно выделить следующие конструкции:

1)домены. Под термином домен в данном случае следует понимать поименованный набор правил, которые являются общими для атрибутов, на которые распространяется действие этого домена. Преимущества использования доменов очевидны: определив правило один раз, можно добавлять его к атрибутам различных сущностей с целью стандартизации их характеристик;

2)супертипы сущностей. Этот элемент модели присутствует не во всех средствах проектирования ER диаграмм, однако наличие его обеспечивает возможность наследования типа сущности, исходя из одного или нескольких так называемых супертипов;

3)подтипы сущностей. Любая сущность ER-диаграммы может

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

6.2.4. Получение реляционной схемы из ER-диаграммы

Как мы отмечали выше, большинство средств проектирования ER-диаграмм, среди которых можно выделить такие пакеты, как Power Designer, ErWin, IDEF-Designer и другие, обеспечивают возможность генерации физической модели БД на основе спроектированной концептуальной. Физическая модель может быть преобразована в физическую базу данных практически любого, известного в настоящее время, формата. Процесс преобразования концептуальной модели в физическую, т.е. процесс перехода от ER-схемы к реляционной, можно разделить на этапы.

Этап 1. Каждая простая сущность преобразуется в плоскую таблицу (отношение). Имя сущности становится именем этой таблицы. Простой называется сущность, не являющаяся подтипом и не имеющая подтипов.

Этап 2. Каждый атрибут сущности преобразуется в столбец (атрибут реляционного отношения) с тем же именем. Столбцы реляционной таблицы, соответствующие необязательным атрибутам сущности, могут содержать неопределенные значения, тогда как столбцы, соответствующие обязательным, — не могут.

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