Материал: Информационные системы в экономике. курсовое проектирование. Лубянская Э.Б., Лукаш Е.Н

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Рис. 7.12. Степень связь 1:n с обязательным классом принадлежности для n-связанной сущности

Чтобы описать, кто из работников выполняет какую работу, достаточно в отношение РАБОТЫ добавить атрибут ТабНом, идентифицирующий работника (рис. 7.13).

Рис. 7.13. Одна из наиболее часто встречающихся связей в БД

ПРАВИЛО 5. Если степень связи 1 :n и класс принадлежности n-связной сущности необязательный, то необходимы ТРИ отношения: по одному для каждой сущности и одно для связи. В отношении для связи среди атрибутов должны быть ключи каждой сущности. Ключами первых двух отношений будут ключи сущностей, а ключом третьего - ключ n-связной сущности.

56

ПРИМЕР. Пусть сущность РАБОТНИКИ для связи РАБОТНИКИ — ВЫПОЛНЯЮТ — РАБОТЫ содержит сведения о всех работниках, сущность РАБОТЫ - обо всех работах (рис. 7.14). Правило применимо в том случае, если один работник выполняетнесколько работ, но один работник в каждый момент времени занят только своей группой работой (степень связи n для работ и 1 для работников). Кроме того, не все работы выполняются работниками (класс принадлежности n-связной сущности необязательный). Не имеет значения, все ли работники заняты работой из списка работ (класс принадлежности сущности РАБОТНИКИ произволен).

Рис. 7.14. Степень связь 1:n с необязательным классом принадлежности для n-связанной сущности

Чтобы указать, кто над чем работает, нельзя добавить атрибут работы в отношение РАБОТНИКИ, так как бывают ситуации, когда кто-то не выполняет никакой работы. Нельзя добавить и атрибут работника в отношение РАБОТЫ, так как существуют работы, которые не выполняются работниками из списка. Остается ввести новое отношение, ВЫПОЛНЯЕМЫЕ РАБОТЫ, с атрибутами ТабНом и НомРаб, в котором будет указано, кто над чем работает (рис. 7.15). Ключом отношения при этом становиться НомРаб.

57

Рис. 7.15. Формирование таблицы для связи, согласно Правилу 58

ПРАВИЛО 6. Если степень связи m:n, то необходимы ТРИ отношения: по одному для каждой сущности и одно для связи. В отношении для связи среди атрибутов должны быть ключи каждой сущности. Ключами первых двух отношений становятся ключи сущностей, а ключом третьего - ключи обеих сущностей.

ПРИМЕР (рис. 7.16). Если для предыдущего примера допустить, что одну работу могут выполнять одновременно несколько работников, то все рассуждения будут почти аналогичны. Разница только в том, что в отношении ВЫПОЛНЯЕМЫЕ РАБОТЫ может встречаться несколько раз запись о работах. Поэтому ключ отношения ВЫПОЛНЯЕМЫЕ РАБОТЫ будет составным (рис. 7.17).

Рис. 7.16. Степень связь n:m

58

Рис. 7.17. Формирование таблицы для связи, согласно Правилу 7

Связь "многие-ко-многим" является наиболее универсальной и чаще всего встречается при описании связи между объектами.

Замечание. В ряде случаев, в таблице для связи полезно ввести свой собственный ключ (задать новое ключевое поле). Поля, которые входили до этого в составной ключ, становятся обычными полями для связи (неключевыми атрибутами).

Приведенные правила охватывают все возможные в бинарных связях ситуации.

n-АРНЫЕ СВЯЗИ. Иногда возникают случаи, когда связи между сущностями получаются сложными и не сводятся к бинарным.

ПРИМЕР. Пусть работники выполняют работы на основании заключенных контрактов (сделанных заказов, рис. 3.18). Здесь важно указать именно взаимосвязь нескольких событий, их одновременность: номер заказа, кто работал над конкретным заказом и какие работы выполнял. m:n

59

Рис. 7.18. ER-диаграмма с n-арной связью

Для n-арных связей существует одно общее правило.

ПРАВИЛО 7. Для n-арной связи (n>2) требуется n+1 отношение: по одному для каждой сущности и одно для связи. Ключи каждой сущности превращаются в ключи соответствующих отношений. Кроме того, все ключи входят как атрибуты в отношение для связи. Ключ отношения для связи определяется по-разному, в зависимости от классов принадлежности и степеней связи.

На основании Правила 7 формируется сущность ВЫПОЛНЯЕМЫЕ РАБОТЫ, в составной ключа которой входят ТабНом, НомРаб и НомЗак. Связи будут иметь вид (рис. 7.19):

Рис. 7.19. Формирование таблицы для связи, согласно Правилу 7

60

Источник: https://studfile.net/preview/16563512/