Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
pis_lect.docx
Скачиваний:
24
Добавлен:
28.10.2018
Размер:
2.55 Mб
Скачать

5.2.4. Правила генерации таблиц из er-диаграмм со связями 1: n. (вопрос 47)

Анализ рис. 5.10 показывает, во-первых, что если автор не пишет книгу, то поля таблицы, относящиеся к книге, отмечены «пробелами».

Во-вторых, если автор участвует в написании более чем одной книги – здесь дважды появляется информация об авторах А 1 и А 2 (повторение полей).

Замечание. Если бы класс принадлежности 1-связной сущности Автор был бы обязательным, то исчезли бы пробелы. Однако повторения данных в полях атрибутов Автора сохранились бы.

Четвертое правило генерации отношений (таблиц).

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

На рис. 5.11 приведен пример двух таблиц, построенных на основании сформулированного 4-го правила и содержащих информацию единой таблицы рис. 5.10.

Теперь рассмотрим случай, где степень связи 1:n с необязательным классом принадлежности обеих сущностей (рис. 5.8 (а), рис 5.9(а)).

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

Рис. 5.11. Данные таблиц рис. 5.10 после их разнесения по двум таблицам.

Использование двух таблиц также не приводит к успеху, так как останутся пробелы в полях «НА» в новой таблице Книга для книг, которые не пишутся.

Разрешить все эти проблемы позволяет пятое правило.

Пятое правило генерации отношений (таблиц).

Если степень бинарной связи равна 1:n и класс принадлежности n-связной сущности является необязательным, то необходимо формирование трех таблиц – по одной для каждой сущности, причем ключ каждой сущности служит первичным ключом соответствующей таблицы, и одной таблицы для связи. Связь должна иметь среди своих атрибутов ключ сущности для каждой сущности.

На рис. 5.12 приведены три таблицы, построенные на основе этого правила, и содержащие исходную информацию о Книге и Авторе.

Следует заметить, что в этом случае отсутствуют какие-либо пробелы, а также исключены повторяющиеся данные.

Здесь НК является первичным ключом, поскольку между НК и НА существует связь типа 1:n.

Рис. 5.12. Реализация правила 5.

5.2.5. Предварительные таблицы для бинарных связей степени «многие – ко - многим». (вопрос 48)

При бинарной связи m:n, вне зависимости от класса принадлежности, как первой, так и второй сущности, требуется создание трех таблиц на основании правила 6.

5.2.6. Правила генерации таблиц со связями m:n. (вопрос 49)

Шестое правило генерации отношений (таблиц).

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

Данные диаграмм ER-экземпляров для случая степени связи m:n и когда ни один класс принадлежности сущности не является обязательным, согласно правилу 6, может быть отображен набором таблиц рис. 5.12, построенных по пятому правилу. Отличие состоит лишь в том, что таблица «Пишет» целиком является ключом.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]