Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методичка_Разработка ER

.pdf
Скачиваний:
22
Добавлен:
18.03.2015
Размер:
471.68 Кб
Скачать

Разработка ER-модели в среде ER – Win и ее преобразование в локальную БД конкретной СУБД

Цель работы: освоить возможности программы ERWin для моделирования данных предметной области и генерации файлов проектируемой БД в конкретной СУБД.

Задачи работы: изучить и практически освоить возможности программы ERWin по приведенному примеру, создать в среде ERWin логическую и физическую модели данных предметной области и выполнить генерацию БД в MS Access.

1 Общие положения

1.1 Реляционные базы данных

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

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

1.2 Назначение, возможности и использование среды ERWin.

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

ERWin обеспечивает автоматическую генерацию файлов БД в различных форматах (Oracle, DB2, Informix, Sybase, Microsoft SQL Server, Access, Paradox и др.). Одна и та же модель может быть использована для

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

Объектами модели, создаваемой средствами ERWin, являются: сущности (entities), атрибуты (attributes), таблицы, колонки (столбцы таблиц), «представления» (views), обозначения подтипов (subtype symbols), домены (domains), сохраняемые процедуры (stored procedures), линии отношений

(relationship lines).

1.3 Моделирование в ERWin

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

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

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

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

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

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

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

переход к физическому описанию модели: назначение соответствий «имя сущности – имя таблицы», «атрибут сущности – атрибут таблицы»; задание триггеров, процедур и ограничений;

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

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

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

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

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

1.3.3. Сущности в ERWin

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

атрибуты, составляющие первичный ключ;

неключевые атрибуты;

тип сущности (независимая/зависимая).

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

Для каждого первичного ключа ERWin создает при генерации структуры БД уникальный индекс.

Правила определения сущностей состоят в следующем:

сущность должна иметь уникальное имя;

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

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

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

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

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

Рисунок 1 Пример отображения зависимой и независимой сущности

1.3.4. Связи (relationships) в ERWin

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

1.4 Описание работы с пакетом ERWin

При запуске ERWin отрывается рабочее окно, в котором присутствует основная панель инструментов, палитра инструментов. Назначение кнопок основной панели инструментов приведено в таблице 1.

Таблица 1 Кнопки основной панели инструментов

Кнопки

Назначение

 

Создание, открытие, сохранение и печать модели

 

 

Вызов диалога Report Browser для генерации отчетов

 

 

 

Изменение уровня просмотра модели: уровень сущностей,

 

 

 

уровень атрибутов и уровень определений

 

Изменение масштаба просмотра модели

 

 

Генерация схемы БД, выравнивание схемы с моделью и выбор

 

 

 

сервера (доступны только на уровне физической модели)

 

 

ERWin имеет два уровня представления модели – логический и физический. Логическая модель данных является универсальной и никак не связана с конкретной реализацией СУБД. Физическая модель зависит от конкретной СУБД, фактически являясь отображением системного каталога. В физической модели содержится информация обо всех объектах БД. Для переключения между логической и физической моделью данных служит список выбора в левой части панели инструментов ERWin (рисунок 2).

Рисунок 2 Переключение между логической и физической моделью

Палитра инструментов выглядит различно на разных уровнях отображения модели. На логическом уровне (рисунок 3) палитра инструментов содержит следующие кнопки (слева направо и сверху вниз):

указатель для выделения элементов модели;

добавление сущности;

выбор категории, например, в сущности Сотрудник может быть 2 категории: постоянный и совместитель;

добавление текстового блока;

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

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

Рисунок 3 Палитра инструментов на логическом уровне На физическом уровне (рисунок 4) палитра инструментов содержит:

вместо кнопки категорий кнопку внесения представлений;

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

Рисунок 4 Палитра инструментов на физическом уровне

1.5 Пример создания логической модели

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

Описание предметной области. База данных создается для хранения информации о товарах и клиентах. Товары каждого наименования могут быть реализованы одновременно нескольким клиентам, и, в то же время, каждый клиент может купить одновременно несколько товаров. Решаемые задачи: учет товаров (сведения о всех товарах, например, название, цена и др.); их реализация (дата отгрузки, кому, объем реализации, дата оплаты, от кого, сумма); учет клиентов фирмы (данные о всех клиентах предприятия, которые покупают его товары).

Для реализации данной задачи необходимо построить ER-модель. Для этого выполнить команду File/New или выбрать инструмент Creat Model, установить переключатель Logical/Physical, закончить диалог. На панели инструментов выбрать блок Entity. Для того, чтобы названия сущностей и атрибутов отображались на русском языке, выполнить команду Format/Object

Font&Color для установки типа шрифта «Кириллица» на вкладках Entities, Attributes (рисунок 5)

Рисунок 5 Диалоговое окно установки типов шрифтов

 

Щелкнув правой кнопкой мыши по сущности

и выбрав из

контекстного меню пункт Entity Editor, можно вызвать диалог Entity Editor (рисунок 6), в котором определяются имя, комментарии и описание сущности. Каждая сущность должна быть полностью определена с помощью текстового описания в закладке Definition. Закладки Note, Note 2, Note 3, UDP служат для внесения дополнительных комментариев и определений к сущности.

Далее из контекстного меню сущности Товар вызвать команду Attributes для ввода данных об атрибутах рассматриваемой сущности. Для этого нажать на кнопку New, в появившемся окне New Attribute выбрать тип атрибута, например Number (числовой), и в поле Attribute Name ввести название атрибута, например, шифр товара.

Рисунок 6 Диалоговое окно Entity Editor

Рисунок 7 Задание атрибутов сущности

Аналогичным образом заполнить все атрибуты сущностей Товары, Клиенты, Реализация (рисунок 8, 9, 10). Обратить внимание на то, что в сущности Реализация ключевых атрибутов не задано.

Рисунок 8 Перечень атрибутов сущности Товары

Рисунок 9 Перечень атрибутов сущности Клиенты

объем_реализации способ_оплаты дата_отгрузки способ доставки

Рисунок 10 Перечень атрибутов сущности Реализация

Наложить на сущность Реализация идентифицирующие связи с сущностями Товары и Клиенты (рисунок 11). Для установки связи необходимо кликнуть по кнопке Связь на панели инструментов, затем указать сначала на родительскую сущность, а потом на дочернюю.

Рисунок 11 Вид логической модели после определения связей

Далее преобразовать логическую ER-модель в физическую. Вид модели на физическом уровне представлен на рисунке 12.

Рисунок 12 Вид модели на физическом уровне

1.6 Генерация файлов БД

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

1.Запустить MS Access, создать новую (пустую) БД. Эта операция может быть выполнена до разработки ER-модели.

2.Если предполагается использовать MS Access 2003 и более поздние версии, то созданный пустой файл БД следует сохранить в формате MS Access 2000. В Access 2010 для сохранения файла БД в формате MS Access 2000 нужно выполнить команду Файл/Сохранить и опубликовать/ Сохранить БД как БД Access 2000.

3.Закрыть приложение MS Access.

Далее нужно выбрать сервер или СУБД, которая будет использоваться для работы с создаваемой БД. Для этого выполнить команду меню Database / Choose Database и в диалоговом окне Target server («целевой сервер»)

установить переключатели (см. рисунок 13).

Рисунок 13 Диалоговое окно Target Server