Некоммерческое акционерное общество

АЛМАТИНСКИЙ ИНСТИТУТ ЭНЕРГЕТИКИ И СВЯЗИ

Кафедра Электроники и компьютерных технологий

 

ПРОЕКТИРОВАНИЕ И ЗАЩИТА БАЗ ДАННЫХ.

РАЗРАБОТКА МОДЕЛЕЙ БАЗ ДАННЫХ  В СРЕДЕ ERWIN

 

 

Методические указания к выполнению

 лабораторных работ

для студентов всех форм обучения специальности 050704 –

Вычислительная техника и программное обеспечение

 

Алматы   2007

 

СОСТАВИТЕЛЬ: Е.Ж.Айтхожаева, Проектирование и защита баз данных. Разработка моделей баз данных  в среде ERwin. Методические указания к выполнению лабораторных работ для студентов всех форм обучения специальности 050704 - Вычислительная техника и программное обеспечение. - Алматы: АИЭС, 2007. - 28с.

 

В методических указаниях рассматриваются 2 лабораторные работы по дисциплине Проектирование и защита баз данных (раздел Проектирование баз данных).

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

Ил. 14, библ.- 6 назв.                      

Рецензент: ст.преподаватель кафедры ЭКТ АИЭС Сатимова Е.Г.

Печатается по дополнительному плану издания некоммерческого акционерного общества “Алматинский институт энергетики и связи” на 2007г.

             ã НАО “Алматинский институт энергетики и связи”, 2007 г.

 

Содержание

 

1 Лабораторная работа №1.Разработка моделей баз данных в среде ERwin  

1.1 Цель работы

1.2 Домашняя подготовка

1.3 Задание на лабораторную работу

1.4 Методические указания к выполнению лабораторной работы

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

2 Лабораторная работа №2. Генерация схем баз данных в среде ERwin 

2.1 Цель работы

2.2 Домашняя подготовка

2.3 Задание на лабораторную работу

2.4 Методические указания к выполнению лабораторной работы

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

3 Теоретическая часть

Список литературы

 

1 Лабораторная       работа  №1.

1.1 Цель работы

1.1.1 Ознакомление с основными возможностями CASE-средства проектирования баз данных ERwin (на примере Platinum Erwin ERX 3.5.2).

1.1.2 Получение навыков по созданию и корректировке простой логической ER-модели базы данных в среде ERwin.

1.1.3 Получение навыков по преобразованию логической ER-модели базы данных  в физическую в формате конкретной СУБД в среде ERwin.

1.2 Домашняя подготовка

Изучить учебный материал по ER-методу проектирования баз данных [1,2] и  созданию ER-моделей баз данных [3-6]. Ознакомиться с теоретической частью и ответить на контрольные вопросы лабораторной работы №1.

 

1.3 Задание на лабораторную работу

1.3.1 Создать простую ER-модель базы данных для хранения  информации о пассажирских авиарейсах и пассажирах этих рейсов:

- создать две сущности Пассажиры и Рейсы с количеством атрибутов не менее пяти для каждой сущности;

- для каждого атрибута, исходя из назначения, определить один из доменов (String, Datatime, Number);

- создать обязательный атрибут номер рейса;

- определить первичные и внешние ключи;

- создать неидентифицирующую связь между сущностями через атрибут номер рейса;

- преобразовать логическую модель в физическую, используя формат базы данных MS Access.

1.3.2 Откорректировать имеющуюся ER-модель restoran, использующую 5 сущностей (тип блюда - TIP, блюда - BLUDA, официанты - OFICIANT, заказы - ZAKAZI, счета – SCHETA):

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

- для всех атрибутов сущностей определить домены;

- для каждой сущности определить иконку;

- создать различные режимы отображения ER-модели (сущностей, атрибутов, первичных ключей, определений сущностей,  пиктограмм) на различных вкладках ER-диаграммы;

- преобразовать логическую модель в физическую, используя формат базы данных FoxPro;

- сохранить откорректированную модель, имеющую 5 режимов отображения в файле restoran1.r1.

1.3.3 Разработать информационную ER-модель для учебного процесса:

