
- •В.В. Мокеев методология моделирования данных в среде erwin
- •Оглавление
- •Тема 1. Создание диаграммы сущность-связь Основные цели
- •Теоретическая часть
- •Учебное задание
- •Технология выполнения учебного задания
- •Рекомендации при выборе первичного ключа.
- •Контрольные вопросы
- •Самостоятельное задание
- •Тема 2. Разработка модели данных, основанной на ключах Основные цели
- •Теоретическая часть
- •Учебное задание
- •Технология выполнения учебного задания
- •Контрольные вопросы
- •Учебное задание
- •Технология выполнения учебного задания
- •Контрольные вопросы
- •Самостоятельное задание
- •Тема 4. Создание физического уровня модели Основные цели
- •Теоретическая часть
- •Учебное задание
- •Технология выполнения учебного задания
- •Контрольные вопросы
- •Учебное задание
- •Технология выполнения учебного задания
- •Контрольные вопросы
- •Самостоятельное задание
- •Приложение 1. Методология моделирования данныхIdef1x
- •Диаграмма сущность-связь
- •Сущность
- •Именование сущностей
- •Описание сущностей
- •Атрибут
- •Тип связи
- •Идентифицирующая и неидентифицирующая связи
- •Связи типа «один-ко-одному», «один-ко-многим», «многие ко-многим»
- •Имя связи
- •Мощность связи
- •Правила ссылочной целостности
- •Модель данных, основанная на ключах
- •Правила ссылочной целостности
- •Зависимые и независимые сущности.
- •Идентифицирующие и неидентифицирующие связи.
- •Связь «многие ко многим»
- •Распространенные ошибки при моделировании сущностей и выборе ключей
- •Моделирование ролей
- •Перегрузка сущностей
- •Избыточные сущности
- •Выбор неправильного первичного ключа
- •Использование неудачных имен сущностей
- •Использование неудачных описаний сущностей
- •Полная атрибутивная модель
- •Нормализация
- •Денормализация
- •Создание физического уровня модели
- •Приложение 2. Наиболее часто задаваемые вопросы
Учебное задание
Создайте логическую модель филиала страховой фирмы на уровне диаграммы сущность-связь и модели данных, основанной на ключах, используя концептуальную модель, разработанной на предыдущем уроке.
Технология выполнения учебного задания
1. Запустите программу ERWin. Открывается рабочее окно программы ERWin для создания модели и основная панель инструментов (табл. 1.1).
Таблица 1.1
Основная панель инструментов ERWin
Кнопки |
Назначение кнопок |
|
Создание, открытие, сохранение и печать модели |
|
Вызов диалогового окна Report Browser для генерации отчетов |
|
Изменение уровня просмотра модели: уровень сущностей, уровень атрибутов и уровень определений |
|
Изменение масштаба просмотра модели |
|
Генерация схемы БД, выравнивание схемы с моделью и выбор сервера (доступны только на уровне физической модели) |
|
Вызов дополнительной панели инструментов для работы с репозитарием Model Mart |
|
Переключение между областями модели
|
Палитра инструментов выглядит различно на разных уровнях отображения модели.
На логическом уровне панель инструментов выглядит как в табл. 1.2.
2. Внесем сущности АГЕНТ, КЛИЕНТ, СТРАХОВОЙ ДОГОВОР, ИМУЩЕСТВО, УСЛУГА, ЛЬГОТА в диаграмму. Для этого нажмите кнопку «Entity», установите указатель мыши в то место на диаграмме, где бы хотели расположить сущность, и один раз нажмите левую клавишу мыши.
Таблица 1.2.
Палитра инструментов на логическом уровне
-
Кнопка
Описание
Кнопка указателя (режим мыши) – в этом режиме можно установить фокус на каком-либо объекте модели.
Кнопка внесения сущности – для внесения сущности нужно щелкнуть левой кнопкой мыши по кнопке внесения сущности и один и один раз по свободному пространству на модели. Для редактирования сущностей или других объектов модели необходимо перейти в режим указателя.
Кнопка категории. Категория или категориальная связь – это специальный тип связи между сущностями. Для установления категориальной связи нужно щелкнуть левой кнопкой мыши по кнопке категории, затем один раз щелкнуть по сущности-родовому предку, затем по сущности-потомку.
Кнопка внесения текстового блока. С ее помощью можно внести текстовый комментарий в любую часть графической модели.
Кнопка перенесения атрибутов внутри сущностей и между ними. Атрибуты могут быть перемещены способом drag & drop.
Кнопка создания идентифицирующей связи.
Кнопка создания связи «многие-ко-многим».
Кнопка создания неидентифицирующей связи.
3. Отредактируйте названия сущностей на диаграмме, как это показано на рис. 1.2. Для этого нажмите правую клавиши мыши и выберите из всплывающего меню команду «Entity Editors».
Каждая сущность должна быть полностью определена с помощью текстового описания во вкладке Definition. ВкладкиNote,Note2,Note3,UDP(UserDefinedProperties– свойства, определенные пользователем) служат для внесения дополнительных комментариев и определений к сущности. В ранних версияхERwinвкладкамNote2 иNote3 соответствовали окнаQueryиSample.
Рис. 1.2. Внесение новых сущностей в диаграмму
Вкладка Definitionиспользуется для ввода определения сущности. Эти определения полезны как на логическом уровне, поскольку позволяют понять, что это за объект, так и на физическом уровне, поскольку их можно экспортировать как часть схемы и использовать в реальной базе данных (CREATECOMMENTonentity_name).
Вкладка Noteпозволяет добавлять дополнительные замечания о сущности, которые не были отражены в определении, введенном во вкладкеDefinition. Здесь можно ввести полезное замечание, описывающее какое-либо бизнес-правило или соглашение по организации диаграммы.
Во вкладке Note2 можно задокументировать некоторые возможные запросы, которые, как ожидается, будут использоваться по отношению к сущности в базе данных
Вкладка Note3 позволяет вводить примеры данных для сущности (в произвольной форме).
Во вкладке Iconкаждой сущности можно поставить в соответствие изображение, которое будет отображаться в режиме просмотра модели на уровне иконок.
Рис. 1.3. Панель диалога редактора сущностей
4. Для этого выделите сущность, щелкните по ней правой кнопкой и выберите команду Аttribute Editor…
Рис. 1.4. Панель диалога редактора атрибутов сущностей
Далее щелкните по кнопке New, и в появившемся диалогеNewAttribute(рис. 1.4) укажите имя атрибута (AttributeName), имя соответствующей ему в физической модели колонки (Column Name) и домен (Domain). Домен атрибута будет использоваться при определении типа колонки на уровне физической модели. Имя атрибута можно задавать на русском, а имя колонки на английском.
Очень важно дать атрибуту правильное имя. Атрибуты должны именоваться в единственном числе и иметь четкое смысловое значение. Соблюдение этого правила позволяет частично решить проблему нормализации данных уже на этапе определения атрибутов. Например, создание в сущности КЛИЕНТ атрибута ФИО противоречит требованиям нормализации, поскольку атрибут должен быть атомарным, т.е. не содержать множественных значений.
Атрибут или группа атрибутов, которые идентифицируют сущность, называется первичным ключом. Для атрибутов первичного ключа во вкладке GeneralдиалогаAttributesнеобходимо сделать пометку в окне выбораPrimaryKey.