Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Моделирование бизнес-процессов / Моделирование бизнес-процессов / ER-диаграмы / Проектирование реляционных БД с помощью ER-диаграмм_ver1.6.doc
Скачиваний:
189
Добавлен:
30.04.2013
Размер:
7.8 Mб
Скачать

Грамматика Слабой Сущности

Ранее мы обсуждали некоторую грамматику, связанную со слабыми сущностями, но сейчас мы хотим пересмотреть и расширить ее для случая, когда слабая сущность не имеет первичного ключа. Слабая сущность может иметь первичный ключ и следовательно это могло появиться в пункте (b), поэтому мы добавляем часть (c).

Ключи

Для ключа(ключей):

a. Более одного потенциального ключа (сильная сущность):… [обсуждалось ранее]

b. Один потенциальный ключ (сильная или слабая сущность): Для каждой слабой сущности, но предполагается, что никакая слабая сущность не будет записана без соответствующей родительской сущности. [обсудили ранее]

c. Нет потенциальных ключей (слабая сущность): Для каждой (слабой) сущности, мы не допускаем что какой либо атрибут будет уникальным для того, чтобы идентифицировать самостоятельную (независимую) сущность.

В этом случае, сущность ПОДЧИНЕННЫЙ должна быть определена следующим образом:

Для каждой сущности ПОДЧИНЕННЫЙ мы не допускаем что какой либо атрибут был бы уникальным для того, чтобы идентифицировать ее как самостоятельную сущность.

Теперь дополним это описание, включив в него идентифицирующую сущность:

Поскольку слабая сущностьне имеет потенциального ключа, каждаяслабая сущностьбудет идентифицироваться ключом (ключами), принадлежащимсильной сущности.

В нашем случае сущность ПОДЧИНЕННЫЙ идентифицируется сущностью СЛУЖАЩИЙ, и второе утверждение будет выглядеть так:

Поскольку сущность ПОДЧИНЕННЫЙ не имеет потенциального ключа, каждая сущность ПОДЧИНЕННЫЙ будет идентифицироваться ключом (ключами), принадлежащим сущности СЛУЖАЩИЕ и еще именем (частичным ключом) в сущности ПОДЧИНЕННЫЙ.

Преобразование Слабых Сущностей в Реляционную Базу Данных

В этой главе мы дополним правила преобразования для преобразования слабых сущностей в реляционную базу данных.

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

Если слабые сущности являются родительскими для других слабых сущностей, то сначала должна преобразовываться слабая сущность, которая связана с сильной сущностью. Ключ слабой родительской сущности должен быть определен до того, как будет преобразована «более слабая» сущность.

Например, обратимся к рисунку 5.3. Отношения СЛУЖАЩИЙ и ПОДЧИНЕННЫЙ должны быть преобразованы следующим образом:

Номер_служащего является первичным ключом

Первичный ключ, номер_служащего родительского отношения СЛУЖАЩИЙ включается в слабую сущность ПОДЧИНЕНЫЙ. Номер_служащего теперь становится частью первичного ключа отношения ПОДЧИНЕННЫЙ. Поскольку имя, фамилия и средний инициал в совокупности являются частичный ключ отношения ПОДЧИНЕННЫЙ, первичным ключом отношения ПОДЧИНЕННЫЙ становится совокупность атрибутов имя, фамилия, средний инициал подчиненного и номер_служащего.

Теперь посмотрим на Рисунок 5.6.Здесь, отношение ПОДЧИНЕННЫЙ зависит от отношения СЛУЖАЩИЙ, а отношение ХОББИ зависит от отношения ПОДЧИНЕННЫЙ. Отношения СЛУЖАЩИЙ и ПОДЧИНЕННЫЙ должны быть преобразованы, как показано выше, тогда отношение ХОББИ должно быть преобразовано следующим образом:

Тип хобби являлся частичным ключом отношения ХОББИ. Первичным ключом отношения ХОББИ становится совокупность атрибутов: имя, фамилия, средний инициал подчиненного, номер_служащего и тип хобби.