- создать 5 сущностей (Группы, Студенты, Преподаватели, Дисциплины, Обучение, Успеваемость);

 - для каждой сущности, исходя из назначения сущности, определить атрибуты;

- для каждого атрибута определить один из доменов (String, Datatime, Number);

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

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

- преобразовать логическую модель в физическую, используя формат базы данных MS SQL Server;

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

- сохранить созданную модель в файле Er_lab1.r1.

1.3.4 Оформить отчет по работе.

 

1.4 Методические указания к выполнению лабораторной работы

1.4.1 Методические указания к выполнению п. 1.3.1. После запуска Platinum ERwin ERX 3.5.2, для создания новой модели выбирается команда New пункта меню File. При этом появляется окно ERwin Template Selection, в котором выбирается шаблон диаграммы Blank Diagram и кнопка OK. Далее начинается создание ER-диаграммы. Создание модели начинается с создания модели логического уровня. После создания модели логического уровня переходят к созданию модели физического уровня. Для переключения между логической и физической моделью данных служит список выбора в стандартной панели инструментов ERwin (рисунок 1) или команды Logical Model и Physical Model пункта Edit системного меню. При переключении, если физической модели еще не существует, она будет создана автоматически.

Рисунок 1 – Список выбора уровня модели

 

Создание сущностей. При помощи кнопки Entity создания сущности панели инструментов ERwin Toolbox в логическую модель вносятся сущности, соответствующие реальным фактам предметной области, например: Филиалы, Служащие филиалов, Склады, Служащие склада, Отделы, Книги, Читатели, Рейсы, Пассажиры и т.д. На ER-диаграмме сущность изображается прямоугольником.

Для создания сущностей будущей модели необходимо выполнить следующие действия:

-         щелкнуть по кнопке Entity кнопка Entity (Сущность) панели инструментов ERwin Toolbox;

-         щелчками по рабочему полю, создать нужное количество сущностей;

-         отключить кнопку Entity, щелкнув по кнопке указателя кнопка Select панели инструментов ERwin Toolbox.

Созданным сущностям по умолчанию присваиваются имена E/1, E/2 и т.д. Вместо имен по умолчанию набрать имена сущностей: Рейсы, Пассажиры.  

Сущность Рейсы является родительской. Для выделения родительских сущностей можно изменить для них цвет шрифта  и цвет заливки  

В зависимости от режима представления ER-диаграммы прямоугольник сущности может содержать имя сущности, ее описание, список ее атрибутов и другие сведения. Сущности соответствует таблица в реальной СУБД.

Щелкнув правой кнопкой мыши по сущности и выбрав из всплывающего меню пункт Entity Editor, вызывается окно, в котором определяются имя, описание и комментарии сущности (рисунок 2).

Каждая сущность должна быть полностью определена с помощью текстового описания во вкладке Definition. Вкладки Note, Note 2, Note3, UDP (User Defined Properties – свойства, определенные пользователем) служат для внесения дополнительных комментариев и определений к сущности:

- в закладке Definition набирают определение сущности;

- в закладке Note2 – ожидаемые запросы;

- в закладке Note3 – примеры экземпляров сущности;

- в закладке Icon выбирают иконку для сущности.

Рисунок 2 – Текстовое описание сущности в окне Entity Editor

 

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

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

Создание атрибутов. После создания требуемых сущностей следует для каждой из них создать и описать атрибуты, отражающие определенные свойства объекта. Горизонтальная линия в прямоугольнике сущности разделяет атрибуты сущности на два набора - атрибуты, составляющие первичный ключ в верхней части и прочие (не входящие в первичных ключ) в нижней части. Для создания атрибутов сущности используется редактор Attribute Editor, вызываемый командой Attribute Editor контексного меню каждой сущности (рисунок 3).

В правой части окна редактора Attribute Editor – список атрибутов сущности, в левой части окна – вкладки для описания атрибутов.

На вкладке General опция Sort сортирует домены по алфавиту (переключатель Alphabetically) или по иерархии (переключатель Hierarchically). Выставленная галочка Logical Only сигнализирует генератору кода ERwin о том, что данный атрибут используется только в логической модели. Для атрибутов первичного ключа во вкладке General диалога Attribute Editor необходимо включить опцию Primary Key.

