Что такое роль атрибута в erwin. Общие принципы работы в erwin. Типы связи. Идентифицирующие и неидентифицирующие, обязательные и необязательные связи

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

win , обратитесь к руководству по методам ER win Methods Guide .

В этой главе Вы узнаете, как:

Создавать новую связь Переносить внешние ключи на зависимые сущности Входить в редактор Relationship Входить в редактор Relationship Definition Корректировать расположение "изгиба" связи

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

Что такое связь Как входить в нужные редакторы Какие инструменты из toolbox Вам понадобятся

Анатомия связи

Данные, относящиеся к связям, очень важны и часто являются критическими данными, которые мы используем в повседневном бизнесе. Например, важно знать о каком-то типе инструмента, но знание того, к кому относится конкретный инструмент (связь между человеком и инструментом) может иметь критическую важность. Связь - это соотношение либо между двумя сущностями, либо между сущностью и этой же сущностью. Связь - "логический" объект, представленный одним или несколькими атрибутами - внешними ключами. Связь в ER

win обычно содержит пять типов информации: тип связи, родительский конец связи, дочерний конец связи, знак "обязательности" связи и кардинальность связи.

Как показать на экране меню Editor

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

1. Дайте команду переключателя "Show Editor Menu" в меню Option для того, чтобы показать меню Editor в строке меню.

2. Для того, чтобы убрать меню Editor из строки меню, повторите эту команду.

Поддержка связей в Toolbox

win Toolbox есть пять типов связей: идентифицирующая, неидентифицирующая, полный кластер подтипов, неполный кластер подтипов, неопределенная (связь"многие-ко-многим"). Идентифицирующая связь - такая связь, при которой экземпляр дочерней сущности идентифицируется через свою ассоциацию с родительской сущностью. Атрибуты первичного ключа родительской сущности становятся атрибутами первичного ключа дочерней. Неидентифицирующая связь - это такая связь, при которой экземпляр дочерней сущности не идентифицируется через свою ассоциацию с родительсой сущностью. Атрибуты первичного ключа родительской сущности становятся неключевыми атрибутами дочерней. См. также гл. 9, Связи: возможности повышенного уровня сложности, разд. "Задание неидентифицирующих связей" и "Создание связей подтипов".

1. Установите курсор на тот инструмент, который Вам нужен, и нажмите левую кнопку мыши.

идентифицирующая связь неидентифицирующая связь

2. Щелкните по родительской, а затем по дочерней сущности для создания связи.

Использование pop-up меню Editor для связей

содержит специальную сокращенную версию меню Editor для связей. Если Вы щелкнете правой кнопкой мыши по связи, находящейся в окне диаграммы, то ER win выведет на экран сокращенный, контекстно-чувствительный вариант меню Editor, которое содержит только редакторы, ориентированные на связи.
См. гл. 3, Сущности и атрибуты в
ERwin , разд. "Использование редакторов ER win ".

Если Вы установите курсор на линию связи, нажмете SHIFT и дважды щелкнете левой кнопкой мыши, то появится окно-диалог, в котором ERwin спросит Вас, хотите ли Вы открыть активный редактор для родительской или для дочерней сущности. Выберите нажатием кнопки мыши родительскую или дочернюю сущность и нажмите "ОК".

Создание связи

Создать связь в ER

win легко. В этом разделе описывается, как создать связь и ввести необходимые данные по ней.

Как создать связь

1. На Toolbox выберите инструмент, соответствующий нужному типу связи (идентифицирующая связь - простая линия с одной точкой на конце, неидентифицирующая связь - пунктирная линия, у которой может быть (но не обязательно) ромбик на одном конце и точка на другом).

2. Нарисуйте связь: щелкните сначала по родительской, а затем по дочерней сущности.

Когда Вы сформируете связь, то ключ родительской сущности автоматически появится в качестве части ключа дочерней (для идентифицирующей связи) или в качестве неключевого атрибута дочерней сущности (для неидентифицирующей связи), причем рядом с ним будет стоять (FK), то есть внешний ключ, Foreign Key. Эта операция изменения дочерней сущности вследствие создания связи называется миграцией ключа

.

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

Работа в редакторе Relationship

Связи, как и сущности, могут иметь имена и метки. Эти метки называются глагольными фразами, они должны описывать, каким образом родительская сущность связана с дочерней. Редактор Relationship позволяет Вам задать глагольную фразу, кардинальность и отношение к нулевым значениям для связи.

Вы можете также задать в редакторе Relationship имя роли для атрибута - внешнего ключа. См. также гл. 8, Сущности и атрибуты: возможности повышенного уровня сложности, разд. "Использование имен ролей атрибутов".

Как открыть редактор Relationship

1. Дайте команду "Relationship" в меню Editor.

2. Дважды щелкните по линии той связи, которую Вы хотите редактировать. Вы войдете в редактор Relatio

nship.

Установите курсор на линию связи и щелкните правой кнопкой мыши. Вы войдете в pop-up меню Editor. Дайте в нем команду "Relationship".

Как пользоваться редактором Relationship

1. Введите имя, которое идентифицирует связь, в окно "Verb Phrase".

Обычно именем связи служит глагольная фраза (verb phrase). Старайтесь, чтобы имена связей как можно более полно их описывали! Редактор Relationship показывает первые четыре строки глагольной фразы и позволяет Вам вводить и просматривать даже большее число строк.

Для перехода на новую строку используйте клавишу "Возврат каретки". ER

win изображает глагольную фразу на диаграмме в то самое время, когда Вы вводите ее в редакторе.

2. Рядом с областью для ввода глагольной фразы находится список "Foreign Keys", который содержит все внешние ключи, которые возникли в результате миграции при задании текущей связи.

