Базы данных

Представление слабых классов сущностей


Использование слабых классов сущностей вызывает определенные затруднения, так как у них отсутствуют атрибуты уникального ключа. В классе сущностей TimeCard, например, атрибутами являются date,,startTime, endTime и paid. Если у двух работников время начала и время завершения работы в один и тот же день совпадают, то записи в их карточках учета времени будут полностью идентичны. Поэтому реляционная схема, состоящая только из этих трех атрибутов, будет рассматривать эти две карточки учета рабочего времени как одну сущность. Схема слабого класса сущности должна содержать дополнительные атрибуты, образующие часть ее ключа. Например, к карточке учета времени может быть добавлен атрибут ssn, значение которого является ключом (ssn) определяющего класса сущностей.

Схема и образец таблицы для слабой сущности TimeCard. Следует отметить, что ключ схемы образуется тремя атрибутами {ssn, date, startTime}. Атрибуты date и startTime являются частичными ключами слабого класса сущностей. На основании значений атрибутов можно увидеть, что никакая комбинация двух атрибутов не является уникальной. Так, первые две строки имеют одинаковые значения date, startTime и endTime. Последние две строки имеют одинаковые значения ssn и date.

Так как связь межау классами TimeCard и Employee имеет тип “многие к одному”, атрибут ssn не может служить в качестве ключа отношения TimeCard. Два атрибута класса сущностей TimeCard, образующие в комбинации с ssn ключ схемы, называются дискриминаторами.

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