Рисунок 3 – Создание атрибутов

 

Ниже описывается последовательность действий при создании нового атрибута сущности:

- выполнить команду Attribute Editor из контекстного меню любой сущности для вызова редактора Attribute Editor (рисунок 3);

- в выпадающем списке Entity окна редактора выбрать нужную родительскую сущность, например, Рейсы;

- нажать кнопку New и создать атрибут этой сущности в диалоге New Attribute (рисунок 4):

1) задать логическое имя атрибута (Attribute Name) и физическое имя соответствующей колонки (Column Name);

2) указать тип щелчком по соответствующему домену (в приведенном примере на рисунке 4 - Number);

3) закрыть диалог New Attribute нажатием на кнопку OK.

Во вкладке Definition (рисунок 3) можно записывать определения отдельных атрибутов. Для первичного ключа в закладке Definition записывается, является ли созданный ключ реальным (естественным) или суррогатным (из-за отсутствия явных уникальных атрибутов).

 

Рисунок 4– Окно New Attribute

 

Определения атрибутов можно также сгенерировать как часть схемы (CREATE COMMENT). Вкладка Note позволяет добавлять замечания об одном или нескольких атрибутах сущности, которые не вошли в определения. Если в качестве первичного ключа выбран реальный атрибут, в закладке Note отмечается его формат и описываются другие ограничения.

Создание связей. Чтобы определить логическое соотношение между сущностями следует связать их. Имя связи выражает некоторое ограничение или бизнес-правило. По умолчанию имя связи на диаграмме не показывается. Для отображения имени следует в контекстном меню, которое появляется, если щелкнуть левой кнопкой мыши по любому месту диаграммы, не занятому объектами модели, выбрать пункт Display Options/Relationships и затем включить опцию Verb Phrase. На логическом уровне можно установить идентифицирующую связь «один-ко-многим», связь «многие-ко-многим» и неидентифицирующую связь «один-ко-многим» (рисунок 5).

Рисунок 5 – Связи в панели инструментов ERwin Toolbox

 

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

Для создания связи между сущностями следует:

- установить курсор на одну из кнопок связи в панели инструментов ERwin Toolbox (рисунок 5) и щелкнуть левой кнопкой мыши;

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

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

Физический уровень модели БД. После создания логической модели следует перейти на физический уровень с помощью списка выбора типа  модели (рисунок 1). Физический уровень представления модели зависит от выбранной СУБД (настольной или сервера). Для выбора СУБД следует выставить соответствующую опцию Access в окне Platinum ERwin/ERX--Target Server (рисунок 6), вызвать которое можно командой Target Server меню Server. Этот диалог позволяет задать тип данных по умолчанию в области Default Access Datatype и опцию NOT NULL  в области Default Non-Key Null Option для новых колонок.

В раскрывающемся списке Default Access Datatype следует выбрать тип данных по умолчанию для выбранной СУБД MS Access – например, Text(18). В опции Default Non-Key Option следует разрешить значения NULL для неключевых колонок. ERwin автоматически создает имена таблиц и колонок на основе имен соответствующих сущностей и атрибутов, учитывая максимальную длину имени и синтаксические ограничения, накладываемые СУБД MS Access. Если в имени сущности или атрибута встречается пробел, он будет заменен на символ "_".

Рисунок 6 – Выбор формата базы данных MS Access

 

1.4.2 Методические указания к выполнению п.1.3.2. После запуска Platinum ERwin ERX 3.5.2, для открытия файла с созданной ER-моделью, выбирается команда Open пункта меню File. При этом появляется окно ERwin Open File, в котором выбирается файл restoran.r1, находящийся в папке C:\Program Files\PLATINUM\ERwinERX 3.5.2\Models и нажимается кнопка OK. Из файла restoran.r1 загружается ER-диаграмма, которую необходимо откорректировать.