3. Если тип связи еще не задан, задайте его нажатием на кнопку выбора: "Identifying" или "Non-Identifying".

4. Нажмите нужные кнопки выбора в окнах "Cardinality" и "Nulls" для задания кардинальности и режима нулевых значений для текущей связи.

5. Если Вы хотите связать имя роли с внешним ключом, щелкните по атрибуту в окне-списке "Foreign Key" и введите имя роли в текстовое окно "Role Name".

См. гл. 8, Сущности и атрибуты: возможности повышенного уровня сложности, разд. "Использование имен ролей атрибутов".

Как просматривать окно VERb Phrase

Вы можете пользоваться стрелками для прокручивания текста в окне "Verb Phrase" для того, чтобы просмотреть весь текст длинной глагольной фразы.

Задание кардинальности связи

Кардинальность связи

служит для обозначения отношения числа экземпляров родительской сущности к числу экземпляров дочерней. Родительская сущность может связываться с дочерней одним из четырех способов. В IDEF1X кардинальность бинарных отношений равна 1:n, где n может принимать значения: 0, 1 или более - обозначается "пустым местом"
Каждая родительская сущность связана с 0, 1 или более экземпляров дочерней.
1 или более - обозначается буквой "Р"
Каждая родительская сущность связана с 1 или более экземпляров дочерней.
0 или 1 - обозначается буквой "Z"
Каждая родительская сущность связана с 0 или 1 экземпляром дочерней.
ровно n, где "n" - некоторое число
Каждая родительская сущность связана с ровно n экземплярами дочерней.

Редактор Relationship также позволяет Вам задавать кардинальность связи.

1. Находясь в редакторе Relationship, нажмите кнопку выбора, обозначающую нужную Вам кардинальность.

2. Если Вы нажали кнопку "Exactly", то необходимо ввести число.

Если Вы задали этот режим и не ввели число, то ER

win не даст Вам выйти из окна-диалога.

Как показать кардинальность связи

позволяет Вам показать кардинальность связи на диаграмме.

Как показать или убрать кардинальность связи

1. Дайте команду "Cardinality" в меню Display.

2. Для того, чтобы убрать информацию о кардинальности, повторите эту команду.

См. также гл. 11, Документирование правил (Business Rules), разд. "Использование кардинальности связи для выражения правил".

Задание режима Null (нулевых значений)

В редакторе Relationship Вы можете задать также режим "нулевых значений". Он относится к случаю, когда значения нет: это пустое множество или "нет колонки". Атрибут, который может принимать нулевое значение, считается "необязательным" и на диаграмме изображается как ромбик на родительском конце связи. Вы можете задать этот режим и в других местах, но вообще говоря, первая такая возможность предоставляется именно в этом редакторе.

Как задать "обязательную" или
"необязательную" связь

1. Находясь в редакторе Relationship, нажмите кнопку "No Nulls" для задания "обязательной" связи (ромбик на родительском конце отсутствует), или нажмите кнопку "Nulls Allowed" для задания "необязательной" связи (с ромбиком на родительском конце).

Работа в редакторе Relationship Definition

Вы можете также захотеть дать более полное определение Вашей связи для того, чтобы в дальнейшем иметь возможность на него ссылаться. Это делается в редакторе Relanship Definition.

1. Дайте команду "Relationship Definition" в меню Editor, если Вы еще ее не давали.

2. Дважды щелкните по той связи, которую Вы хотите отредактировать.

Установите курсор на ту связь, которую Вы хотите отредактировать, и нажмите правую кнопку мыши. Дайте команду "Relationship Definition" в меню Editor.

Если при попытке дважды щелкнуть по связи Вы получили сообщение "Select an Object First", это значит, что Вы щелкнули не точно по линии связи. Нажмите кнопку "ОК" в окне сообщения, для того чтобы убрать его с экрана, и попробуйте снова. Постарайтесь щелкнуть точно по линии.

Как пользоваться редактором Relationship Definition

1. Имя связи, если оно есть, находится в окне "Verb Phrase". Если хотите, можете его отредактировать.

2. Отредактируйте, как нужно, физическое имя связи "Relationship Physical Name".

3. Введите определение в окно "Rel

ationship Definition".

4. После того, как Вы закончите работу, нажмите кнопку "ОК" для того, чтобы сохранить информацию и выйти из редактора. Для выхода из редактора без сохранения изменений нажмите кнопку "Cancel".

Коррекция связей

Если Вам не нравится форма линии связи, ее можно изменить. Для этого Вам нужно захватывать мышью углы линии связи и переносить их с места на место, пока линия не начнет выглядеть лучше.

Как откорректировать связь

1. Щелкните по той связи, которую Вы хотите отредактировать. На экране появится "рычаг" связи (темный квадрат) . Он определяет место на линии связи, которое можно переносить.

2. Щелкните по любому месту того сегмента линии связи, где изображен рычаг.

3. Не отпуская левой кнопки мыши, измените расположение линии связи в соответствии с Вашим вкусом и затем отпустите кнопку мыши.

Никогда не забывайте регулярно сохранять изменения, которые Вы вносите в диаграмму.

Краткое повторение главы 4

Как показать или убрать меню Editor

Дайте команду "Show Editor Menu" в меню Option для того, чтобы показать меню Editor в строке меню. Для того, чтобы убрать меню Editor из строки меню, повторите эту команду.

Как пользоваться инструментами, ориентированными на связь

Установите курсор на нужный Вам инструмент и щелкните левой кнопкой мыши.

Как создать новую связь

Щелкните по одной из пиктограмм на Toolbox, обозначающих связь, а затем щелкните сначала по родительской сущности, затем - по дочерней.

Как произвести миграцию внешних ключей в зависимые сущности

Ничего не делайте. ERwin автоматически производит миграцию внешних ключей при создании связи. Никогда не вводите внешние ключи самостоятельно.

