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

Лабораторная работа №2. Усложненные диаграммы «сущность-связь»

Цель работы

  1. Ознакомиться со способом формирования рекурсивных связей.

  2. Освоить построение иерархии наследования и вариантов ее трансформы на уровне физической модели.

  3. Изучить процессы синхронизации системного каталога базы данных и модели данных.

Задачи

  1. Формирование неидентифицирующих рекурсивных связей типа 1:М.

  2. Создание на уровне логической модели иерархии наследования.

  3. Выполнение трансформ категориальной связи иерархии наследования при переходе на уровень физической модели.

  4. Синхронизация системного каталога базы данных и модели данных после внесения изменений в структуру базы данных.

  5. Синхронизация системного каталога базы данных и модели данных после внесения изменений в модель данных.

Методические указания

Связь называется рекурсивной, если одна и та же сущность является и родительской и дочерней одновременно. При задании рекурсивной связи атрибут должен мигрировать в качестве внешнего ключа в состав неключевых атрибутов той же сущности. Атрибут не может появиться дважды в одной сущности под одним именем, поэтому обязательно должен получить другое имя – имя роли. На рис. 2.1 сущность Сотрудник имеет первичный ключ Таб №. Информация о руководителе сотрудника содержится в той же сущности, поскольку руководитель работает в той же организации. Чтобы сослаться на руководителя сотрудника следует создать рекурсивную связь (на рис. 2.1 связь «руководит») и присвоить имя роли «Руководитель». Необходимо отметить, что рекурсивная связь может быть только неидентифицирующей. В противном случае внешний ключ должен был бы войти в состав первичного ключа и получить свойство NOT NULL. Это сделало бы невозможным построение иерархии, так как у дерева подчиненности должен быть корень – сотрудник, который никому не подчиняется в рамках данной организации.

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

Сотрудник

Таб №

Фамилия

Имя

Отчество

Руководитель.Таб № (FK)

руководит

Рис. 2.1. Рекурсивная связь

Обычно иерархию наследования создают, когда несколько сущностей имеют общие по смыслу атрибуты, либо когда сущности имеют общие по смыслу связи (например, если бы Постоянный сотрудник и совместитель имели бы сходную по смыслу связь «работает в» с сущностью Организация), либо когда это диктуется бизнес-правилами.

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

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