Создание иконок. Во вкладке Icon (рисунок 7) каждой сущности можно поставить в соответствие изображение, которое будет отображаться в режиме просмотра модели на уровне иконок (Icon). В этой вкладке можно задать как большую иконку (Large Icon), которая будет отображаться на уровне Icon, так и малую иконку (Small Icon), которая будет отображаться на всех уровнях просмотра модели. Для связывания изображения с сущностью необходимо на вкладке Icon щелкнуть по кнопке , в появившемся диалоге Icons щелкнуть по кнопке Import и выбрать соответствующий файл формата .bmp.

 

Рисунок 7 – Вкладка Icon диалога Entity Editor

 

Режимы отображения ER-диаграммы. На логическом уровне модель ERwin имеет несколько уровней отображения диаграммы: уровень сущностей, уровень атрибутов, уровень определений сущностей, уровень первичных ключей и уровень иконок. Переключиться между первыми тремя можно с использованием кнопок на стандартной панели инструментов. Переключиться на другие уровни можно при помощи контекстного меню, которое появляется, если щелкнуть по любому месту диаграммы, не занятому объектами модели. В контекстном меню следует выбрать пункт Display Level и затем необходимый уровень отображения: Entity, Attribute, Primary Key, Definition, Icon. ERwin позволяет связать с сущностью большую и малую иконки. При переключении на уровень иконок показывается, по умолчанию, большая иконка. Для отображения малой иконки следует выбрать в контекстном меню пункт Display Options/Entities и затем включить опцию Entity Icon. Малая иконка будет показана слева от имени сущности на всех уровнях отображения модели.

Для создания нового режима отображения диаграммы необходимо:

- открыть диалог Stored Display Editor, выполнив команду Stored Display пункта меню Edit (вариант: выполнить команду Stored Display из контекстного меню рабочей области ERwin);

-  в окне Stored Display Editor нажать кнопку New и в появившемся окне New Stored Display ввести имя новой закладки ER-диаграммы (например, Keys) и нажать кнопку OK;

- далее сделать настройки хранимого отображения:

  1) в закладке General указать авторов работы;

2) в закладке Logical в область Display Level выбрать отображение диаграммы на уровне сущностей (опция Entity), или на уровне определений сущностей (опция Definition),  или на уровне атрибутов (Attribute), или на уровне первичных ключей (Primary Key), или с иконками сущностей (опция Icon);

3) область Entity Option служит для указания дополнительных опций отображения сущностей;

4) область Relationship Option используется для задания дополнительных опций отображения связей.

1.4.3 Методические указания к выполнению п. 1.3.3. Используя редактор связей можно задать имена ролей для мигрирующих ключей:

- выполнить команду Relationship Editor из контекстного меню связи;

- в появившемся окне редактора связей выбрать закладку RoleName/RiAction (рисунок 8) и набрать имя роли в поле RoleName. При выходе из этого поля имя роли будет присвоено текущему мигрирующему атрибуту в дочерней сущности.

Рисунок 8 – Диалог Relationship Editor

 

Для выбора формата базы данных MS SQL Server следует выставить опцию SQL Server в окне Platinum ERwin/ERX--Target Server (рисунок 9), которое вызывается командой Target Server меню Server. В раскрывающемся списке Default SQL Server Datatype следует выбрать тип данных по умолчанию для выбранной СУБД MS SQL Server – например, char(18). В опции Default Non-Key Option следует разрешить значения NULL для неключевых колонок.

Рисунок 9 –Выбор формата базы данных MS SQL Server

 

Режимы отображения ER-диаграммы. На физическом уровне модель ERwin имеет несколько уровней отображения диаграммы: уровень таблиц - Table, уровень столбцов - Column, уровень первичных ключей - Primary Key, уровень описаний (комментарий) - Comment. Переход к определенному уровню отображения диаграммы осуществляется при помощи контекстного меню, которое появляется, если щелкнуть по любому месту диаграммы, не занятому объектами модели. В контекстном меню следует выбрать  пункт Display Level и затем необходимый уровень отображения.

 

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

1.5.1 Что собой представляет ER-диаграмма?

1.5.2 Что собой представляет программный пакет ERwin ?

1.5.3 Из каких основных блоков состоит ER-диаграмма в ERwin?

1.5.4 Какие существуют уровни представления модели данных в ERwin?

1.5.5 Какие инструменты создания модели используются в ERwin?