Как войти в редактор Relationship

Убедитесь, что режим "Relationship" активен в меню Editor, а затем дважды щелкните по той связи, которую Вы хотите отредактировать.

Как задать кардинальность связи

Находясь в редакторе Relationship, нажмите одну из кнопок выбора в окне "Cardinality" для того, чтобы задать кардинальность связи. Если Вы нажали кнопку "Exactly", то необходимо ввести точное значение кардинальности в текстовое окно, расположенное рядом с названием кнопки.

Как войти в редактор Relationship Definition

Убедитесь, что режим "Relationship Definition" активен в меню Editor, а затем дважды щелкните по той связи, которую Вы хотите отредактировать.

Как откорректировать форму линии связи

Щелкните по одному из углов на линии и двигайте его, пока линия не станет более красивой.

Связь является логическим соотношением между сущностями. Каждая связь должна именоваться глаголом или глагольной фразой. Имя связи выражает некоторое ограничение или бизнес-правило и облегчает чтение диаграммы. По умолчанию имя связи на диаграмме не показывается. На логическом уровне можно установить идентифицирующую связь "один-ко-многим", связь "многие-ко-многим" и неидентифицирующую связь "один-ко-многим". Связь - это понятие логического уровня, которому соответствует внешний ключ на физическом уровне. В ERwin связи представлены пятью основными элементами информации:

● тип связи (идентифицирующая, неидентифицирующая, полная/неполная категория, неспецифическая связь);

● родительская сущность;

● дочерняя (зависимая) сущность;

● мощность связи (cardinality);

● допустимость пустых (null) значений.

В IDEFIX различают зависимые и независимые сущности. Тип сущности определяется ее связью с другими сущностями. Идентифицирующая связь устанавливается между независимой (родительской) и зависимой (дочерней) сущностями. Зависимая сущность изображается прямоугольником со скругленными углами. При установлении идентифицирующей связи атрибуты первичного ключа родительской сущности автоматически переносятся в состав первичного ключа дочерней сущности. Эта операция дополнения атрибутов дочерней сущности при создании связи называется миграцией атрибутов. В дочерней сущности новые атрибуты помечаются как внешний ключ - FK.

При установлении неидентифицирующей связи дочерняя сущность остается независимой, а атрибуты первичного ключа родительской сущности входят в состав неключевых атрибутов дочерней сущности. Неидентифицирующая связь служит для связывания независимых сущностей. Для определения связей ERwin выбирается тип связи, затем мышью указывается родительская и дочерняя сущность. Идентифицирующая связь изображается сплошной линией; не идентифицирующая - пунктирной линией. Линии заканчиваются точкой со стороны дочерней сущности.

Мощность связей (Cardinality) - служит для обозначения отношения числа экземпляров родительской сущности к числу экземпляров дочерней.

Различают четыре типа сущности:

· общий случай, когда одному экземпляру родительской сущности соответствуют 0, 1 или много экземпляров дочерней сущности; не помечается каким-либо символом;

· символом Р помечается случай, когда одному экземпляру родительской сущности соответствуют 1 или много экземпляров дочерней сущности (исключено нулевое значение);

· символом Z помечается случай, когда одному экземпляру родительской сущности соответствуют 0 или 1 экземпляр дочерней сущности (исключены множественные значения);

· цифрой помечается случай точного соответствия, когда одному экземпляру родительской сущности соответствует заранее заданное число экземпляров дочерней сущности.

· допустимость пустых (NULL) значений в не идентифицирующих связях ERwin изображает пустым ромбиком на дуге связи со стороны родительской сущности.

Имя связи на логическом уровне представляет собой глагол, связывающий сущности. Физическое имя связи (которое может отличаться от логического) для ERWin означает имя ограничения или индекса. Для отображения имени связи выберите опцию в меню: Format/Relationship Display/Verb phrase.

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

Например, сущность «входящий документ» может быть как запросом, так и распоряжением. Первые и вторые имеют различные, частично пересекающиеся наборы атрибутов (минимальное пересечение подтипов составляет первичный ключ). Общая часть этих атрибутов, включая первичный ключ, помещается в сущность-супертип «входящий документ». Различная часть (например, данные о содержании, отправителе) помещается в сущности-подтипы.

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

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

Рисунок 1.4 - Пример неполного множества категорий

Рисунок 1.5 - Пример полного множества категорий

3. Сущность может быть общей сущностью в любом количестве отношений категоризации.

4. Атрибуты первичного ключа сущности-категории должны совпадать с атрибутами первичного ключа общей сущности.

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

Роли.

Имя роли (функциональное имя) – это синоним атрибута внешнего ключа, который показывает, какую роль играет атрибут в дочерней сущности. По умолчанию в списке атрибутов показываются только имя роли. Для отображения полного имени атрибута (как функционального имени, так и имени роли) следует в контекстном меню выбрать пункт Format/ Entity Display и затем включить опцию Rolename/Attribute. Полное имя показывается как функциональное имя и базовое имя, разделенные точкой. Имя роли задается на вкладке Rolename диалогового окна Relationship. Это окно вызывается двойным щелчком мыши по линии связи.

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

Представления.

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

6. Моделирование в ERwin

Место ERwin в информационном моделировании
Процесс построения информационной модели состоит из следующих шагов:

  • определение сущностей;
  • определение зависимостей между сущностями;
  • задание первичных и альтернативных ключей;
  • определение атрибутов сущностей;
  • приведение модели к требуемому уровню нормальной формы;
  • переход к физическому описанию модели: назначение соответствий имя сущности - имя таблицы, атрибут сущности - атрибут таблицы; задание триггеров, процедур и ограничений;
  • генерация базы данных.

