Моделирование взаимосвязей между сущностями




Упрощенный подход к проектированию - часть 6


/p>

Шаг 7. Исключающая связь

Существует два основных средства обработки исключающих связей:

  • общий домен
  • заданные явно внешние ключи.
  • Общий домен

    Если оставшиеся внешние ключи можно включить в один домен (идентичный формат), создайте два столбца:

  • Идентификатор связи
  • Идентификатор сущности.
  • Столбец "Идентификатор связи" позволяет различать связи, покрываемые исключающей дугой.

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

    Рисунок F-4. Пример

    В таблице TIMESHEET_ENTRIES (СТРОКИ_ТАБЕЛЯ) связи "по ЭТАПУ ПРОЕКТИРОВАНИЯ" и "о ДЕЯТЕЛЬНОСТИ ВНЕ ПРОЕКТА" реализуются с помощью столбцов:

    Строка_табеля_по (Timesheet_for)

    char

    3

    not null

    (значение 'ЭП' и 'ДВП')

    Код_деятельности (Activity_code)

    char

    7

    not null

    Обратите внимание на развернутость имен, присвоенных столбцам. Значение "кода_деятельности" равно коду либо ЭТАПА ПРОЕКТИРОВАНИЯ, либо ДЕЯТЕЛЬНОСТИ ВНЕ ПРОЕКТА. Поскольку связи являются обязательными, столбцы имеют тип not null.

    Явное задание внешних ключей

    Если полученные внешние ключи не объединяются в домен, создайте соответствующие внешним ключам столбцы для каждой связи, покрытой исключающей дугой, и сделайте эти столбцы необязательными (null). В прикладной программе следует учесть, что только одно значение может быть введено (или должно быть введено, если связи обязательные).

    Вернемся к нашему примеру, но на этот раз предположим, что код этапа проектирования является целым числом (integer).

    Рисунок F-5. Снова предыдущий пример

    В результате добавятся столбцы:

    Код_этапа_проектирования (Project_units_code)

    integer

    5

    null

    Код_деятельности_вне_проекта

    Non-project_activities_code)

    char

    7

    null

    Преимущества и недостатки

    Общий домен

    Явное задание внешних ключей

    Преимущества

    Преимущества

    Используются только два столбца

    Необязательность поддерживается средствами СУРБД

    Видны условия соединения

    Недостатки

    Недостатки

    Оба столбца должны использоваться во всех операциях соединения

    Дополнительные столбцы

    Необязательность столбцов и их использование реализуются прикладными средствами




    Содержание  Назад  Вперед