1.5.6 Какие уровни отображения диаграммы используются на логическом уровне в ERwin?

1.5.7 Какие уровни отображения модели используются на физическом уровне в ERwin?

1.5.8 На каком уровне модели данных в ERwin учитывается тип данных конкретной СУБД?

 

2 Лабораторная работа №2.

Генерация схем баз данных

2.1 Цель работы

2.1.1 Получение навыков по созданию и корректировке представлений в среде ERwin (на примере Platinum Erwin ERX 3.5.2).

2.1.2 Получение навыков по созданию и корректировке ограничений целостности на физическом уровне ER-модели базы данных в среде ERwin.

2.1.3 Получение навыков по генерации SQL-скриптов для определения базы данных  в формате конкретной СУБД в среде ERwin.

2.2 Домашняя подготовка

Изучить учебный материал по ER-методу проектирования баз данных [1,2] и  созданию ER-моделей баз данных [3-6]. Ознакомиться с теоретической частью и ответить на контрольные вопросы лабораторной работы №2.

 

2.3 Задание на лабораторную работу

2.3.1 Создать  на основе таблиц OFICIANT и ZAKAZI представление в ER-диаграмме restoran1, созданной в лабораторной работе №1 в результате корректировки ER-диаграммы restoran:

- представление должно включать имя официанта, дату заказа, название блюда, оплату заказа;

- при создании представления необходимо использовать условие связи между данными базовых таблиц OFICIANT и ZAKAZI по идентификатору официанта;

- откорректировать свойства колонок представления.

2.3.2 Создать  на основе таблиц Студенты и Группы представление в ER-диаграмме Er_lab1, созданной в лабораторной работе №1:

 - представление должно включать ФИО студента, телефон студента, индекс группы, ФИО эдвайзера;

- при создании представления необходимо использовать условие связи между данными базовых таблиц по индексу группы;

  - откорректировать свойства колонок представления.

2.3.3 Создать правила валидации и значения по умолчанию в ER-диаграмме Er_lab1 для отдельных колонок различных таблиц:

- определить значение по умолчанию для количества студентов в группе в таблице Группы;

- установить минимальный и максимальный год рождения студента в таблице Студент;

- определить значение по умолчанию для наименования кафедры в таблице Преподаватели;

- создать правило проверки вида занятий в таблице Обучение;

- установить минимальное и максимальное значение оценки в таблице Успеваемость;

- определить самостоятельно два бизнес-правила и создать реализующие их правила валидации в любой из таблиц.

2.3.4 Выполнить генерацию SQL-скриптов для определения базы данных выбранной СУБД и сохранить полученные SQL-скрипты:

- сгенерировать SQL-скрипты для настольной СУБД FoxPro из ER-диаграммы restoran1;

- сгенерировать SQL-скрипты для сервера SQL Server из ER-диаграммы Er_lab1;

- сохранить сгенерированные SQL-скрипты в SQL-текстовых файлах restoran1.sql и Er_lab1.sql, соответственно.

2.3.5 Оформить отчет по работе.

 

2.4 Методические указания к выполнению лабораторной работы

2.4.1 Методические указания к выполнению п. 2.3.1. После запуска Platinum ERwin ERX 3.5.2, для открытия файла с созданной ER-моделью выбирается команда Open пункта меню File. При этом появляется окно Erwin Open File, в котором выбирается файл restoran1.r1, находящийся в папке C:\Program Files\PLATINUM\ERwinERX 3.5.2\Models и нажимается кнопка OK. Из файла restoran1.r1 загружается ER-диаграмма,  в которой необходимо создать представление.

Создание представлений. Для создания представления нужно щелкнуть по кнопке  на палитре инструментов физического уровня модели, затем по свободному месту диаграммы. По умолчанию представление получает номер V_n, где n - уникальный порядковый номер представления.

Для редактирования представления служит диалог View Editor. Для его вызова следует щелкнуть правой кнопкой мышки по представлению и выбрать в меню пункт View Editor. В этом окне можно изменить имя представления, используя поле ввода Name. На вкладке From окна View Editor в правой части (область Available Tables/Views) необходимо выбрать двойным щелчком таблицы OFICIANT и ZAKAZI, данные из которых необходимо отобразить в представлении. Вкладка Select служит для выбора колонок таблиц, выбранных на вкладке  From (рисунок 10).