ERwin создает визуальное представление (модель данных) для решаемой задачи. Это представление может использоваться для детального анализа, уточнения и распространения как части документации, необходимой в цикле разработки. Однако ERwin далеко не только инструмент для рисования. ERwin автоматически создает базу данных (таблицы, индексы, хранимые процедуры, триггеры для обеспечения ссылочной целостности и другие объекты, необходимые для управления данными).

Отображение логического и физического уровня модели данных в ERwin

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

Компоненты диаграммы ERwin и основные виды представлений диаграммы

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

  • Режим "сущности" - внутри прямоугольников отображается имя сущности (для логической модели) или имя таблицы (для физического представления модели); служит для удобства обзора большой диаграммы или размещения прямоугольников сущностей на диаграмме.
  • Режим "определение сущности" служит для презентации диаграммы другим людям.
  • Режим "атрибуты". При переходе от предметной области к модели требуется вводить информацию о том, что составляет сущность. Эта информация вводится путем задания атрибутов (на физическом уровне - колонок таблиц). В этом режиме прямоугольник-сущность делится линией на две части - в верхней части отображаются атрибуты (колонки), составляющие первичный ключ, а в нижней - остальные атрибуты. Этот режим является основным при проектировании на логическом и физическом уровнях.
  • Режим "первичные ключи" - внутри прямоугольников - сущностей показываются только атрибуты/колонки, составляющие первичный ключ.
  • Режим "пиктограммы". Для презентационных целей каждой таблице может быть поставлена в соответствие пиктограмма (bitmap).
  • Режим "показ глагольной фразы". На дугах связей показываются глагольные фразы, связывающие сущности (для логического уровня) или имена внешних ключей (для физического уровня).

Диаграмма может занимать более чем один экран и более чем один лист при печати. Для обзора модели предусмотрены, кроме прокруток экрана, режимы уменьшения/увеличения изображения, отображение всей модели, отображение выделенной части модели.

Инструменты для создания модели в ERwin

Основные инструменты создания модели доступны как из меню, так и через окно инструментов. С их помощью создаются независимые и зависимые сущности, идентифицирующие и неидентифицирующие связи, полные и неполные категории, неспецифические связи и текстовые элементы.
Нажатием мыши над сущностью производится вход в один из многочисленных редакторов ERwin:

  • редакторы, связанные с сущностью в целом (определение сущности, дополнительная информация, триггеры, индексы, характеристики таблицы, хранимые процедуры, связанные с таблицей);
  • редакторы атрибутов (определение атрибутов, колонки таблицы в физическом представлении модели, репозитарий средства 4GL, например, расширенные атрибуты в PowerBuilder).

Идентификация сущностей. Сущности в ERwin

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

  • атрибуты, составляющие первичный ключ;
  • неключевые атрибуты;
  • тип сущности (независимая/зависимая).

Первичный ключ - это атрибут или набор атрибутов, уникально идентифицирующий экземпляр сущности. Если несколько наборов атрибутов могут уникально идентифицировать сущность, то выбор одного из них осуществляется разработчиком на основании анализа предметной области.
Для каждого первичного ключа ERwin создает при генерации структуры БД уникальный индекс.
Экземпляры независимой сущности могут быть уникально идентифицированы без определения ее связей с другими сущностями; зависимая сущность, наоборот, не может быть уникально идентифицирована без определения ее связей с другими сущностями. Зависимая сущность отображается в ERwin прямоугольником с закругленными углами.

Связи (relationships) в ERwin

Связь - это функциональная зависимость между двумя сущностями (в частности, возможна связь сущности с самой собой). Например, важно знать фамилию сотрудника, и не менее важно знать, в каком отделе он работает. Таким образом, между сущностями "отдел" и "сотрудник" существует связь "состоит из" (отдел состоит из сотрудников). Связь - это понятие логического уровня, которому соответствует внешний ключ на физическом уровне. В ERwin связи представлены пятью основными элементами информации:

  • тип связи (идентифицирующая, неидентифицирующая, полная/неполная категория, неспецифическая связь);
  • родительская сущность;
  • дочерняя (зависимая) сущность;
  • мощность связи (cardinality);
  • допустимость пустых (null) значений.

Связь называется идентифицирующей, если экземпляр дочерней сущности идентифицируется через ее связь с родительской сущностью. Атрибуты, составляющие первичный ключ родительской сущности, при этом входят в первичный ключ дочерней сущности. Дочерняя сущность при идентифицирующей связи всегда является зависимой.
Связь называется неидентифицирующей, если экземпляр дочерней сущности идентифицируется иначе, чем через связь с родительской сущностью. Атрибуты, составляющие первичный ключ родительской сущности, при этом входят в состав неключевых атрибутов дочерней сущности.
Для определения связей ERwin выбирается тип связи, затем мышью указывается родительская и дочерняя сущность. Идентифицирующая связь изображается сплошной линией; неидентифицирующая - пунктирной линией. Линии заканчиваются точкой со стороны дочерней сущности.
При определении связи происходит миграция атрибутов первичного ключа родительской сущности в соответствующую область атрибутов дочерней сущности. Поэтому такие атрибуты не вводятся вручную.
Атрибуты первичного ключа родительской сущности по умолчанию мигрируют со своими именами. ERwin позволяет ввести для них роли, т.е. новые имена, под которыми мигрирующие атрибуты будут представлены в дочерней сущности. В случае неоднократной миграции атрибута такое переименование необходимо. Например, сущность "посредническая сделка" имеет атрибут "код предприятия-продавца" и "код предприятия-покупателя". В данном случае первичный ключ сущности "предприятие" ("код предприятия") имеет две роли в дочерней сущности.
На физическом уровне имя роли - это имя колонки внешнего ключа в дочерней таблице.
Мощность связи представляет собой отношение количества экземпляров родительской сущности к соответствующему количеству экземпляров дочерней сущности. Для любой связи, кроме неспецифической, эта связь записывается как 1:n.
ERwin в соответствии с методологией IDEF1X предоставляет 4 варианта для n, которые изображаются дополнительным символом у дочерней сущности: ноль, один или больше (по умолчанию); ноль или один; ровно N, где N - конкретное число.
Допустимость пустых (NULL) значений в неидентифицирующих связей ERwin изображает пустым ромбиком на дуге связи со стороны родительской сущности.
Обозначения мощности соответственно ноль, один или больше, один или больше, ноль или один в нотации IE приведены на рис. 1.

