Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ Компьютерный практикум 2012u.doc
Скачиваний:
20
Добавлен:
23.08.2019
Размер:
2.14 Mб
Скачать

Типы связей.

Связь является логическим соотношением между сущностями. Каждая связь должна именоваться глаголом или глагольной фразой (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. Откройте файл логической модели БД.

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

  3. Д ля редактирования названия сущности выберите команду Сущность (Entity) в меню Модель (Model) (рисунок 12) или выполните команду Редактировать сущность (Entity Editor) из контекстного меню выделенной сущности. Вызов контекстного меню – правая кнопка мыши. Введите в диалоговом окне Редактор сущности (Entity Editor) в строке Имя (Name) – название (определение сущности).

Рисунок 12 - Диалоговое окно Редактора сущности

  1. Установите не идентифицирующие необязательные связи (Non-identifying relationship) между таблицами “Страна”-“Фирма”, независимыми (родительскими) таблицами ”Двигатель”, “Шины”, ”Кузов”, ”Фирма” и зависимой (дочерней) таблицей “Модель”.

  2. Установите не идентифицирующие обязательные связи (Non-identifying relationship) между таблицами “Продавец”-“Заказ”, “Клиент”-“Заказ”,. Для вызова Редактора связей выберите команду Связь (Relationship) в меню Редактор (Edit) или выполните команду Редактировать связь (Relationship Editor) из контекстного меню выделенной связи. Вызов контекстного меню – правая кнопка мыши. Определите в диалоговом окне Мощность связи (Cardinality) – 1 или Много (P) и включите флажок обязательность связи (No Nulls) в разделе Тип связи (Relationship Type) (рисунок 9).

  3. Установите не идентифицирующие обязательные связи (Non-Identifying relationship) между таблицами “Модель”-“Автомобиль”, “Автомобиль”-“Счет”. Определите Мощность связи (Cardinality) – 1 в поле Exactly.

  4. Установите не идентифицирующие обязательные связи (Non-Identifying relationship) между таблицами “Продажа” – “Счет”, “Клиент” – “Счет”, “Модель” – “Заказ”. Определите Мощность связи (Cardinality) –1 или Много (P).

  5. Для отображения мощности связи на экране выполните команду Display Options - Relationships – Cardinality в контекстном меню окна изображения диаграммы Display1. Вызов контекстного меню – правая кнопка мыши.

  6. О пределите имена связей в окне Редактора связей (Relationship Type) в поле Имя связи (Verb Phrase) (рисунок 13).

Рисунок 13 - Диалоговое окно Редактора связей

  1. Для отображения имени связи на экране выполните команду Display Options/Relationships – Verb Phrase в контекстном меню окна изображения диаграммы Display1. Вызов контекстного меню – правая кнопка мыши.

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

Рисунок 14 – Логическая модель БД на уровне сущностей

  1. Укажите уровень отображения модели – Уровень атрибутов (Attribute view). Проверьте и отредактируйте имена атрибутов в соответствующих сущностях в соответствии с таблицой В.1 приложения В.

  2. Для редактирования имен атрибутов выберите команду Атрибуты (Attribute) в меню Модель (Model) (рисунок 15) или выполните команду Редактировать атрибуты (Entity Attribute) из контекстного меню выделенной сущности. Выберите команду редактировать (Rename) и введите имя атрибута в диалоговом окне.

  3. У становите ключевое поле в качестве первичного ключа, включив флажок Ключевое поле (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. Для просмотра результатов генерации откройте созданную базу данных в выбранной СУБД.