Рисунок 10 – Определение колонок представления

 

Необходимо выбрать двойным щелчком колонку imya таблицы OFICIANT и колонки data_z, nazvanie, opl таблицы ZAKAZI.  Вкладка Where используется для задания условия связи при выборке колонок из нескольких таблиц, а также указания группировки данных. Необходимо на этой вкладке ввести в поле ввода Where условие связи OFICIANT.id_of=ZAKAZI.id_of.  На закладке SQL, виден код команды SQL, которая при этом генерируется.

 После закрытия окна View Editor данная команда выполняется, определяя колонки представления и устанавливая связи между таблицей OFICIANT и представлением, таблицей ZAKAZI и представлением. Связи с представлениями и прямоугольники представлений показываются на диаграмме пунктирными линиями.

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

Для редактирования колонок представления служит диалог View Column Editor. Для его вызова следует щелкнуть правой кнопкой мышки по представлению и выбрать в меню пункт View Column Editor. Используя этот редактор можно изменить параметры колонок созданного представления. Используя View Column Editor, отредактируйте свойства колонок представления, обратите внимание на связь домена колонки представления с доменом колонки таблицы.

2.4.2 Методические указания к выполнению п. 2.3.2. Для открытия файла с созданной ER-моделью учебного процесса выбирается команда Open пункта меню File. При этом появляется окно ERwin Open File, в котором выбирается файл Er_lab1.r1, находящийся в папке C:\Program Files\PLATINUM\ERwinERX 3.5.2\Models и нажимается кнопка OK. Из файла Er_lab1.r1 загружается ER-диаграмма, в которой необходимо создать представление (методические указания по созданию представления см. выше).

Для физической модели ERwin поддерживает правила проверки значений (валидации) для колонок, а также значение, присваиваемое колонкам по умолчанию.

Создание ограничений целостности. Чтобы создать правила валидации для таблицы следует вызвать редактор Columns Editor, щелкнув правой кнопкой мыши по таблице и выбрав во всплывающем меню пункт Columns Editor. Появится окно, представленное на рисунке 11, имеющее правую и левую части.

Выбрав в списке полей правой части окна необходимую колонку и перейдя в левой части окна на вкладку, обозначенную названием выбранной СУБД (SQL Server), следует нажать на кнопку , расположенную справа от раскрывающегося списка Valid. Появится диалог Validation Rule Editor (рисунок 12),  который служит для задания правил валидации для выбранного поля. Нажав на кнопку New, следует в появившемся окне (рисунок 12), ввести имя правила (Проверка индекса группы) и далее кнопку OK. Окно New Validation закроется и в область SQL Server Rule следует ввести правило проверки индекса группы (см. рисунок 12).

Рисунок 11 – Редактор Columns Editor

 

В окне Validation Rule Editor имеются поля Min и Max, в которые вводятся границы допустимых значений для данных колонки (значение колонки будет проверяться на вхождение в заданный диапазон). В случае выбора кнопки Valid Value задается список допустимых значений.

Флажки  NULL и NOT NULL используются для разрешения или запрета пустых значений в колонке.

Для установки значения по умолчанию необходимо выбрать поле Default (рисунок 11) и нажать на кнопку , расположенную справа от раскрывающегося списка Default. В появившемся диалоге SQL Server Default/Initial Editor (рисунок 13) щелкнуть по кнопке New, ввести имя значения по умолчанию в диалоге New Default и щелкнуть по кнопке OK. В области Default Name показывается список всех имен значений по умолчанию. В области Server Value - SQL Server Default вводится значение по умолчанию.

Для удаления и переименования значения служат соответственно кнопки Delete и Rename.

Рисунок 12 – Создание нового правила валидации

 

После создания правила валидации и значения по умолчанию их можно присвоить одной или нескольким колонкам или доменам.

Рисунок 13 – Установка значения по умолчанию

 