Рис.1. Обозначения мощности связи в нотации IE

Имя связи на логическом уровне представляет собой "глагол", связывающий сущности. Физическое имя связи (которое может отличаться от логического) для ERwin означает имя ограничения (constraint) или индекса.

Графическое редактирование модели

Описание интерфейса ERwin. Интерфейс CASE - средства ERwin состоит их трех основных частей. Первая - это главное меню и панели инструментов.

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

Рис. 5.3.

Вторая - это Model Explorer. Она содержит три закладки: Model, Subject Areas и Domains. Чаще всего в Model Explorer применяется закладка Domains или Model (которая содержит все объекты и модели). В Domains отображаются соответственно домены, в Subject Areas - отображаемые области (рис. 5.4).

Рис. 5.4.

И третья - непосредственно область, отведенная для создания модели объектов, в которой создаются и редактируются все объекты модели. Снизу появляются закладки с именами запомненных хранимых отображений (Stored Displays) (рис. 5.5).


Рис. 5.5.

ERwin имеет два уровня представления данных модели: логический и физический. Логический уровень - это абстрактный взгляд на данные, на нем данные представляются так, как выглядят в реальном мире, например «Заказчик», «Цех» или «Фамилия сотрудника». Объекты модели, представляемые на логическом уровне, называются сущностями и атрибутами. Логическая модель данных может быть построена на основе другой логической модели, например модели процессов. Логическая модель данных является универсальной и никак не связана с конкретной реализацией СУБД.

Физическая модель данных, напротив, зависит от конкретной СУБД, фактически являясь отображением системного каталога. В физической модели содержится информация обо всех объектах БД. Поскольку стандартов на объекты БД не существует (например, нет стандарта на типы данных), физическая модель зависит от конкретной реализации СУБД. Следовательно, одной и той же логической модели могут соответствовать несколько разных физических моделей. Если в логической модели не имеет значения, какой конкретно тип данных имеет атрибут, то в физической модели важно описать всю информацию о конкретных физических объектах - таблицах, колонках, индексах, процедурах и т. д. Разделение модели на логические и физические позволяет решить много важных задач.

ERwin имеет несколько уровней отображения диаграммы: уровень сущностей, уровень атрибутов, уровень определений, уровень первичных ключей и уровень иконок. Переключиться между первыми тремя уровнями можно с использованием кнопок панели инструментов. Переключиться на другие уровни отображения можно при помощи контекстного меню, которое появляется, если «кликнуть» по любому месту диаграммы, не занятому объектами модели. В контекстном меню следует выбрать пункт Display Level и затем необходимый уровень отображения. ERwin позволяет связать с сущностью большую и малую иконки. При переключении на уровень иконок показывается большая иконка. Для отображения малой иконки следует выбрать в контекстном меню пункт Entity Display/Entity Icon. Маленькая иконка будет показана слева от имени сущности на всех уровнях отображения модели.

Установка цвета и шрифта. Установить шрифт и цвет объектов в ERwin можно несколькими способами. Во-первых, для установки цвета и шрифта объекта служит Font and Color Toolbar, которая располагается под основной панелью. Для редактирования шрифта и цвета конкретного объекта следует, щелкнув правой кнопкой мыши по сущности или связи и выбрав из всплывающего меню пункт Object Font & Color..., вызвать диалог Font/Color Editor, в котором определяются имя, описание и комментарии сущности. В диалоге Font/Color Editor можно выбрать шрифт и установить его размер, стиль и цвет, установить цвет заливки (свойство Fill Color, только для сущностей) и цвет линий (свойство Outline Color, только для сущностей).

При создании реальных моделей данных количество сущностей и атрибутов может исчисляться сотнями. Для более удобной работы с большими моделями в ERwin предусмотрены подмножества модели (Subject Areas), в которые можно включить тематически общие сущности. В подмножество модели может входить произвольный набор сущностей, связей и текстовых комментариев. Для создания, удаления или редактирования подмножеств модели нужно вызвать диалог Subject Areas (меню Model/Subject Areas...), в котором указывается имя подмножества и входящие в нее сущности. Все изменения, сделанные в любой Subject Area, автоматически отображаются на общей модели. Одна и та же сущность может входить в несколько Subject Area.

Хранимое отображение (Stored Display) - представление подмножества модели, отображающее специфический аспект структуры данных. Одна Subject Area может включать в себя несколько хранимых отображений. В хранимое отображение входят те же самые сущности и связи, что и в Subject Area, но они могут по-разному располагаться на экране, иметь разные уровни, различный масштаб и цвет объектов или фона.

Для создания хранимого отображения служит диалог Stored Displays (меню Format/Stored Display Settings...). Для переключения между хранимыми отображениями служат закладки в нижней части диаграммы.

Основные компоненты диаграммы ERwin - это сущности, атрибуты и связи. Каждая сущность является множеством подобных индивидуальных объектов, называемых экземплярами. Каждый экземпляр индивидуален и должен отличаться от всех остальных экземпляров. Атрибут выражает определенное свойство объекта. С точки зрения БД (физическая модель) сущности соответствует таблица, экземпляру сущности - строка в таблице, а атрибуту - колонка таблицы.

