Добавил:
rushevamar@mail.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD_Laboratornyi_774_praktikum.doc
Скачиваний:
28
Добавлен:
17.06.2021
Размер:
921.09 Кб
Скачать

Раздел III. Выполнение вариантов трансформы категориальной связи

1. В режиме показа физической модели выделите мышью значок категориальной связи и опробуйте каждый из трех вариантов трансформы этой связи с помощью соответствующих кнопок на панели инструментов (Supertype-Subtype Identity, Supertype-Subtype Rollup, Supertype-Subtype Rolldown). Для запуска второго и третьего вариантов трансформы нужно закрыть текущую модель данных без сохранения на диске, после чего снова открыть модель данных из файла Фирма.erwin.

Окончательным сделайте первый вариант трансформы (Supertype-Subtype Identity).

Примечание. Если в окне Model Properties, которое вызывается командой меню ModelModel Properties, на вкладке General установить флажок Auto apply Supertype-Subtype Identity transform, то Erwin будет автоматически выполнять первый вариант трансформы категориальной связи при переключении с логической модели на физическую.

2. Сохраните текущую модель данных на жестком диске.

3. Запустите СУБД Access и создайте новую пустую базу данных Фирма.mdb, после чего закройте Access.

4. В ERwin выполните процесс прямого проектирования (Forward Engineer) с наполнением файла базы данных Фирма.mdb метаданными согласно созданной физической модели данных. После завершения процесса прямого проектирования с помощью команды меню DatabaseDatabase Connection разорвите соединение с базой данных Фирма.mdb путем нажатия кнопки Disconnect.

5. Запустите СУБД Access, откройте базу данных Фирма.mdb и просмотрите структуру полученных таблиц и связей между ними.

Раздел IV. Выполнение методов синхронизации системного каталога базы данных и текущей модели

1. В таблицу Сотрудник базы данных Фирма.mdb внесите следующие изменения: удалите поле Оклад, измените поле Должность на поле Код должности (тип данных – Числовой), замените поле ФИО полями Фамилия, Имя, Отчество, где Фамилия - обязательное поле.

2. Создайте в базе данных Фирма.mdb новую таблицу Должность с полями: Код должности (числовое, первичный ключ), Наименование должности (текстовое, обязательное поле), Оклад по должности (числовое).

3. Откройте окно Схема данных, затем откройте окно Добавление таблицы и добавьте в схему данных созданную таблицу Должность. Далее установите связь (с обеспечением целостности данных) между таблицами Должность и Сотрудник путем перетаскивания первичного ключа из таблицы Должность (поле Код должности) на аналогичное поле таблицы Сотрудник. После этого схема данных должна выглядеть примерно так, как показано на рис. 2.1. Далее закройте СУБД Access.

Рис. 2.1. Схема данных для базы данных Фирма

4. В ERwin выполните процесс синхронизации системного каталога базы данных и текущей модели данных. Суть этого состоит в том, чтобы изменения, внесенные в базу данных, вызвали соответствующие изменениям и в модели данных. Для этого нажмите кнопку Complete Compare на панели инструментов и запустите мастер синхронизации. В нем можно выполнить сравнение двух моделей данных – левой и правой (Left Model и Right Model), получить список различающихся элементов и привести их в соответствие друг другу на основе левой или правой модели. По умолчанию в качестве левой модели используется текущая модель данных, с которой работает Erwin. В качестве правой модели можно использовать:

1) другую модель данных (Erwin позволяет открывать и работать с несколькими моделями данных);

2) модель, сгенерированную на основе системного каталога базы данных;

3) модель, сгенерированную на основе SQL-скрипта.

Нам нужен второй вариант, поэтому в группе переключателей Load From выберите переключатель Database/Script, нажмите кнопку Load и установите связь (Connect) с базой данных Фирма.mdb. После этого в списке Open Models in Memory появится новая (вторая) строка, соответствующая сгенерированной правой модели. Далее переместитесь на последнюю страницу мастера (попутно можно отключить объекты, отсутствующие в обеих моделях, хотя это и необязательно) и нажмите кнопку Compare. В появившемся модальном окне Resolve Differences отключите кнопку NotEqual и просмотрите расположенный ниже список различий между левой и правой моделями, снабженный желтыми и синими стрелками. Т.к. нужно скорректировать левую модель, то необходимо использовать желтые стрелки, устраняя различие между правой и левой моделями на основе правой модели. После нажатия соответствующих желтых стрелок, список различий очистится и окно Resolve Differences можно закрыть с помощью кнопки Finish. Далее закройте окно мастера синхронизации.

Примечание. Если на последней странице мастера отключить флажок Auto close Database/Script Models, то после завершения работы с мастером синхронизации правая модель данных не будет удалена из рабочего окна Erwin.

5. Сохраните текущую модель данных на жестком диске в файле Firma_part41.erwin и далее внесите в нее следующие изменения на уровне логической модели. Создайте новую сущность Товар и переместите в нее из сущности Движение атрибуты Код товара, Имя товара и Ед_измерения (первичный ключ – Код товара). Создайте неидентифицирующую связь 1:М между родительской сущностью Товар и дочерней сущностью Движение. Сохраните текущую модель данных на жестком диске в файле Firma_part42.erwin.

6. Удалите файл базы данных Фирма.mdb. Запустите СУБД Access и создайте новую пустую базу данных Фирма.mdb, после чего закройте Access. Выполните операцию прямого проектирования (Forward Engineer) с наполнением файла базы данных Фирма.mdb метаданными согласно текущей модели данных.

7. Запустите СУБД Access и откройте базу данных Фирма.mdb. Схема данных должна выглядеть примерно так, как показано на рис. 3.2.

Рис. 3.2. Схема данных для базы данных Фирма.mdb