2.4.3 Методические указания к выполнению п. 2.3.3. Генерация схемы базы данных. Для создания базы данных выполняется команда Forward Engineer/Schema Generation пункта меню Tasks. ERwin позволяет построить пакет SQL-предложений генерации базы данных в формате выбранной СУБД. На рисунке 14 показан диалог выбора параметров генерации пакета для создания базы данных.

Диалог Schema Generation имеет три закладки.

Закладка Options служит для задания опций генерации объектов БД - триггеров, таблиц, представлений, колонок, индексов и т. д. Для задания опций генерации какого-либо объекта следует выбрать объект в левом списке закладки, после чего включить соответствующую опцию в правом списке.

В закладке Summary отображаются все опции, заданные в закладке Options. Список опций в Summary можно редактировать так же, как и в Options.

Закладка Comment позволяет внести комментарий для каждого набора опций. Каждый набор опций может быть именован (окно Option Set, кнопки New, Rename и Delete) и использован многократно.

Рисунок 14 – Генерация схемы базы данных

 

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

Кнопка Preview вызывает диалог Schema Generation Preview, в котором отображается SQL-скрипт, создаваемый ERwin для генерации схемы БД. Обратите внимание на команды CREATE TABLE и CREATE VIEW, которые создают, соответственно, таблицы и представления. Кнопка Print предназначена для вывода на печать создаваемого ERwin SQL-скрипта.

Кнопка Report сохраняет тот же скрипт в ERS или SQL - текстовом файле. Эти команды можно в дальнейшем редактировать любым текстовым редактором и выполнить в среде соответствующей СУБД.

 

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

2.5.1 Что собой представляют представления и для чего они используются?

2.5.2 На каком уровне модели данных (логическом или физическом) в ERwin создаются представления?

2.5.3 На каком уровне модели данных и какие ограничения целостности можно определить в ERwin?

2.5.4 Для чего используются правила валидации в ERwin?

2.5.5 Какие форматы баз данных поддерживает ERwin?

2.5.6 Какие параметры генерации пакета SQL-скриптов  для создания базы данных  можно установить в ERwin?

2.5.7 Какие действия можно выполнить с полученными SQL-скриптами  в ERwin?

2.5.8 Что понимается под реинжинирингом  баз данных в ERwin?

3 Теоретическая часть

Информационное моделирование. Базы данных создаются в несколько этапов, на каждом из которых необходимо согласовывать структуру данных с заказчиком. Поэтому представление данных должно быть простым и понятным всем заинтересованным лицам. Именно по этой причине, наибольшее распространение получила информационная модель баз данных под названием "сущность-связь" (entity-relationship), которая также известна как ER-диаграмма. Модели, представленные в виде ER-диаграмм, крайне просты и удобны для понимания. В настоящее время на рынке инструментов разработки баз данных присутствует  несколько продуктов автоматизации информационного моделирования структуры данных и бизнес правил (правил предметной области), использующих ER-диаграммы. Продукт ERwin (в настоящее время AllFusion Erwin Data Modeler фирмы Computer Associates) является среди них лидером.

Программный пакет ERwin  является CASE - средством разработки структур баз данных (БД), сочетает графический интерфейс Windows, инструменты для построения ER-диаграмм, редакторы для создания логического и физического описания модели данных и поддержку ведущих реляционных СУБД и настольных баз данных. С помощью ERwin можно создавать (выполнять инжиниринг) или проводить обратное проектирование (реинжиниринг) баз данных. Модели ERwin сохраняются в файлах с расширением er1.

Технология моделирования баз данных в среде Erwin.

Реализация моделирования в ERwin базируется на теории реляционных баз данных и на методологии IDEF1X. Методология IDEF1X была разработана для ВВС США и теперь используется, в частности, в правительственных, аэрокосмических и финансовых учреждениях, а также в большом числе частных компаний. Методология IDEF1X определяет стандарты терминологии, используемой при информационном моделировании, и графического изображения типовых элементов на диаграммах.

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

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

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

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

- определение сущностей;

- определение зависимостей между сущностями;

- задание первичных и альтернативных ключей;

- определение атрибутов сущностей;

- приведение модели к требуемому уровню нормальной формы;

- переход к физическому описанию модели (назначение соответствий имя сущности - имя таблицы, атрибут сущности - атрибут таблицы);