Создание логической модели данных предметной области «Мебель под заказ». Создаваемая логическая модель повторяет структуру проектируемой ИС. Для того чтобы создать сущность в области для создания моделей объектов, необходимо (убедившись предварительно, что вы находитесь на уровне логической модели: переключателем между логической и физической моделью служит раскрывающийся список в правой части панели инструментов) «кликнуть» по кнопке сущности на панели инструментов (ERwin Toolbox) Q , затем «кликнуть» по тому месту на диаграмме, где необходимо расположить новую сущность. Щелкнув правой кнопкой мыши по сущности и выбрав из всплывающего меню пункт Entity Properties..., можно вызвать диалог Entities, в котором определяются имя, описание и комментарии сущности (например, имя сущности - поставщик, описание - данные о поставщике). Каждая сущность определяется с помощью текстового описания в закладке Definition. Закладки Note, Note 2, Note 3, UDP (User Defined Properties - Свойства, определенные пользователем) служат для внесения дополнительных комментариев к сущности. Следующим шагом является создание атрибутов сущности. Как было указано выше, каждый атрибут хранит информацию об определенном свойстве сущности, а каждый экземпляр сущности должен быть уникальным. Атрибут или группа атрибутов, которые идентифицируют сущность, называется первичным ключом. Для создания атрибутов следует, «кликнув» правой кнопкой по сущности, выбрать в появившемся меню пункт Attributes.... Появляется диалог Attributes. Если щелкнуть по кнопке New..., то в появившемся диалоге New Attribute указываем имя атрибута, имя соответствующей ему в физической модели колонки и домен (например, имя атрибута - наименование поставщика). Домен атрибута будет использоваться при определении типа колонки на уровне физической модели. Для атрибутов первичного ключа в закладке General диалога Attributes необходимо сделать пометку в окне выбора Primary Key.

Для отображения иконки атрибута следует выбрать в контекстном меню пункт Entity Display и в каскадном меню включить опцию Attribute Icon. Малая иконка будет показана слева от имени атрибута на уровне атрибутов отображения модели. Имя сущности показывается над прямоугольником, изображающим сущность, список атрибутов сущности - внутри прямоугольника. Список разделен горизонтальной чертой, выше которой расположены атрибуты первичного ключа, ниже - неключевые атрибуты. Атрибуты должны именоваться в единственном числе и иметь четкое смысловое значение. Соблюдение этого правила позволяет частично решить проблему нормализации данных уже на этапе определения атрибутов. Например, создание в сущности Поставщик атрибута Телефоны поставщика противоречит требованиям нормализации, поскольку атрибут должен быть атомарным, т. е. не содержать множественных значений. Согласно синтаксису IDEF1X имя атрибута должно быть уникально в рамках модели (а не только в рамках сущности!). Каждый экземпляр сущности должен быть уникален и отличаться от других атрибутов. Следующим шагом создания модели является установление связей между сущностями. Каждая связь должна именоваться глаголом или глагольной фразой (Relationship Verb Phrases рис. 5.6). Имя связи выражает некоторое ограничение или бизнес-правило и облегчает чтение диаграммы, например:

Каждый ЗАКАЗЧИК ЗАКАЗы;

Каждый ЗАКАЗ ДИЗАЙН.

Рис. 5.В. Имя связи - Relationship Verb Phrases

Для создания новой связи следует:

  • установить курсор на нужной кнопке в палитре инструментов (идентифицирующая или неидентифицирующая связь) и нажать левую кнопку мыши;
  • щелкнуть сначала по родительской, а затем по дочерней сущности. При установлении связей между сущностями атрибуты первичного ключа родительской сущности мигрируют в качестве внешних ключей в дочернюю сущность. По умолчанию имя связи на диаграмме не показывается. Для отображения имени следует в контекстном меню, которое появляется, если щелкнуть левой кнопкой мыши по любому месту диаграммы, не занятому объектами модели, выбрать пункт Relationship Display и в контекстном меню включить опцию Verb Phrase.

Логическая модель данных предметной области «Мебель под заказ» приведена на рис. 5.7.


Рис. 5.7.

Полная атрибутивная модель представляет данные в третьей нормальной форме и включает все сущности атрибуты и связи и представлена на рис. 5.8.

На уровне сущностей модель представлена на рис. 5.9.

На рис. 5.10 представлена модель данных на уровне определений.

Рис. 5.8.

Рис. 5.Э. Уровень сущностей модели данных

Лабораторна рОбота №3. Моделирование баз данных средствами Erwin

Цель работы – приобретение студентами практических навыков создания логических и физических моделей данных с помощью CASE – средств разработки информационных систем.

Основные сведения

Система ERwin поддерживает прямое и обратное моделирование баз данных. При прямом моделировании схема базы данных описывается в прямом виде с использованием диаграммы сущность-связь. Сущности на диаграмме представляются прямоугольниками. Каждый прямоугольник может иметь различные визуальные атрибуты. Каждой сущности должно быть присвоено уникальное имя. Имена сущностей необходимо задавать в единственном числе. Это определяется тем, что система всегда оперирует отдельными экземплярами сущности. При этом отдельные экземпляры сущности рассматриваются как объекты, а сущности – как класс объектов. Если сущности были описаны при моделировании в BPwin, то их можно просто импортировать в ERwin. Пример диаграммы с созданными сущностями приведен на рисунке.

Рисунок 4 - Пример диаграммы с созданными сущностями

Построение моделей в ERwin

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

ERwin предоставляет возможности создавать и управлять этими двумя различными уровнями представления одной диаграммы (модели), равно как и иметь много вариантов отображения на каждом уровне. Термин "логический уровень" в ERwin соответствует концептуальной модели.

