Каждый атрибут хранит информацию об определенном свойстве сущности, а каждый экземпляр сущности должен быть уникальным. Атрибут или группа атрибутов, которые идентифицируют сущность, называется первичным ключом.
Очень важно дать атрибуту правильное имя. Атрибуты должны именоваться в единственном числе и иметь четкое смысловое значение. Например, создание в сущности Сотрудник атрибута Телефоны сотрудника противоречит требованиям нормализации, поскольку атрибут должен быть атомарным, т. е. не содержать множественных значений.
Для описания атрибутов следует, "кликнув" правой кнопкой по сущности, выбрать в появившемся меню пункт Attributes. Появляется диалог Attributes (рис. 6).
Рис. 6. Диалоговое окно задания атрибутов сущности
Если щелкнуть по кнопке New, то в появившемся диалоге New Attribute (рис. 7) можно указать имя атрибута (Attribute Name), имя соответствующей ему в физической модели колонки (Column Name) и домен (обощенный тип данных).
На логическом уровне поддерживаются 4 типа данных:
· Blob (большой объект, например рисунок)
· DateTime (дата/время)
· Number (числовой)
· String (символьный)
Рис. 7. Диалог New Attribute
Окно диалога для атрибута Табельный номер показано на рис. 8.
Рис. 9. Пример диалога New Attribute
Для атрибутов первичного ключа в закладке General диалога Attribute Editor необходимо сделать пометку в окне выбора Primary Key.
На рис.9 показано окно Attributes после ввода всех атрибутов сущности Сотрудник.
Рис. 9. Пример диалога Attributes для сущности Сотрудник
После задания всех атрибутов необходимо в диалоге Attributes нажать кнопку Ok. На рабочем столе появится новая сущность (рис.10)
Рис. 10. Отображение сущности на уровне атрибутов с включенными опциями Attribute Icon и Attribute Domain
|
Для отображения иконки атрибута следует щелкнуть правой кнопкой мыши по любому свободному месту диаграммы и в контекстном меню выбрать пункт Entity Display и затем включить опцию Attribute Icon. Малая иконка будет показана слева от имени атрибута. Как видно из рис. 10, имя сущности показывается над прямоугольником, изображающим сущность, список атрибутов сущности - внутри прямоугольника. Список разделен горизонтальной чертой, выше которой расположены атрибуты первичного ключа, ниже - неключевые атрибуты.
Согласно синтаксису IDEF1X имя атрибута должно быть уникально в рамках модели (а не только в рамках сущности!). По умолчанию при попытке внесения уже существующего имени атрибута Erwin переименовывает его. Например, если атрибут Комментарий уже существует в модели, другой атрибут (в другой сущности) будет назван Комментарий/2, затем Комментарш/3 и т. д. На практике такое переименование не всегда удобно, поэтому необходимо отменить эту опцию. Для этого в диалоге Duplicate Names (меню Tools – Names – Model Naming Options) следует задать режим именования атрибутов:
Allow duplicate names - позволить внесение одинаковых имен;
При переносе атрибутов внутри и между сущностями можно воспользоваться техникой drag&drop, выделив сущность с атрибутом и подвести указатель мыши к атрибуту. При этом указатель должен принять изображение руки