- задание триггеров, процедур и ограничений;

- генерация базы данных.

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

Режим "сущности" - внутри прямоугольников отображается имя сущности (для логической модели) или имя таблицы (для физического представления модели); служит для удобства обзора большой диаграммы или размещения прямоугольников сущностей на диаграмме.

Режим "определение сущности" служит для презентации диаграммы другим людям.

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

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

Режим "пиктограммы". Для презентационных целей каждой таблице может быть поставлена в соответствие пиктограмма (иконка).

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

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

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

Интерфейс ERwin имеет 5 панелей инструментов: стандартную (Toolbar); панель инструментов для создания сущностей и связей (Erwin Toolbox); панель инструментов для выбора шрифтов и цветов (Font & Color Toolbar); панель инструментов для работы с хранилищем моделей (ModelMart Toolbar); панель инструментов для определения доменов атрибутов (Independent Attribute Browser).

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

Для создания моделей Erwin использует 3 международно-признанные системы обозначений (нотации): Integration DEFinition for Information Modeling (IDEF1X); Information Engineering (IE); Dimensional Modeling (DM).

На логическом уровне Erwin поддерживает две нотации (IE и IDEF1X), на физическом – три нотации (IE, IDEF1X и DM). Палитра инструментов (Erwin Toolbox) выглядит различно в зависимости от уровня модели и выбранной нотации. Переключение между нотациями можно выполнить во вкладке Methodology диалогового окна Preferences, вызываемого командой Preferences пункта Option системного меню.

На физическом уровне можно выбрать необходимую СУБД, используя команду Target Server пункта Server системного меню.

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

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

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

ERwin поддерживает 20 форматов баз данных серверных и настольных СУБД. В этот список входят такие продукты, как Microsoft SQL Server, Oracle, Sybase, DB2, INFORMIX, Red Brick, Teradata, PROGRESS, Microsoft Access, FoxPro, Clipper и многие другие. Проектирование на физическом уровне выполняется в терминах той базы данных, которую предполагается использовать в системе.

В ERwin возможно преобразование физической схемы, спроектированной для одной СУБД, в другую. Для создания физической структуры БД может быть запрошена генерация DDL-скрипта (Data Definition Language). При этом используется диалект SQL для выбранного типа и версии сервера. Сгенерированный код можно сохранить в текстовом файле, распечатать.

Для создания базы данных выполняется команда Forward Engineer/Schema Generation пункта меню Tasks. Появляется окно, в котором кнопка Generate позволяет выполнить генерацию базы данных в формате выбранной СУБД. В последнем случае необходимо задать имя директория  для сохранения БД. Кнопка Generate запускает процесс генерации схемы. Возникает диалог связи с БД, устанавливается сеанс связи с сервером и начинает выполняться SQL-скрипт. При этом возникает диалог Generate Database Schema.

ERwin имеет средство, выполняющее задачу, обратную генерации, что называется "обратная разработка" (Reverse Engineer): ERwin может присоединиться к СУБД, получить всю информацию о структуре базы данных и отобразить ее в графическом интерфейсе, сохранив все сущности, связи, атрибуты и прочие свойства. Таким образом, можно переносить существующую структуру данных с одной платформы на другую, а также исследовать структуру существующих баз данных.

 

Список литературы

1. Дейт С. Введение в системы баз данных. – М.: Вильямс, 2001.-1072с.

2. Дунаев В.В. Базы данных. Язык SQL. – СПб.: БХВ – Петербург, 2006. - 279 с.

3. Вендров А.М. Проектирование программного обеспечения экономических информационных систем. – М.: Финансы и статистика, 2002.-352 с.

4. Маклаков С.В. BPwin и Erwin. CASE-средства разработки информационных систем. – М.: ДИАЛОГ - МИФИ, 2001. - 304 с.

5. Маклаков С.В. Создание информационных систем с AllFusing Modeling Suite. – М.: ДИАЛОГ- МИФИ, 2003.- 432 с.

6. Калянов Г.Н. CASE-технологии: консалтинг в автоматизации бизнес-процессов. – М.: Горячая линия - Телеком, 2002.- 320 с.