Этапы построения информационной модели.

  • определение сущностей;
  • определение зависимостей между сущностями;
  • задание первичных и альтернативных ключей;
  • определение атрибутов сущностей;
  • приведение модели к требуемому уровню нормальной формы;
  • переход к физическому описанию модели: назначение соответствий имя сущности - имя таблицы, атрибут сущности - атрибут таблицы;
  • задание триггеров, процедур и ограничений;
  • генерация базы данных.

Erwin создает визуальное представление (модель данных) для решаемой задачи. Это представление может использоваться для детального анализа, уточнения и распространения документации, необходимой в цикле разработки. Однако ERwin далеко не только инструмент для рисования. ERwin автоматически создает базу данных (таблицы, индексы, хранимые процедуры, триггеры для обеспечения ссылочной целостности и другие объекты, необходимые для управления данными).

Создание сущности.

Для внесения сущности в модель необходимо щелкнуть по кнопке сущности на панели инструментов (Erwin Toolbox) , затем - по тому месту на диаграмме, где необходимо расположить новую сущность. Щелкнув правой кнопкой мыши по сущности и выбрав из всплывающего меню пункт Entity Editor, можно вызвать диалог Entity Editor, в котором определяются имя, описание и комментарии сущности.

Каждая сущность должна быть полностью определена с помощью текстового описания в закладке Definition. Эти определения полезны как на логическом уровне, поскольку позволяют понять, что это за объект, так и на физическом уровне, поскольку их можно экспортировать как часть схемы и использовать в реальной БД (CREATE COMMENT on entity_name ). Закладки Note, Note2, Note3, UDP (User Defined Properties - Свойства, определенные пользователем) служат для внесения дополнительных комментариев и определений к сущности.

В закладке Icon каждой сущности можно поставить в соответствие изображение, которое будет отображаться в режиме просмотра модели на уровне иконок и изображение, которое будет отображаться на всех других уровнях.

Закладка UDP диалога Entity Editor служит для определения свойств, определяемых пользователем (User - Defined Properties). При нажатии на кнопку этой закладки вызывается диалог User - Defined Property Editor (также вызывается из меню Edit/UDPs). В нем необходимо указать вид объекта, для которого заводится UDP (диаграмма в целом, сущность, атрибут и т.д.) и тип данных. Для внесения нового свойства следует щелкнуть в таблице по кнопке и внести имя, тип данных, значение по умолчанию и определение.

Создание атрибутов.

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

Рисунок 5 - Создание нового домена Рисунок 6 - Указание свойств нового домена

Рисунок 7 - Значение по умолчанию для нового домена

Рисунок 8 - Использование домена для указания типа данных атрибуту.

Для описания атрибутов следует, щелкнув правой кнопкой по сущности, выбрать в появившемся меню пункт Attribute Editor. Появится диалог Attribute Editor.

Если щелкнуть по кнопке New, то в появившемся диалоге New Attribute можно указать имя атрибута, имя соответствующей ему в физической модели колонки и домен. Домен атрибута будет использоваться при определении типа колонки на уровне физической модели.

Для атрибутов первичного ключа в закладке General диалога Attribute Editor необходимо сделать пометку в окне выбора Primary Key.
Закладки Definition, Note и UDP несут те же функции, что и при определении сущности, но на уровне атрибутов.

Для большей наглядности диаграммы каждый атрибут можно связать с иконкой. Это можно сделать при помощи списка выбора Icon в закладке General.

Очень важно дать атрибуту правильное имя. Атрибуты должны именоваться в единственном числе и иметь четкое смысловое значение.

Согласно синтаксису IDEF1X, имя атрибута должно быть уникальным в рамках модели (а не только в рамках сущности!). По умолчанию при попытке внесения уже существующего имени атрибута ERwin переименовывает его. Например, если атрибут Комментарий уже существует в модели, другой атрибут (в другой сущности) будет назван Комментарий/2, затем Комментарий/3 и т.д.
При переносе атрибутов внутри и между сущностями можно воспользоваться техникой drag&drop, выбрав кнопку в палитре инструментов.

Для создания новой связи следует выбрать идентифицирующую или неидентифицирующую связь в палитре инструментов (ERwin Toolbox), щелкнуть сначала по родительской, а затем по дочерней сущности.
В палитре инструментов кнопка соответствует идентифицирующей связи, кнопка связи многие-ко-многим и кнопка соответствует неидентифицирующей связи. Для редактирования свойств связи следует щелкнуть правой кнопкой мыши по связи и выбрать на контекстном меню пункт Relationship Editor.

В закладке General появившегося диалога можно задать мощность, имя и тип связи.

Мощность связи (Cardinality) - служит для обозначения отношения числа экземпляров родительской сущности к числу экземпляров дочерней.
Различают четыре типа мощности:

· общий случай, когда одному экземпляру родительской сущности соответствуют 0, 1 или много экземпляров дочерней сущности, не помечается каким-либо символом;

· символом P помечается случай, когда одному экземпляру родительской сущности соответствуют 1 или много экземпляров дочерней сущности (исключено нулевое значение);

· символом Z помечается случай, когда одному экземпляру родительской сущности соответствуют 0 или 1 экземпляр дочерней сущности (исключены множественные значения);

· цифрой помечается случай, когда одному экземпляру родительской сущности соответствует заранее заданное число экземпляров дочерней сущности.

По умолчанию символ, обозначающий мощность связи, не показывается на диаграмме. Для отображения имени следует в контекстном меню, которое появляется, если щелкнуть правой кнопкой мыши по любому месту диаграммы, не занятому объектами модели, выбрать пункт Display Options/Relationship и затем включить опцию Cardinality.

Тип связи (идентифицирующая/неидентифицирующая).

