В процессе выполнения лабораторной работы Вы узнаете:

В процессе выполнения лабораторной работы Вы научитесь:

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

Типы зависимых сущностей

Характеристическая – зависимая дочерняя сущность, которая связана только с одной родительской и по смыслу хранит информацию о характеристиках родительской сущности.

Рис. 1. Пример характеристической сущности Хобби

Ассоциативная – сущность, связанная с несколькими родительскими сущностями. Такая сущность содержит информацию о связях сущностей.

Именующая – частный случай ассоциативной сущности, не имеющей собственных атрибутов (только атрибуты родительских сущностей, мигрирующих в качестве внешнего ключа).

Категориальная – дочерняя сущность в иерархии наследования.

Иерархия наследования

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

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

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

Рис. 2. Иерархия наследования. Неполная категория

Типы иерархии категорий

Иерархия категорий делится на 2 типа – полные и неполные.

Полная категория - одному экземпляру родового предка (сущность Сотрудник, рис. 3.) обязательно соответствует экземпляр в каком-либо потомке, т.е. в примере сотрудник обязательно является либо совместителем, либо консультантом, либо постоянным сотрудником.

Неполная категория - категория еще не выстроена полностью и в родовом предке могут существовать экземпляры, которые не имеют соответствующих экземпляров в потомках. На рис.2 показана неполная категория - сотрудник может быть не только постоянным или совместителем, но и консультантом, однако сущность Консультант еще не внесена в иерархию наследования.

 

Рис. 3. Иерархия наследования. Полная категория

Полная категория помечается символом , неполная - .

Задание 1. Построение неполной категории

Шаг 1. Загрузите файл сохраненной логической модели данных построенной на лабораторной работе №3 (Lab3.er).

Шаг 2. Создайте сущности Постоянный сотрудник и Совместитель. Для сущности Постоянный сотрудник установите атрибут Оклад, а для сущности Совместитель - Ставка. При построении иерархии наследования первичные ключи мигрируют из родового предка, поэтому их устанавливать не надо.

Установите неполную категориальную связь между родовым предком Сотрудник и родовым потомком Постоянный сотрудник (первый родовой потомок) и Совместитель (второй родовой потомок). Для этого:

Шаг 3. Выберите тип создаваемого элемента диаграммы – категориальная связь с помощью кнопки на панели инструментов.

Шаг 4. Щелкните сначала по родовому предку Сотрудник, а затем по первому потомку Постоянный сотрудник;

Шаг 5. Для установления второй связи в иерархии категории следует снова выбрать на палитре инструментов кнопку категориальной связи , затем щелкнуть по символу категории на диаграмме , а затем по второму потомку – Совместитель.

Для редактирования категорий выполните следующие действия :

Шаг 6. Щелкните правой кнопкой мыши по символу категории

Шаг 7. Выберите в контекстном меню пункт Subtype Relationsship

Шаг 8. В диалоге Subtype Relationsship (рис. 4 ) укажите атрибут - дискриминатор категории (список Discriminator Attribute Choice) – в нашем случае это атрибут Тип, и тип категории - полная/неполная (радиокнопки Complete/Incomplete) – в нашем случае – Incomplete (неполная).

Рис. 4. Диалог Subtype Reationship

После выполнения заданий иерархия наследования неполной категории сущности Сотрудник к сущностям Постоянный сотрудник и Совместитель должна выглядеть так:

Рис. 5. Неполная категория

Задание 2. Построение полной категории

Шаг 1. Создайте еще две сущности: Мужчина и Женщина

Шаг 2. Установите для сущности Женщина атрибут Декретный отпуск, для сущности Мужчина - Служба в армии.

Шаг 3. В сущности Постоянный сотрудник задайте атрибут Пол (он будет атрибуом – дискриминатором).

Шаг 4. Для сущности Постоянный сотрудник установите полную категориальную связь между родовым предком Постоянный сотрудник и потомками Мужчина (первый потомок) и Женщина (второй потомок).

Шаг 5. Вызовите диалог Subtype Relationsship, укажите в нем атрибут-дискриминатор: Пол и тип категориальной связи – полная. Диаграмма должна выглядеть так:

Рис. 6. Полная категория

Задание 3.
Сохраните под названием lab4.er

Ответьте на следующие вопросы и покажите преподавателю результат выполнения лабораторной работы.

Контрольные вопросы.

  1. Назовите типы зависимых сущностей.
  2. Что такое иерархия наследования?
  3. Что такое атрибут-дискриминатор?
  4. Какие типы категорий бывают? Чем они отличаются?
  5. Как на диаграмме построить категориальную связь?