Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Создание информационной модели
Erwin имеет два уровня представления модели – логический и физический. Логический уровень – это абстрактный взгляд на данные. Объекты модели, представляемые на нем, называются сущностями и атрибутами. Логическая модель данных является универсальной, т.к. не зависит от конкретной СУБД. Физическая модель данных зависит от конкретной СУБД. В ней содержится информация обо всех объектах БД. Одной и той же логической модели может соответствовать несколько разных физических. В физической модели важно описать всю информацию о конкретных физических объектах – таблицах, колонках, индексах, процедурах. Создание модели. Запустить приложение Erwin 4.1. В появившемся диалоговом окне Model Mart Connection Manager нажать Cancel. Откроется окно Computer Associates Erwin. Необходимо выбрать переключатель Create model. Нажать OK. Появится окно Create model – Select Template. В поле New Model Type выбрать переключатель Logical/Physical. Появится раздел Target Database, выбрать в нем необходимую базу (SQL Server 2000 или Access 2000). (Рис. 1) Нажать OK. Модель откроется на логическом уровне.
Рисунок 1 – Создание модели
Создание сущностей На панели инструментов (Рис. 2) выбираем элемент , изображающий сущность. Рисунок 2 – Панель инструментов Курсор изменит свой вид на крест со значком сущности. Щелкаем левой клавишей в месте, где будет размещаться сущность. Появляется пустая сущность, в верхней части которой указываем имя (щелкаем один раз левой клавишей по названию для редактирования). Для добавления атрибутов в созданную сущность, щелкаем по ней один раз правой клавишей мыши, появится окно Attributes. (Рис. 3) Рисунок 3 – Окно атрибутов Для добавления атрибута нажимает кнопку New. Появится окно New Attribute (рис. 4) В поле Attribute Name вводим имя атрибута (читательский номер) и выбираем домен (String). Нажимаем OK. Если созданный атрибут должен быть первичным ключом, то в Окне атрибутов (Рис. 3) ставим флажок . Если созданный атрибут должен быть виден только на логическом уровне, то в Окне атрибутов (Рис. 3) ставим флажок . Нажимаем OK. Если нужно изменить атрибут, то изменяем в окне Attributes. Для удаления сущности или связи с модели необходимо их выделить и нажать на клавиатуре Delete. При удалении сущности удалятся и его связи
Рисунок 4 – Создание нового атрибута
Создание связей Связь – это графически изображенная ассоциация, устанавливаемая между двумя сущностями. Имя связи – глагол. Для создания связи на панели инструментов выбираем значок одной из трех связей: · идентифицирующая связь · не идентифицирующая связь · связь многие-ко-многим Выбираем необходимую связь, курсор подводим к главной сущности, щелкаем левой клавишей мыши по ней, затем щелкаем левой клавишей мыши по зависимой сущности. Связь создана. Для редактирования связи щелкаем по ней правой клавишей мыши, в появившемся контекстном меню выбираем Relationship Properties. Появляется окно Relationships. В поле Verb Phrase указываем имя связи. Можно указать имя связи от родительской сущности к дочерней или от дочерней к родительской (работают в). В поле Relationship Cardinality указываем: Cardinality (Мощность связи), Relationship Type (Тип связи), Null (допустимость нулевых значений). (Рис. 5)
Рисунок 5 – Определение связей
На закладке Rolename можно определить ролевое имя – атрибут первичного ключа родительской сущности, под которым он будет мигрировать в дочернюю сущность. В поле Rolename необходимо указать ролевое имя. (Рис.6)
Рисунок 6 – Определение ролевых имен Разрешение связи многие-ко-многим Разрешение связи многие-ко-многим приводится на физическом уровне информационной модели. Перейти к вкладке Physical (Физическая), выбрав нужный пункт из выпадающего списка на панели инструментов (рис.7). Рисунок 7 – Переход к физической модели. Выделяем связь, которую хотим разрешить, щелкнув по ней левой кнопкой мыши. На панели инструментов станет активной кнопка Many-to-many Transform . Нажимаем её. Появится окно Many-to-many Relationships Transform Wizard. Нажимаем кнопку Далее. (Рис. 8) Рисунок 8 – Разрешение связи многие-ко-многим (шаг 1) В следующем окне в поле Table Name вносим имя таблицы с помощью, которой разрешится связь. (Рис. 9). Нажимаем Далее.
Рисунок 9 – Разрешение связи многие-ко-многим (шаг 2) На третьем шаге вносим имя связи между разрешающей таблицей и исходной в поле Transform Name. Нажимаем Далее.
Рисунок 10 – Разрешение связи многие-ко-многим (шаг 3)
В появившемся диалоговом окне нажимаем кнопку «Готово». Созданная в результате разрешения связи таблица отображается только на физическом уровне. Первичные ключи таблиц, между которыми разрешалась связь, мигрируют в полученную таблицу. Вы также можете добавить новые атрибуты в эту таблицу обычным способом.
Сохранение модели Для сохранения модели необходимо нажать кнопку . А при выходе из модели выбрать в окне Close переключатель Close without saving. Нажать OK. (Рис. 11)
Рисунок 11 – Сохранение модели Открытие существующей модели Запустить приложение EPwin 4.1. В появившемся диалоговом окне Model Mart Connection Manager нажать Cancel. Откроется окно Computer Associates Erwin. Необходимо выбрать переключатель Create model. Нажать OK. В диалоговом окне Erwin Open File найти свою модель и нажать «Открыть». Если шрифт открывшейся модели не понятен, то щелкаем правой клавишей мыши по пустому месту рабочей области диаграммы. Выбираем из контекстного меню пункт Default Font & Colors. В открывшемся окне на закладках Tables, Columns, General и Relationships в полях Font выбираем необходимый шрифт (Arial Cyr), а в разделах Apply to ставим переключатель All Objects. (Рис. 12)
Рисунок 12 – Настройка шрифта
Добавление связи категоризации Для добавления связи категоризации необходимо выбрать на панели инструментов (рис. 2) Элемент Complete sub-category . Курсор изменится. Левой клавишей мыши щелкаем по родительской сущности, затем по дочерней. Появится связь. Чтобы добавить еще одну дочернюю сущность к этой связи, снова выбираем элемент Complete sub-category. Левой клавишей мыши щелкаем по знаку категоризации ( ), затем по дочерней сущности. Редактирование модели Если вы хотите изменить способ отображения элементов модели, то необходимо выполнить следующее: · изменить уровень отображения модели на логическом уровне можно щелкнув правой клавишей мыши по пустому месту модели. В открывшемся контекстном меню выбрать в пункте Display Level необходимый уровень отображения (Atributes – отображение атрибутов сущностей, Entity – отображение сущностей, Primary Key – отображение только первичных ключей сущностей). · изменить уровень отображения таблиц на физическом уровне можно щелкнув правой клавишей мыши по пустому месту модели. В открывшемся контекстном меню выбрать в пункте Table Display необходимый уровень отображения. · изменить уровень отображения сущностей на логическом уровне можно щелкнув правой клавишей мыши по пустому месту модели. В открывшемся контекстном меню выбрать в пункте Entity Display необходимый уровень отображения. · изменить уровень отображения модели на физическом уровне можно щелкнув правой клавишей мыши по пустому месту модели. В открывшемся контекстном меню выбрать в пункте Display Level необходимый уровень отображения (Table – отображение названий таблиц, Column – отображение колдонок, Primary Key – отображение только первичных ключей сущностей). Создание закладок Display В меню Format выбираем пункт Stored Display Settings. В появившемся окне нажимаем New.(Рис. 13) В появившемся окне пишем имя и нажимаем OK. В нижней части окна Stored Display (рис.13) изменяем настройки для созданной закладки. Рисунок 13 – Создание закладок Display
Пример разработки информационной модели Университетская библиотека Для отображения информационной модели рассматриваемого процесса используются следующие сущности: - Отделы – для фиксации информации об отделах библиотеки. Содержит номер отдела, его название, табельный номер и фамилию начальника отдела; - СотрудникиБиблиотеки – для хранения информации о сотрудниках, которые работают в библиотеке; - Студенты – запись информации о студентах, которые пользуются библиотекой; - Экземпляр – книги, зарегистрированные в отделах библиотеки; - ЗаменаЭкземпляров хранит информацию о протоколах замены книг; - Преподаватели – информация о преподавателях-пользователях библиотеки; - Периодические издания – информация о газетах, журналах, которые имеются в библиотеке; - Списанные экземпляры хранит информацию о протоколах списания книг; - Книга; - Заказы – заказы преподавателей на новую литературу. Для однозначного определения записей в каждом из отношений выделен первичный ключ (простой или составной). Внешние ключи для отношений БД: в отношениях Экземпляр и Заказы - это ключ ISBN; в отношениях ЗаменаЭкземпляров и Списанные экземпляры - это ключ Шифр В отношениях Экземпляр и Сотрудники - это ключ Номер отдела На логическом уровне проектирования в моделируемой базе данных присутствуют следующие типы связей между описанными сущностями: · неиденцифицирующие связи; · иденцифицирующие связи; · связи многие-ко-многим Связь между сущностями Отделы и Сотрудники библиотеки неидентифицирующая, не разрешающая присутствие нулей, т.к. каждый сотрудник закреплен за определенным отделом. Тип связи 1 ко многим, т.к. в одном отделе могут работать много сотрудников. и 1 ко многимттствие нулейтрудники библиотеки Связь между сущностями Отделы и Экземпляр неидентифицирующая, не разрешающая присутствие нулей, т.к. каждый экземпляр закреплен за определенным отделом. Тип связи 1 ко многим, т.к. в одном отделе могут храниться много экземпляров. Связь между сущностями Отделы и Периодические издания неидентифицирующая, не разрешающая присутствие нулей, т.к. каждое издание закреплено за определенным отделом. Тип связи 1 ко многим, т.к. в одном отделе могут храниться много изданий. Связь между сущностями Книга и Экземпляр неидентифицирующая, не разрешающая присутствие нулей, т.к. каждый экземпляр это зарегистрированная книга. Тип связи 1 ко многим, т.к. в одна книга может быть зарегистрирована как несколько экземпляров. Связь между сущностями Замена экземпляров и Экземпляр идентифицирующая, т.к. для замены экземпляров необходима информация о нем. Тип связи 1 к одному, т.к. замена осуществляется для одного экземпляра. Связь между сущностями Списание экземпляров и Экземпляр идентифицирующая, т.к. для списания экземпляров необходима информация о нем. Тип связи 1 к одному, т.к. списание осуществляется для одного экземпляра. Связь между сущностями Преподаватели и Заказы идентифицирующая, т.к. для заказа книг необходима информация о заказчике. Тип связи 1 ко многим, т.к. один преподаватель может заказать много книг. Связь между сущностями Книги и Заказы идентифицирующая, т.к. для заказа книг необходима информация о заказе. Тип связи 1 ко многим, т.к. одна книга может быть во многих заказах. Связь между сущностями Преподаватели и Экземпляр многие-ко-многим, т.к. один преподаватель может пользоваться многими экземплярами, а один экземпляр может быть у многих преподавателей. Связь между сущностями Студенты и Экземпляр многие-ко-многим, т.к. один студент может пользоваться многими экземплярами, а один экземпляр может быть у многих студентов. Связь между сущностями Сотрудники библиотеки и Экземпляр многие-ко-многим, т.к. один сотрудник библиотеки может пользоваться многими экземплярами, а один экземпляр может быть у многих сотрудников библиотеки. Разрешение связей многие-ко-многим осуществляется на физическом уровне. Были введены дополнительные зависимые сущности Пользование библиотекой (рис. 15). Для нормализации разрабатываемой схемы данных приведем все имеющиеся отношения к соответствующим наборам ограничений. Первая нормальная форма требует, чтобы значения всех атрибутов отношения были атомарными. При рассмотрении информационной модели было отмечено, что значения атрибутов всех отношений логически разделить на элементы нельзя и, следовательно, они удовлетворяют условию первой нормальной формы. Вторая нормальная форма требует, чтобы отношение находилось в первой нормальной форме, и каждый не ключевой атрибут функционально полно зависел от первичного ключа. И это требование также выполняется в рассматриваемой модели. Все не ключевые атрибуты функционально полно и не транзитивно зависят от первичного ключа. Следовательно, отношение находится в БКНФ. Все вышеизложенные отношения функционально полно зависят от первичного ключа.
Рисунок 14 – Информационная модель
Для нормализации схем отношений в БКНФ необходимо чтобы каждый детерминант (любой атрибут, от которого функционально полно зависит некоторый другой атрибут) является возможным ключом. В рассматриваемой модели нормализация к БКНФ соблюдается Таким образом, все отношения находятся в БКНФ. Рисунок 15 – Разрешение связей «многие-ко-многим» на физическом уровне
Реализация ссылочной целостности: · при добавлении новой записи в зависимую таблицу значение внешнего ключа должно присутствовать в главной таблице; · При изменении информации о каком-либо отделе из таблицы «Отделы» в таблицах «Сотрудники библиотеки», «Периодические издания» и «Экземпляры» информация будет автоматически меняться (каскадное обновление), удалять запрещено; · При изменении информации о каком-либо сотруднике из таблицы «Сотрудники» в таблице «Пользование библиотекой» информация будет автоматически изменяться (каскадное обновление); · При удаление информации о каком-либо сотруднике из таблицы «Сотрудники» в таблице «Пользование библиотекой» информация о нем остается. · В таблице «Книга» разрешено изменение записей (каскадное обновление), удаление данных из этой таблицы запрещается (запрет удаления); · В таблице «Экземпляр» разрешено изменение записей (каскадное обновление), удаление данных из этой таблицы запрещается (запрет удаления); · В таблице «Студенты» при изменении информации о студенте происходит каскадное обновление данных. Разрешается удаление информации только в случае, когда на данную информацию нет ссылок в других связанных таблицах; · В таблице «Преподаватели» при изменении данных происходит каскадное обновление. Разрешается удаление информации только в случае, когда на данную информацию нет ссылок в других связанных таблицах; · В таблицах «Списанные экземпляры» и «Замена экземпляров» не разрешается удаление и изменение записей; · В таблице «Заказы» разрешается обновление. · В таблице «Периодическая литература» разрешено изменение записей (каскадное обновление), удаление данных из этой таблицы запрещается (запрет удаления). Рисунок 16 – Физическая модель данных
Типы данных в физической модели Первоначально тип данных можно указать при добавлении нового атрибута. При помощи физической модели это также можно сделать, причем в этом случае типы данных будут соответствовать типам конкретной СУБД. С помощью нажатия правой клавишей мыши по таблице на физической модели вызываем контекстное меню, в котором выбираем пункт Columns. Появится окно Columns, в разделе Datatype которого выбираем тип данных для каждой колонки таблицы (рис. 17). Также в этом окне можно установить значения по умолчанию (раздел Default). Рисунок 17 – Типы данных для колонок
Примеры выбора типов данных 1. Рассмотрим таблицу «Книга». Ключевое поле этой таблицы ISBN содержит номер книг. Номер представляет собой набор цифр и разделяющих их дефисов (например, 5-414-524316-41). Следовательно, тип данных поля ISBN должен быть строковым с длиной не менее 15 символов. Выбираем тип varchar(20). 2. В таблице «Пользование библиотекой» имеется поле «Дата выдачи». Это поле содержит число, месяц, год даты, когда была выдана книга. Тип данных для неё – datetime. 3. Рассмотрим таблицу «Сотрудники библиотеки». Ключевое поле этой таблицы (табельный номер) представляет собой номер, который присваивают каждому сотруднику при принятии на работу. Он представляет собой набор цифр (например, 2431). Следовательно, тип данных поля табельный номер должен быть числовым целым. Выбираем тип int.
Вопросы: 1. Какие уровни представления данных существуют в ERwin 4.1? 2. Какой уровень зависит от конкретной реализации СУБД? 3. Как добавить новую сущность на диаграмму? 4. Как добавить атрибуты в сущность? 5. Как разрешается связь многие-ко-многим? 6. Как можно установить тип данных атрибутов? 7. В чем отличие идентифицирующих и неидентифицирующих связей? 8. Что такое связь категоризации? Как её добавить? 9. Что такое ссылочная целостность? 10. Опишите процесс нормализации базы данных. Популярное:
|
Последнее изменение этой страницы: 2017-03-08; Просмотров: 660; Нарушение авторского права страницы