В IDEF1X различают зависимые и независимые сущности. Тип сущности определяется ее связью с другими сущностями. Идентифицирующая связь устанавливается между независимой (родительский конец связи) и зависимой (дочерний конец связи) сущностями. Когда рисуется идентифицирующая связь, ERwin автоматически преобразует дочернюю связь в зависимую. Зависимая сущность изображается прямоугольником со скругленными углами.

Экземпляр зависимой сущности определяется только через отношение к родительской сущности. При установлении идентифицирующей связи атрибуты первичного ключа родительской сущности автоматически переносятся в состав первичного ключа дочерней сущности. Эта операция дополнения атрибутов дочерней сущности при создании связи называется миграцией атрибутов. В дочерней сущности новые атрибуты помечаются как внешние ключи - (FK).

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

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

Для неидентифицирующей связи можно указать обязательность (Nulls в закладке General диалога Relationship Editor). В случае обязательной связи (No Nulls) при генерации схемы БД атрибут внешнего ключа получит признак NOT NULL, несмотря на то, что внешний ключ не войдет в состав первичного ключа дочерней сущности. В случае необязательной связи (Nulls Allowed) внешний ключ может принимать значение NULL. Необязательная неидентифицирующая связь помечается прозрачным ромбом со стороны родительской сущности

Имя связи (Verb Phrase) - фраза, характеризующая отношение между родительской и дочерней сущностями. Для связи один-ко-многим идентифицирующей или неидентифицирующей достаточно указать имя, характеризующей отношение от родительской к дочерней сущности (Parent-to-Child). Для связи многие-ко-многим следует указывать имена как Parent-to-Child, так и Child-to-Parent. Для отображения имени следует в контекстном меню, которое появляется, если щелкнуть правой кнопкой мыши по любому месту диаграммы, не занятому объектами модели, выбрать пункт Display Options/Relationship и затем включить опцию Verb Phrase.

Имя роли или функциональное имя (Rolename) - это синоним атрибута внешнего ключа, который показывает, какую роль играет атрибут в дочерней сущности. Задать имя роли можно в закладке Rolename/RI Actions диалога Relationship Editor.

Создание ключей.

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

Первичный ключ (primary key) - это атрибут или группа атрибутов, однозначно идентифицирующие экземпляр сущности. Атрибуты первичного ключа на диаграмме не требуют специального обозначения - это те атрибуты, которые находятся в списке атрибутов выше горизонтальной линии. При внесении нового атрибута в диалоге Attribute Editor для того, чтобы сделать его атрибутом первичного ключа, нужно включить флажок Primary Key в нижней части закладки General. На диаграмме ключевой атрибут можно внести в состав первичного ключа, воспользовавшись режимом переноса атрибутов (кнопка в палитре инструментов).

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

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

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

Альтернативный ключ (Alternative Key) - это потенциальный ключ, не ставший первичным.

Каждому ключу соответствует индекс, имя которого также присваивается автоматически. Имена ключа и индекса при желании можно изменить вручную.

На диаграмме атрибуты альтернативных ключей обозначаются как (Akn.m.), где n - порядковый номер ключа, m - порядковый номер атрибута в ключе. Когда альтернативный ключ содержит несколько атрибутов, (Akn.m.) ставится после каждого.

Внешние ключи (Foreign Key) создаются автоматически, когда связь соединяет сущности: связи образуют ссылку на атрибуты первичного ключа в дочерней сущности и эти атрибуты образуют внешний ключ в дочерней сущности (миграция ключа). Атрибуты внешнего ключа обозначаются символом (FK) после своего имени.

Зависимая сущность может иметь один и тот же ключ из нескольких родительских сущностей. Сущность может также получить один и тот же внешний ключ несколько раз от одного и того же родителя через несколько разных связей. Когда ERwin обнаруживает одно из этих событий, он распознает, что два атрибута одинаковы, и помещает атрибуты внешнего ключа в зависимой сущности только один раз. Это комбинирование или объединение идентичных атрибутов называется унификацией.

Есть случаи, когда унификация нежелательна. Например, когда два атрибута имеют одинаковые имена, но на самом деле они отличаются по смыслу, и необходимо, что бы это отличие отражалось в диаграмме. В этом случае необходимо использовать имена ролей внешнего ключа.

Связи на диаграмме представляются линиями, идущими от одной сущности (таблицы) к другой. Каждой связи присваивается уникальное имя. Связанные таблицы разделяют на родительские и дочерние. Родительские таблицы отображаются прямоугольниками с прямыми углами, дочерние – со скругленными.

После указания всем атрибутам формата данных необходимо созданную логическую модель преобразовать в физическую. Для этого необходимо в Tools выбрать Derive New Model , где в качестве Target Databases выберите ODBC/Generic (для использования в СУБД MySQL) см. Рисунок 9. Наша модель (см Рисунок 4) будет преобразована к виду см.Рисунок 11.

Рисунок 9 - Преобразование логической модели в физическую

Рисунок 10 - Физическая модель с указанием формата данных.

Рисунок 11 - Генерация кода SQL

Задание

1. Выполните построение диаграммы с заданными сущностями (прямое моделирование) для заданной предметной области.

2. Задайте атрибуты для каждой определенной сущности. При задании атрибутов используйте домены.

3. Введите связи между сущностями. Присвойте связям уникальные имена.

4. Используя СУБД MYSQL, решите прямую генерацию базы данных для проектируемой информационной.

5. Отчет должен содержать концептуальную модель и физическую базу данных в СУБД MYSQL.

Контрольные вопросы

1. В чем состоит различие логического и физического уровней представления моделей данных с помощью ERwin?

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

3. Какие основные компоненты содержат модели данных, представленные по методологии IDEF1X?


Перечень типов данных, поддерживаемых СУБД необходимо уточнить у производителя

©2015-2019 сайт
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27




Top