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