
- •Министерство образования и науки Российской Федерации
- •О.И. Бедердинова Компьютерный практикум
- •Часть 1
- •Практическая работа № 1. Создание и форматирование документов в текстовом редакторе
- •Сохранить документ на диске н.
- •Сохранить документ на диске н. Практическая работа № 2. Постановка задачи. Построение информационной модели предприятия
- •Выполнение формализованного описания задачи.
- •Построение информационной модели предприятия.
- •Практическая работа № 3. Построение логической модели базы данных.
- •Типы связей.
- •3 Обратное проектирование. Создание логической модели данных путем генерации физической модели.
- •Лабораторная работа № 4. Создание физической модели базы данных в субд.
- •Лабораторная работа № 5. Создание форм для работы с данными в субд.
- •Лабораторная работа № 6. Создание запросов в субд.
- •Лабораторная работа № 7. Создание отчетов в субд.
- •Приложение а
- •Приложение б
- •Министерство образования и науки Российской Федерации
- •Техническое задание
- •Приложение в
- •Сущности и атрибуты
- •Пример отчета установленных ассоциаций сущностей и атрибутов для работы 1
Типы связей.
Связь является логическим соотношением между сущностями. Каждая связь должна именоваться глаголом или глагольной фразой (Relationship Verb Phrases). Имя связи выражает некоторое ограничение или бизнес-правило и облегчает чтение диаграммы, например:
- Каждый КЛИЕНТ <размещает> заказы;
- Каждый ЗАКАЗ <выполняется> сотрудником.
Связь показывает, какие именно заказы разместил клиент, и какой именно сотрудник выполняет заказ.
На логическом уровне можно установить:
идентифицирующую связь один-ко-многим;
идентифицирующую связь один-к-одному;
не идентифицирующую связь один-ко-многим;
не идентифицирующую связь один-к-одному;
связь многие-ко-многим.
Идентифицирующая связь устанавливается между независимой (родительский конец связи) и зависимой (дочерний конец связи) сущностями. Когда устанавливается идентифицирующая связь, ERwin автоматически преобразует дочернюю сущность в зависимую. При установлении идентифицирующей связи атрибуты первичного ключа родительской сущности автоматически переносятся в состав первичного ключа дочерней сущности. Эта операция дополнения атрибутов дочерней сущности при создании связи называется миграцией атрибутов. В дочерней сущности новые атрибуты помечаются как внешний ключ - (FK). В дальнейшем, при генерации схемы БД атрибуты первичного ключа получат признак NOT NULL, что означает невозможность внесения записи в дочернюю таблицу без информации из родительской таблицы.
Идентифицирующая связь показывается на диаграмме сплошной линией с жирной точкой на дочернем конце связи.
При установлении не идентифицирующей связи дочерняя сущность остается независимой, а атрибуты первичного ключа родительской сущности мигрируют в состав не ключевых компонентов дочерней сущности. Не идентифицирующая связь служит для связывания независимых сущностей. При такой связи допускается нулевое значение внешнего ключа.
Не идентифицирующая связь показывается на диаграмме пунктирной линией с жирной точкой на дочернем конце связи.
Для не идентифицирующей связи можно указать обязательность (Nulls). В случае обязательной связи (No Nulls) при генерации схемы БД атрибут внешнего ключа получит признак NOT NULL, несмотря на то, что внешний ключ не войдет в состав первичного ключа дочерней сущности. В случае необязательной связи (Nulls Allowed) внешний ключ может принимать значение NULL.
Необязательная не идентифицирующая связь помечается прозрачным ромбом со стороны родительской сущности.
Мощность связи (Cardinality) - служит для обозначения отношения числа экземпляров родительской сущности к числу экземпляров дочерней.
Различают четыре типа мощности:
общий случай, когда одному экземпляру родительской сущности соответствуют 0, 1 или много экземпляров дочерней сущности, не помечается каким-либо символом;
символом Р помечается случай, когда одному экземпляру родительской сущности соответствуют 1 или много экземпляров дочерней сущности (исключено нулевое значение);
символом Z помечается случай, когда одному экземпляру родительской сущности соответствуют 0 или 1 экземпляр дочерней сущности (исключены множественные значения);
цифрой помечается случай точного соответствия, когда одному экземпляру родительской сущности соответствует заранее заданное число экземпляров дочерней сущности.
Имя связи (Verb Phrase) - фраза, характеризующая отношение между родительской и дочерней сущностями. Для связи один-ко-многим, идентифицирующей или не идентифицирующей, достаточно указать имя, характеризующее отношение от родительской к дочерней сущности (Parent-to-Child). Для связи многие-ко-многим следует указывать имена как Parent-to-Child, так и Child-to-Parent.
Инструментальная панель CASE – средства ERWin.
Для построения модели данных используется панель инструментов.
Назначение кнопок (пиктограмм) слева направо:
Стрелка - режим работы с объектами;
Сущности - создание новой сущности;
Категория - создание категориальной связи;
Идентифицирующая связь - создание идентифицирующей связи;
Связь многие-ко-многим - создание связи многие-ко-многим;
Не идентифицирующая связь - создание не идентифицирующей связи.
Для отображения уровня модели используется панель, представленная на рисунке 10.
Рисунок 10 - Панель отображения уровней модели
Назначение кнопок слева направо:
Уровень сущностей - отображение имен таблиц на диаграмме;
Уровень атрибутов - отображение таблиц и всех атрибутов;
Уровень определений - отображение назначения таблиц.
Для отображения подмножества и типа модели используется панель, представленная на рисунке 11.
Рисунок 11 - Панель выбора подмножества и типа модели
Назначение кнопок слева направо:
Подмножества модели - Выбор отображения подмножества модели;
Тип модели - Выбор отображения типа модели.
Выполнение работы:
Если вы перенесли сущности и атрибуты из BPWin, то вам необходимо установить необходимые связи, ключевые поля и свойства модели в Erwin без создания нового файла, сущностей и атрибутов.
1. Создание логической модели базы данных.
Откройте файл логической модели БД.
Проверьте в окне модели БД все необходимые сущности (таблица В.1 приложения В) в соответствии с постановкой задачи.
Д
ля редактирования названия сущности выберите команду Сущность (Entity) в меню Модель (Model) (рисунок 12) или выполните команду Редактировать сущность (Entity Editor) из контекстного меню выделенной сущности. Вызов контекстного меню – правая кнопка мыши. Введите в диалоговом окне Редактор сущности (Entity Editor) в строке Имя (Name) – название (определение сущности).
Рисунок 12 - Диалоговое окно Редактора сущности
Установите не идентифицирующие необязательные связи (Non-identifying relationship) между таблицами “Страна”-“Фирма”, независимыми (родительскими) таблицами ”Двигатель”, “Шины”, ”Кузов”, ”Фирма” и зависимой (дочерней) таблицей “Модель”.
Установите не идентифицирующие обязательные связи (Non-identifying relationship) между таблицами “Продавец”-“Заказ”, “Клиент”-“Заказ”,. Для вызова Редактора связей выберите команду Связь (Relationship) в меню Редактор (Edit) или выполните команду Редактировать связь (Relationship Editor) из контекстного меню выделенной связи. Вызов контекстного меню – правая кнопка мыши. Определите в диалоговом окне Мощность связи (Cardinality) – 1 или Много (P) и включите флажок обязательность связи (No Nulls) в разделе Тип связи (Relationship Type) (рисунок 9).
Установите не идентифицирующие обязательные связи (Non-Identifying relationship) между таблицами “Модель”-“Автомобиль”, “Автомобиль”-“Счет”. Определите Мощность связи (Cardinality) – 1 в поле Exactly.
Установите не идентифицирующие обязательные связи (Non-Identifying relationship) между таблицами “Продажа” – “Счет”, “Клиент” – “Счет”, “Модель” – “Заказ”. Определите Мощность связи (Cardinality) –1 или Много (P).
Для отображения мощности связи на экране выполните команду Display Options - Relationships – Cardinality в контекстном меню окна изображения диаграммы Display1. Вызов контекстного меню – правая кнопка мыши.
О
пределите имена связей в окне Редактора связей (Relationship Type) в поле Имя связи (Verb Phrase) (рисунок 13).
Рисунок 13 - Диалоговое окно Редактора связей
Для отображения имени связи на экране выполните команду Display Options/Relationships – Verb Phrase в контекстном меню окна изображения диаграммы Display1. Вызов контекстного меню – правая кнопка мыши.
В результате выполнения вышеизложенного создали логическую модель базы данных на уровне сущностей, приведенную на рисунке 14.
Рисунок 14 – Логическая модель БД на уровне сущностей
Укажите уровень отображения модели – Уровень атрибутов (Attribute view). Проверьте и отредактируйте имена атрибутов в соответствующих сущностях в соответствии с таблицой В.1 приложения В.
Для редактирования имен атрибутов выберите команду Атрибуты (Attribute) в меню Модель (Model) (рисунок 15) или выполните команду Редактировать атрибуты (Entity Attribute) из контекстного меню выделенной сущности. Выберите команду редактировать (Rename) и введите имя атрибута в диалоговом окне.
У
становите ключевое поле в качестве первичного ключа, включив флажок Ключевое поле (Primary Key) (рисунок 15).
Рисунок 15 – Диалоговое окно Редактора атрибутов
2. Создание физической модели данных путем генерации логической модели.
Для перехода от логической к физической модели данных cоздайте новое хранимое отображение (Display 2 –Модель на физическом уровне отображения), используя команду контекстного меню Stored Display Settings…, или выберите в главном меню пункт Format и выполните команду Stored Display Settings….
Выберите тип отображения модели – физический (Physical).
Для выбора платформы СУБД воспользуйтесь пунктом меню DataBase - Choose DataBase и в диалоге установок выберите необходимый формат (СУБД ACCESS 2000) и дополнительные опции (рисунок 16). По умолчанию определена платформа СУБД ORACLE.
Р
исунок
16 - Диалог настройки формата СУБД
Отредактируйте свойства атрибутов на физическом уровне с помощью команды контекстного меню Columns… (рисунок 17). Установите типы атрибутов в формате выбранной СУБД (СУБД ACCESS 2000).
Рисунок 17 - Диалог редактирования атрибутов
Дополнительные закладки используются для детализации типов данных. Например: уточнить тип числа, значение по умолчанию, задать маску ввода, подпись поля и т.п. Их название и возможности зависят от выбранной СУБД.
Генерация физической модели.
Для начала генерации в СУБД ACCESS надо создать новую пустую базу данных и закрыть ее.
Установите связь с физической моделью базы данных, используя команду пункта главного меню Database - Database Connection (рисунок 18).
Рисунок 18 - Диалог установления связи с физической моделью базы данных
В диалоговом окне установления связи определите:
имя пользователя - имя ADMIN;
пароль (при необходимости);
имя базы, куда будет производиться генерация (имя созданной базы в СУБД), для выбора можно воспользоваться кнопкой Browse;
имя системной базы данных.
Далее выбрать пункт меню Tools - Forward Engineering - Schema Generation установить параметры формирования физической модели (рисунок 19). Нажав кнопку PREVIEW, можно посмотреть скрип базы. Здесь можно задать собственные параметры генерации, запомнив их с собственным названием формата.
Рисунок 19 - Диалог формирования параметров для генерации
Для начала генерации физической модели базы данных в формат выбранной СУБД нажмите кнопку Generate. Для просмотра результатов генерации откройте созданную базу данных в выбранной СУБД.