Создание полной
структуры
категорий.
Проводится дополнительный поиск сущностей, имеющих
общие по смыслу атрибуты с родовым предком.
Общие атрибуты переносятся в родового предка и
категория преобразуется в полную (признак полной
категории устанавливается в диалоге Subtype Relationship).
Комбинации
полной и
неполной
структур
категорий.
При необходимости создание иерархии категорий можно
продолжить. Для каждого потомка может найтись сущность
с общими атрибутами, тогда сущность – потомок
становится родовым предком для новых потомков, и т.д.
Ключи
Каждый экземпляр должен быть уникален и отличаться от других атрибутов.
Первичный ключ (primary key) – это атрибут или группа атрибутов, однозначно
идентифицирующая экземпляр сущности. Атрибуты первичного ключа на диаграмме не требуют
специального обозначения – это те атрибуты, которые находятся в списке атрибутов выше
горизонтальной линии. При внесении нового атрибута в диалоге Attribute Editor для
того, чтобы
сделать его атрибутом первичного ключа, нужно включить флажок Primary Key в нижней части
закладки General. На диаграмме неключевой атрибут можно внести в состав первичного ключа,
воспользовавшись режимом переноса атрибутов (кнопка в палитре инструментов).
Выбор первичного ключа может оказаться непростой задачей, решение которой может повлиять
на эффективность будущей ИС. В одной
сущности могут оказаться несколько атрибутов или
набор атрибутов, претендующих на роль первичного ключа. Такие претенденты называются
потенциальными ключами (candidate key).
Ключи могут быть сложными, т.е. содержащими несколько атрибутов. Сложные первичные
ключи не требуют специального обозначения – это список атрибутов выше горизонтальной линии.
Для того, чтобы стать первичным, потенциальные ключ должен удовлетворять ряду
требований:
Уникальность. Два экземпляра не должны иметь одинаковых значений возможного ключа.
Компактность. Сложный возможный ключ не должен содержать ни одного атрибута, удаление
которого не приводило бы к утрате уникальности.
При выборе первичного ключа предпочтение должно отдаваться более простым ключам, т.е.
ключам, содержащим меньшее количество атрибутов.
Атрибуты ключа не должны
содержать нулевых значений. Если для обеспечения уникальности
необходимо дополнить потенциальный ключ дополнительными атрибутами, то они не должны
содержать нулевых значений.
Значение атрибутов ключа не должно меняться в течение всего времени существования
экземпляра сущности.
Каждая сущность должна иметь, по крайней мере, один потенциальный ключ. Многие сущности
имеют только один потенциальный ключ.
Такой ключ становится первичным. Некоторые
сущности могут иметь более одного возможного ключа. Тогда один из них становится первичным,
а остальные альтернативными ключами. Альтернативный ключ (Alternate Key) – это
потенциальный ключ, не ставший первичным. ERwin позволяет выделить атрибуты
альтернативных ключей, и по умолчанию в дальнейшем при генерации схемы БД по этим
атрибутам будет генерироваться
уникальный индекс.
При работе ИС часто бывает необходимо обеспечить доступ к нескольким экземплярам сущности,
объединенных каким-либо одним признаком. Для повышения производительности в этом случае
используются неуникальные индексы. ERwin позволяет на уровне логической модели назначить
атрибуты, которые будут участвовать в неуникальных индексах. Атрибуты, участвующие в
неуникальных индексах, называются Inversion Entries (инверсионные входы).
Inversion Entry –
это атрибут или группа атрибутов, которые не определяют экземпляр сущности уникальным
образом, но часто используются для обращения к экземплярам сущности. ERwin генерирует
неуникальный индекс для каждого Inversion Entry.