Получение реляционной схемы из ER – схемы

Шаг 1. Каждая простая сущность превращается в таблицу. Простая сущность - сущность, не являющаяся подтипом и не имеющая подтипов. Имя сущности становится именем таблицы.

Шаг 2. Каждый атрибут становится возможным столбцом с тем же именем; может выбираться более точный формат. Столбцы, соответствующие необязательным атрибутам, могут содержать неопределенные значения; столбцы, соответствующие обязательным атрибутам, - не могут.

Шаг 3. Компоненты уникального идентификатора сущности превращаются в первичный ключ таблицы. Если имеется несколько возможных уникальных идентификатора, выбирается наиболее используемый. Если в состав уникального идентификатора входят связи, к числу столбцов первичного ключа добавляется копия уникального идентификатора сущности, находящейся на дальнем конце связи (этот процесс может продолжаться рекурсивно). Для именования этих столбцов используются имена концов связей и/или имена сущностей.

Шаг 4. Связи многие-к-одному (и один-к-одному) становятся внешними ключами. Т.е. делается копия уникального идентификатора с конца связи "один", и соответствующие столбцы составляют внешний ключ. Необязательные связи соответствуют столбцам, допускающим неопределенные значения; обязательные связи - столбцам, не допускающим неопределенные значения.

Шаг 5. Индексы создаются для первичного ключа (уникальный индекс), внешних ключей и тех атрибутов, на которых предполагается в основном базировать запросы.

Шаг 6. Если в концептуальной схеме присутствовали подтипы, то возможны два способа:

- все подтипы в одной таблице (а)

- для каждого подтипа - отдельная таблица (б).

При применении способа (а) таблица создается для наиболее внешнего супертипа, а для подтипов могут создаваться представления. В таблицу добавляется по крайней мере один столбец, содержащий код ТИПА; он становится частью первичного ключа. При использовании метода (б) для каждого подтипа первого уровня (для более нижних - представления) супертип воссоздается с помощью представления UNION (из всех таблиц подтипов выбираются общие столбцы - столбцы супертипа) – Таблица 1.8:

Таблица 1.8 Особенности расположения подтипов в одной или в нескольких таблицах

Все в одной таблице Таблица - на подтип
Преимущества
Все хранится вместе; Легкий доступ к супертипу и подтипам; Требуется меньше таблиц. Более ясны правила подтипов; Программы работают только с нужными таблицами.
Недостатки
Слишком общее решение; Требуется дополнительная логика работы с разными наборами столбцов и разными ограничениями; Потенциальное узкое место (в связи с блокировками); Столбцы подтипов должны быть необязательными; В некоторых СУБД для хранения неопределенных значений требуется дополнительная память. Слишком много таблиц; Смущающие столбцы в представлении UNION; Потенциальная потеря производительности при работе через UNION; Над супертипом невозможны модификации.

Шаг 7. Имеется два способа работы при наличии исключающих связей (Таблица 1.9):

- общий домен (а)

- явные внешние ключи (б)

Таблица 1.9 Способы работы при наличии исключающих связей

Общий домен Явные внешние ключи
Преимущества
Нужно только два столбца Условия соединения - явные
Недостатки
Оба дополнительных атрибута должны использоваться в соединениях Слишком много столбцов

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: