- •Проектирование баз данных. Лекция 1. Введение. Банки и базы данных. Архитектура субд.
- •Хранимая база данных (Внутренняя модель)
- •Понятие проектирования баз данных. Различные подходы к проектированию бд.
- •Различные подходы к проектированию данных.
- •Сетевая модель данных.
- •Лекция 2.
- •Реляционные операции над отношениями.
- •Лекция 3. Аномалии хранения данных.
- •Функциональная зависимость.
- •Концептуальное проектирование данных. Нормализация. Понятие функциональной зависимости. Теорема Хита.
- •Теорема Хита.
- •Лекция 4. Пятая нф. Универсальное отношение. I и II нф.
- •Первая нормальная форма.
- •Вторая нормальная форма.
- •Третья нормальная форма. Транзитивные зависимости.
- •Лекция 5. Нормальная форма Бойса-Кодда. Четвертая нормальная форма. «Перенормализованные» модели данных.
- •Четвертая нормальная форма.
- •«Перенормализованные» модели данных.
- •Пример проектирования бд.
- •Отношение “Аптека”
- •Отношение “Лекарство”
- •Отношение “Наличие лекарств”
- •Отношение “Поставщик”
- •Отношение “Лицензия поставщика”
- •Отношение “Запрос на поставку”
- •Лекция 6. Проектирование в терминах «Сущность – связь»
- •Сущности и связи.
- •Классификация связей
- •Предварительные отношения для бинарных связей степени 1:1.
- •Лекция 7. Предварительные отношения для степени связи 1:n и m:n.
- •Предварительные отношения для степени связи m:n.
- •Лекция 14. Предварительные отношения для связей высших порядков. Использование ролевых отношений.
- •Студент
- •Использование ролевых отношений.
- •Рабочий
- •Подчиненный
- •Лекция 8. Развитой пример применения e-r проектирования.
- •Сопоставление методик нормализации и e-r проектирования. Физическое проектирование.
- •Физическое проектирование.
- •Ограничения целостности.
- •Заключение.
Лекция 14. Предварительные отношения для связей высших порядков. Использование ролевых отношений.
До сего момента все выкладки касались лишь бинарных связей между сущностями, т.е. случаев, когда в связи участвуют лишь две сущности. Многие из реальных задач действительно сводятся к набору бинарных связей. Однако, при постановке задач возможно возникновение таких ситуаций, когда одновременно связываются между собой несколько сущностей. Связь, соединяющую три сущности, принято называть тернарной, связь для четырех сущностей называют квадринарной и т.д.
Слегка изменим пример, рассмотренный в предыдущих разделах для того, чтобы проиллюстрировать природу возникновения тернарных связей. Предположим, что в задаче об отслеживании успеваемости студентов появилась необходимость хранить информацию не только об оценках, полученных студентом по предметам, но и о преподавателе, поставившем эту оценку. E-R диаграмма, соответствующая этому случаю представлена на рис 29 .
Преподаватель
Курс
Студент
Рис 29. E-R диаграмма для тернарной связи.
Здесь связь «Сдает» соединяет три сущности и является тернарной. Если обратится к рассмотренному примеру для случая связи M:N и необязательным классом принадлежности многосвязной сущности, (формирование трех отношений), то наиболее естественным в данной ситуации было бы включение атрибута «Таб. №» отношения Преподаватель в отношение, сформированное для связи Оценка.
В случае трехсторонней связи вне зависимости от классов принадлежности сущностей необходима генерация четырех отношений. По одному отношению формируется для каждой сущности, с ключом сущности в качестве первичного ключа отношения. Еще одно отношение формируется для связи. Отношение, порождаемое связью, должно иметь среди своих атрибутов ключи сущности от каждой сущности.
Выбор атрибутов первичного ключа отношения связи в данном случае будет сильно зависеть от дополнительных условий, налагаемых на связь. Естественно предположить, что первичный ключ этого отношения будет складываться из трех компонент – первичных ключей связываемых отношений. Однако, если ввести дополнительное предположение о том, что по каждому предмету для каждого студента фиксируется только одна оценка, то первичный ключ будет состоять уже из двух атрибутов – номера зачетки студента и идентификатора учебного курса. Ограничения целостности, накладываемые на первичный ключ и его составные части также будут определяться особенностями предметной области (кроме непреложных требований на уникальность значений ключа и принадлежности каждой из его компонент соответствующим доменам).
Приведенные рассуждения остаются в силе и для всех связей высших порядков. Так, для n-сторонней связи потребуется n+1 предварительное отношение.
На рис. 30 показаны экземпляры реляционных форм, соответствующие рассмотренной задаче.
Отношение «Преподаватели» Отношение «Студенты»
Шифр Курса
|
Таб№ преподавателя |
ФИО преподавателя |
Кафедра |
|
№ зач. |
Груп-па |
ФИО Студента |
Дата рожд. |
М |
10 |
Сергеев |
Матем. |
|
4567 |
5203 |
Петров |
01.10.80 |
Ф |
45 |
Афанасьев |
Филос. |
|
4568 |
5203 |
Иванов |
14.05.79 |
А |
12 |
Васильева |
Ин.яз. |
|
4569 |
5104 |
Сидоров |
17.08.80 |
М |
11 |
Сазонов |
Матем. |
|
|
|
|
|
Ф |
45 |
Иванов |
Филос. |
|
|
|
|
|
С |
22 |
Голубев |
Физика |
|
|
|
|
|
Отношение «Оценки студентов» Отношение «Курсы»
-
№
зач.
Шифр Курса
Оцен-ка
Таб№ преподавателя
Шифр Курса
Наименование
Колич. Часов
4567
М
3
10
М
матем.
120
4567
Ф
3
22
Ф
Философия
150
4567
А
4
12
А
англ.
90
4568
М
5
10
С
Сопромат
100
4568
Ф
5
45
4569
М
4
11
4569
Ф
5
45
4569
С
4
22
Рис. 30 Экземпляры реляционных форм для тернарной связи.
