Министерство образования Республики Беларусь
Учреждение образования
БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Инженерно-экономический факультет
Кафедра экономической информатики
ОТЧЕТ
по лабораторной работе
«УСЛОЖНЕННЫЕ ДИАГРАММЫ СУЩНОСТЬ-СВЯЗЬ»
Студент
Проверил Рудак А. И.
Минск 2022
Цель работы
Ознакомиться со способом формирования рекурсивных связей.
Освоить построение иерархии наследования и вариантов ее трансформы на уровне физической модели.
Изучить процессы синхронизации системного каталога базы данных и модели данных.
Задачи
Формирование неидентифицирующих рекурсивных связей типа 1:М.
Создание на уровне логической модели иерархии наследования.
Выполнение трансформ категориальной связи иерархии наследования при переходе на уровень физической модели.
Синхронизация системного каталога базы данных и модели данных после внесения изменений в структуру базы данных.
Синхронизация системного каталога базы данных и модели данных после внесения изменений в модель данных.
Краткие теоретические сведения
Связь называется рекурсивной, если одна и та же сущность является и родительской и дочерней одновременно. При задании рекурсивной связи атрибут должен мигрировать в качестве внешнего ключа в состав неключевых атрибутов той же сущности. Атрибут не может появиться дважды в одной сущности под одним именем, поэтому обязательно должен получить другое имя – имя роли. На рис. 2.1 сущность Сотрудник имеет первичный ключ Таб №. Информация о руководителе сотрудника содержится в той же сущности, поскольку руководитель работает в той же организации. Чтобы сослаться на руководителя сотрудника следует создать рекурсивную связь (на рис. 2.1 связь «руководит») и присвоить имя роли «Руководитель». Необходимо отметить, что рекурсивная связь может быть только неидентифицирующей. В противном случае внешний ключ должен был бы войти в состав первичного ключа и получить свойство NOT NULL. Это сделало бы невозможным построение иерархии, так как у дерева подчиненности должен быть корень – сотрудник, который никому не подчиняется в рамках данной организации.
Иерархия наследования (или иерархия категорий) представляет собой особый тип объединения сущностей, которые разделяют общие характеристики. Например, в организации работают постоянные служащие и совместители. Из их общих свойств можно сформировать обобщенную сущность (родовой предок) Сотрудник, чтобы представить информацию, общую для всех типов служащих. Специфическая для каждого типа информация может быть расположена в категориальных сущностях (потомках) Постоянный сотрудник и совместитель.
Рис. 2.1. Рекурсивная связь
Обычно иерархию наследования создают, когда несколько сущностей имеют общие по смыслу атрибуты, либо когда сущности имеют общие по смыслу связи (например, если бы Постоянный сотрудник и совместитель имели бы сходную по смыслу связь «работает в» с сущностью Организация), либо когда это диктуется бизнес-правилами.
Для каждой категории можно указать дискриминатор – атрибут родового предка, который показывает, как отличить одну категориальную сущность от другой.
Кроме прямого и обратного проектирования ERwin поддерживает синхронизацию между логической моделью и системным каталогом СУБД на протяжении всего жизненного цикла создания информационной системы. Как в логическую модель, так и в объекты базы данных можно вносить изменения, после чего ERwin позволяет выполнить cинхронизацию объектов модели и базы данных (то есть привести их в соответствие друг с другом).
Индивидуальное задание
Создать в Erwin модель с именем Фирма. Тип модели – Логическая/Физическая, целевая база данных – Access. Логическая модель должна включить 5 сущностей.
Результат работы
Настройка атрибутов
Рисунок 1 – Установление сущностей
Установление неидентифицирующей, идентифицирующей 1:М связей, а также рекурсивной связи
Рисунок 2 – Связи между сущностями
Создание новой сущности Движение
Рисунок 3 – Сущность Движение
Создание категориальной связи между другими сущностями и движением
Рисунок 4 – Установка новых связей
Устанавливаем связь между МатОтветственный и Перемещение. Устанавливаем для атрибутов НомерПодразделения и ТабельныйНомер роли (Куда и Кому).
Рисунок 5 – Установление новых связей
Рисунок 6 – Перенос из Erwin в Access
Далее в ERwin нужно выполнить процесс синхронизации системного каталога базы данных и текущей модели данных. Добавляем новую сущность Товар:
Удаляем старый файл Access Фирма.mdb и создаем пустую. Снова переносим данные из Erwin в Access. В результате получаем:
Выводы
Были построены различные сущности: рекурсивные, идентифицирующие, неидентифицирующие, ознакомились с процессом синхронизации системного каталога базы данных и текущей модели данных.