Лекция 8
Основные концепции
Упрощение концептуальной модели данных
Исключение связи типа «многие ко многим»
Исключение рекурсивных связей
Преобразование объектов и атрибутов
Преобразование связи типа суперкласс/подкласс
Преобразование составных объектов
792.51K
Категория: Базы данныхБазы данных

Логическое проектирование реляционной базы данных. Лекция 8

1. Лекция 8

ЛЕКЦИЯ 8
ЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ
РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ
1) Основные концепции.
2) Упрощение концептуальной модели
данных.
3) Методика преобразования концептуальных
структур данных в реляционные структуры.
4) Преобразование связи типа
«суперкласс/подкласс».
5) Преобразование составных
объектов.

2. Основные концепции

ОСНОВНЫЕ КОНЦЕПЦИИ
Фаза
логического
проектирования
предполагает
следующие действия:
✕ преобразование концептуальной модели данных в
логическую модель, в результате которого будет
определена схема реляционной модели данных;
✕ проверка
модели
с
помощью
концепций
последовательной нормализации;
✕ проверка
модели
в
отношении
транзакций
пользователей;

3. Упрощение концептуальной модели данных

УПРОЩЕНИЕ КОНЦЕПТУАЛЬНОЙ МОДЕЛИ ДАННЫХ
Преобразование концептуальной модели
данных в логическую модель, в результате
которого будет определена схема реляционной
модели данных, может иметь два подхода.

4.

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

5.

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

6.

К таким структурам данных относятся:
✕ связи типа «многие ко многим»;
✕ сложные связи;
✕ рекурсивные связи;
✕ связи с атрибутами;
✕ множественные атрибуты;
✕ избыточные связи.
Если в модели присутствуют перечисленные нежелательные
структуры, то они должны быть исключены путем тождественной их
замены на структуры данных, допустимые для логической модели.

7. Исключение связи типа «многие ко многим»

ИСКЛЮЧЕНИЕ СВЯЗИ ТИПА
«МНОГИЕ КО МНОГИМ»
Преобразование связи типа «многие ко многим»
осуществляется
путем
введения
некоторого
промежуточного объекта с заменой одной связи двумя
связями типа «один ко многим» с вновь созданным
объектом. При организации новых связей необходимо
следить за тем, чтобы максимальная мощность связи
«один» была направлена к исходному объекту, а
максимальная мощность связи «много» — к вновь
созданному объекту.

8.

преподаватель
N
читает
M
курс

9.

преподаватель
курс
1
1
пр_читает
N
читает
N
к_читаетc
я
ПР_ЧИТАЕТ типа 1: N между объектами ПРЕПОДАВАТЕЛЬ
и ЧТЕНИЕ;
К_ЧИТАЕТСЯ типа 1: N между объектами КУРС и ЧТЕНИЕ.

10.

ИСКЛЮЧЕНИЕ СЛОЖНЫХ СВЯЗЕЙ
преподаватель
M
ведет
M
лаборатория
M
занятия

11.

преподаватель
занятия
1
пр_ведет
1
N
лаб_занятие
N
проходят
1
лаборатория
N
ведутся

12. Исключение рекурсивных связей

ИСКЛЮЧЕНИЕ РЕКУРСИВНЫХ СВЯЗЕЙ
работает
M
1
сотрудник

13.

1
роль_сотрудника
1
руководит
работает
1
M
сотрудник

14. Преобразование объектов и атрибутов

ПРЕОБРАЗОВАНИЕ ОБЪЕКТОВ И
АТРИБУТОВ
Общий подход к преобразованию объектов
концептуальной модели ПрО в отношения
реляционной базы данных состоит в следующем:
✕ построить набор предварительных отношений
и указать первичные ключи для каждого
отношения;

15.

✕ подготовить список всех представляющих интерес
атрибутов (тех из них, которые не были
перечислены в диаграмме в качестве первичных
ключей объектов) и назначить каждый из этих
атрибутов одному из предварительных отношений с
тем условием, чтобы эти отношения находились в
НФБК. Если полученные отношения в итоге не
находятся в НФБК, то в этих случаях диаграммы
необходимо пересмотреть.

16. Преобразование связи типа суперкласс/подкласс

ПРЕОБРАЗОВАНИЕ СВЯЗИ ТИПА
СУПЕРКЛАСС/ПОДКЛАСС
Для каждой присутствующей в логической модели
данных связи типа «суперкласс/подкласс» объект
суперкласса
необходимо
определить
как
родительский, а объект подкласса — как дочерний.
Если
суперкласс с его подклассами имеет
непересекающиеся связи, где каждый экземпляр
суперкласса обязательно должен быть членом одного
подкласса, то решением является представление
каждого из подклассов в виде отдельного отношения,
содержащего копию первичного ключа суперкласса.

17.

преподаватель
старший
преподаватель
профессор
доцент
ассистент

18.

Подобная диаграмма преобразуется в следующую
реляционную схему отношений:
ПРЕПОДАВАТЕЛЬ (Табельный номер, ФИО, Адрес,
Педагог_стаж);
ПРОФЕССОР
(Табельный
номер,
Номер_диплома_профессора);
ДОЦЕНТ (Табельный номер, Номер_диплома_доцента);
СТАРШИЙ_ПРЕПОДАВАТЕЛЬ (Табельный номер);
АССИСТЕНТ (Табельный номер).

19. Преобразование составных объектов

ПРЕОБРАЗОВАНИЕ СОСТАВНЫХ
кол_часов
ОБЪЕКТОВ
должность
час_оплата
таб_номер
ФИО
специалист
название
выполняет
НИР
руководитель
вид_работы
характеристика
код_вида
индекс_НИР

20.

Конечный результат преобразования выглядит
так:
СПЕЦИАЛИСТ
(Таб_номер,
Ф_И_О,
Должность);
ВИД_РАБОТЫ (Код_вида, Характеристика);
НИР (Индекс_Нир, Название, Руководитель);
ПО (Таб_номер, Код_вида, Индекс_Нир,
Час_оплата, Кол_часов).
English     Русский Правила