Слайд 1Лекция 8
ЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ
1) Основные концепции.
2) Упрощение концептуальной
модели данных.
3) Методика преобразования концептуальных структур данных в реляционные структуры.
4) Преобразование связи типа «суперкласс/подкласс».
5) Преобразование составных объектов.
Слайд 2Основные концепции
Фаза логического проектирования предполагает следующие действия:
преобразование концептуальной модели
данных в логическую модель, в результате которого будет определена схема
реляционной модели данных;
проверка модели с помощью концепций последовательной нормализации;
проверка модели в отношении транзакций пользователей;
проверка поддержки целостности данных.
Слайд 3Упрощение концептуальной модели данных
Преобразование концептуальной модели данных в логическую модель,
в результате которого будет определена схема реляционной модели данных, может
иметь два подхода.
Слайд 41) Проектировщик работает с концептуальной моделью напрямую, не прибегая к
ее предварительному преобразованию. В этом случае ему придется столкнуться с
необходимостью преобразования разнообразных структур данных
Слайд 52) Проектировщик, прежде чем приступить к процессу перехода от концептуальной
модели к логической модели, стремится вначале данный переход максимально упростить,
проведя предварительные преобразования концептуальной модели, преобразования некоторых ее, не подходящие для реляционных СУБД структур данных.
Слайд 6К таким структурам данных относятся:
связи типа «многие ко многим»;
сложные связи;
рекурсивные связи;
связи с атрибутами;
множественные атрибуты;
избыточные
связи.
Если в модели присутствуют перечисленные нежелательные структуры, то они должны быть исключены путем тождественной их замены на структуры данных, допустимые для логической модели.
Слайд 7Исключение связи типа «многие ко многим»
Преобразование связи типа «многие ко
многим» осуществляется путем введения некоторого промежуточного объекта с заменой одной
связи двумя связями типа «один ко многим» с вновь созданным объектом. При организации новых связей необходимо следить за тем, чтобы максимальная мощность связи «один» была направлена к исходному объекту, а максимальная мощность связи «много» — к вновь созданному объекту.
Слайд 9преподаватель
курс
пр_читает
N
N
читает
к_читаетcя
1
1
ПР_ЧИТАЕТ типа 1: N между объектами ПРЕПОДАВАТЕЛЬ и ЧТЕНИЕ;
К_ЧИТАЕТСЯ типа
1: N между объектами КУРС и ЧТЕНИЕ.
Слайд 10преподаватель
занятия
ведет
M
лаборатория
M
M
ИСКЛЮЧЕНИЕ СЛОЖНЫХ СВЯЗЕЙ
Слайд 11преподаватель
занятия
пр_ведет
N
лаб_занятие
N
N
ведутся
лаборатория
проходят
1
1
1
Слайд 12Исключение рекурсивных связей
M
сотрудник
работает
1
Слайд 13M
сотрудник
работает
1
роль_сотрудника
руководит
1
1
Слайд 14Преобразование объектов и атрибутов
Общий подход к преобразованию объектов концептуальной модели
ПрО в отношения реляционной базы данных состоит в следующем:
построить
набор предварительных отношений и указать первичные ключи для каждого отношения;
Слайд 15 подготовить список всех представляющих интерес атрибутов (тех из них,
которые не были перечислены в диаграмме в качестве первичных ключей
объектов) и назначить каждый из этих атрибутов одному из предварительных отношений с тем условием, чтобы эти отношения находились в НФБК. Если полученные отношения в итоге не находятся в НФБК, то в этих случаях диаграммы необходимо пересмотреть.
Слайд 16Преобразование связи типа суперкласс/подкласс
Для каждой присутствующей в логической модели данных
связи типа «суперкласс/подкласс» объект суперкласса необходимо определить как родительский, а
объект подкласса — как дочерний.
Если суперкласс с его подклассами имеет непересекающиеся связи, где каждый экземпляр суперкласса обязательно должен быть членом одного подкласса, то решением является представление каждого из подклассов в виде отдельного отношения, содержащего копию первичного ключа суперкласса.
Слайд 17старший преподаватель
преподаватель
доцент
ассистент
профессор
Слайд 18Подобная диаграмма преобразуется в следующую реляционную схему отношений:
ПРЕПОДАВАТЕЛЬ (Табельный номер,
ФИО, Адрес, Педагог_стаж);
ПРОФЕССОР (Табельный номер, Номер_диплома_профессора);
ДОЦЕНТ (Табельный номер, Номер_диплома_доцента);
СТАРШИЙ_ПРЕПОДАВАТЕЛЬ (Табельный
номер);
АССИСТЕНТ (Табельный номер).
Слайд 19Преобразование составных объектов
специалист
вид_работы
выполняет
НИР
кол_часов
руководитель
час_оплата
ФИО
должность
таб_номер
название
индекс_НИР
код_вида
характеристика
Слайд 20Конечный результат преобразования выглядит так:
СПЕЦИАЛИСТ (Таб_номер, Ф_И_О, Должность);
ВИД_РАБОТЫ (Код_вида, Характеристика);
НИР
(Индекс_Нир, Название, Руководитель);
ПО (Таб_номер, Код_вида, Индекс_Нир, Час_оплата, Кол_часов).