Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory_po_bazam.docx
Скачиваний:
6
Добавлен:
09.02.2015
Размер:
754.53 Кб
Скачать

1. Преобразование сложных связей.

Под сложными здесь понимаются связи степени выше второй. Они должны быть заменены наборами бинарных связей. При этом могут вводиться дополнительные типы сущности. Пример такого преобразования был рассмотрен в п. 4.5.2.

2. Удаление избыточных связей.

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

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

Другой пример. Связь Товары хранятся на Складах дублируется связями через накладные на покупку и продажу. Опять же, количество любого товара на любом складе можно определить, просчитав все накладные, касающиеся интересующего товара. Но! Накладные придется просматривать не за ограниченный промежуток времени, а за все время существования системы. Кроме того, запрос о количестве товаров на складах – это самый важный и самый частый запрос в системе и время его выполнения критично для производительности всей системы учета. При таких условиях связьХранится нане может быть признана избыточной.

3. Преобразование связей типа многие-ко-многим.

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

4. Преобразование связей, имеющих атрибуты.

Выполняется аналогично предыдущему пункту (связь Товары хранятся на Складах имеет атрибут Количество).

5. Преобразование рекурсивных связей.

Также выполняется с помощью дополнительных типов сущности. Например, для связи приведенной на рис. можно предложить такой вариант (рис. 3).

Рис. 3. Преобразование рекурсивной связи

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

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