Базы данных

Определения схем и образцы таблиц для классов store и Employee


Известно, что сотрудников больше, чем магазинов. На 4.7 показаны два магазина и пять сотрудников. Каждый магазин должен иметь менеджера, но не все сотрудники являются менеджерами. Предположим, что внешний ключ manager включен в схему отношения store, как показано на 4.7, а. Тогда значение атрибута manager является значением ключа служащего, управляющего магазином. Каждая строка таблицы Store будет содержать в столбце manager непустое значение (non-null). Если внешний ключ managed включается в схему отношения Employee, как показано на 4.7, б, его значением будет значение ключа магазина, которым управляет этот служащий. Большинство строк таблицы Employee будут иметь значение null (пусто) в столбце атрибута внешнего ключа managed. Как отмечалось 2.3.2, наличие в таблице большого количества значений null вызывает путаницу, и этого следует избегать.

Имеется два естественных варианта имени атрибута внешнего ключа. Можно назвать его именем ключевого атрибута связанного класса (storeld в схеме Videotape) или именем роли связанного класса (manager в схеме Store). Имя роли является лучшим выбо ром, но имя атрибута во многих случаях также вполне приемлемо.

Комментарии закрыты