Установление категориальной связи

Некоторые сущности определяют целую категорию объектов одного типа. В ERwin в таком случае создается сущность для определения категории и сущности для каждого элемента категории, а затем вводится для них связь категоризации. Родительская сущность категории называется супертипом, а дочерние – подтипом.

В сущности-супертипе вводится атрибут-дискриминатор, позволяющий различать конкретные экземпляры сущности-подтипа. В зависимости от того, все ли возможные сущности-подтипы включены в модель, категорийная связь является полной или неполной.

Ø Для создания категориальной связи необходимо, прежде всего, задать сущности и их атрибуты, не указывая первичный ключ для подтипов.

Ø Затем выбрать в палитре инструментов кнопку категориальной связи Complete Sub-categoryи щелкнуть сначала по родовому предку, а затем по первому потомку. После этого щелкнуть по символу категории, а потом по следующему потомку.

Ø Для редактирования категориальной связи необходимо выделить символ связи и в контекстном меню выбрать пункт Subtype Relationship.

Ø В окне редактора следует указать атрибут-дискриминатор (списокDiscriminator Attribute Choice), а также установить тип категории – полная (Complete)и неполная(Incomplete). Имя дискриминатора появится в диаграмме рядом с символом связи (см. рис. 2.9).

 
  Установление категориальной связи - student2.ru

Рис. 2.9. Категориальная связь

Часть 3.Построение физической модели данных. Генерация схемы базы данных

Цель работы:

· освоение роли CASE-средства Erwin при нормализации и денормализации;

· построение физической модели заданной предметной области;

· генерация средствами Erwin содержимого системного каталога для заданной СУБД.

Задание:

Построить физическую модель поставки товаров в соответствии с договорами средствами Erwin. Сгенерировать схему базы данных для СУБД Access.

Теоретические сведения

Правила ссылочной целостности – это логические конструкции, которые выражают бизнес-правила использования данных. Они определяют, какие действия должна выполнить СУБД при удалении, вставке или изменении строки таблицы (экземпляра сущности). Заданные таким образом действия используются впоследствии при автоматической генерации триггеров, поддерживающих целостность данных.

Существуют следующие виды действий или правил, определяемых в логической модели:

ü RESTRICT – запрет удаления, вставки или изменения экземпляра сущности.

ü CASCADE – при удалении экземпляра родительской сущности удаление всех экземпляров дочерней сущности, ссылающихся на удаляемый родительский экземпляр.

ü SET NULL – при удалении экземпляра родительской сущности атрибутам внешнего ключа всех экземпляров дочерней сущности присваивается значение NULL.

ü SET DEFAULT – то же самое, что и в предыдущем случае, только вместо значения NULL присваивается значение по умолчанию.

ü NONE – никаких действий не предпринимается.

Эти правила задаются на вставку, удаление и изменение экземпляра как родительской, так и дочерней сущности. Таким образом, каждая связь должна обладать набором из шести правил, которые вводятся в поля, объединенные общим заголовком «RI Actions». При добавлении связи в диаграмму Erwin по умолчанию устанавливает для нее набор правил, которые можно редактировать.

Завершающим этапом подготовки логической модели является проведение нормализации данных. Erwin не содержит полного алгоритма нормализации и не может проводить нормализацию автоматически, однако его возможности облегчают создание нормализованной модели данных:

ü Erwin отмечает повторное использование имени сущности и атрибута;

ü запрещает присвоение неуникальных имен атрибутов внутри одной модели (при соответствующей установке опции Unique Name), соблюдая правило «в одном месте – один факт».

На физическом уровне возможно проведение денормализации данных – процесса, обратного нормализации. Erwin позволяет сохранить на уровне логической модели нормализованную структуру, при этом построить на уровне физической модели структуру (возможно, денормализованную), которая обеспечивает лучшую производительность, используя особенности конкретной СУБД и бизнес-правила предметной области. Erwin имеет следующие возможности по поддержке процесса денормализации:

ü Сущности, атрибуты, ключи и домены можно создавать только на уровне логической модели, включив в соответствующих редакторах опцию Logical Only. Такие объекты не будут отображаться на уровне физической модели и не будут создаваться при генерации базы данных.

ü Таблицы, колонки, домены и индексы можно создавать только на уровне физической модели (опция Physical Only).

ü При разрешении связи многие-ко-многим в физической модели создается новая таблица и структура данных может быть дополнена только на уровне физической модели.

Erwin позволяет создавать на физическом уровне представления, которые представляют собой объекты базы данных, данные в которых не хранятся постоянно, как в таблице, а формируются динамически при обращении к представлению. Представление не может существовать само по себе, а определяется только в терминах одной или нескольких таблиц.

Наши рекомендации