Базы данных

Специализация и генерализация


Преобразование специализирующих графов в реляционные схемы должно проводиться согласованно для классов сущностей коллекции. Обычно единое правило применяется для всех классов коллекции. Эти классы сущностей могут быть представлены как отдельные отношения, каждое из которых имеет свои собственные атрибуты (правило 10), как единственное отношение С со всеми атрибутами (правило 11), или как отдельные отношения, каждое из которых имеет все атрибуты суперкласса и индивидуальные атрибуты подкласса (правило 12).

Правило 10. Создается отношение для каждого суперкласса С с использованием соответствующих правил. Для каждой характеризующейся значением определяющего атрибута специализации класса С этот атрибут добавляется к схеме для класса С. Для каждого из подклассов S создается новая реляционная схема. Согласно правилам 2 и

4, к схеме добавляются простые и составные атрибуты класса S. К каждому из подклассов S в качестве его внешних ключей добавляются ключи всех связанных с ним суперклассов С, что позволит создать ссылку на отношение С из реляционной схемы подкласса.

В качестве ключа отношения подкласса S декларирует комбинация, составленная из этих внешних ключей.

Правило 11. Для каждого суперкласса С создается новая реляционная схема с использованием соответствующих правил. Для каждой специализации С, имеющей определяющий атрибут, этот атрибут добавляется к схеме С. Также к схеме С добавляются простые и составные атрибуты каждого из подклассов S суперкласса С.

Правило 12. Для каждого подкласса S создается новая реляционная схема. К ней добавляются все простые и составные атрибуты подкласса S и его суперклассов С в соответствии с правилами 2 и 4. В качестве ключа схемы декларируется комбинация ключевых атрибутов суперклассов. Для каждого из суперклассов С, имеюших частичную специализацию, создается новая реляционная схема, и к ней добавляются все атрибуты класса С.

Правило 10 применимо к любому классу специализации. Правило 11 не должно использоваться в случае множественных генерализаций (множественного наследования), а правило 12 не следует использовать для перекрывающейся специализации и множественных специализаций.

Для правил 10 и 11 может оказаться, что схемы суперклассов уже были созданы посредством применения правила 1 или 8.

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