Курс «Базы данных» Тема. Принципы нормализации реляционных БД
1/27
370.20K
Категория: Базы данныхБазы данных

Аномалии модификации данных

1. Курс «Базы данных» Тема. Принципы нормализации реляционных БД

• Аномалии модификации данных
• Функциональные зависимости
• Принципы нормализации
1

2. Аномалии модификации данных

• После составления логической схемы БД ее
надо проверить на отсутствие аномалий
модификации данных.
• В неправильно спроектированной схеме БД
могут возникнуть аномалии операций
модификации данных:
- аномалии обновления
- аномалии удаления
- аномалии добавления
2

3. Пример

3

4. Цель даталогического проектирования

Цель даталогического проектирования:
разработка корректной схемы БД в
терминах выбранной модели БД.
Основой анализа корректности схемы
являются анализ функциональных
зависимостей между атрибутами
отношений БД.
4

5. Функциональная зависимость

Атрибут Y некоторого отношения
функционально зависит от X (атрибуты
могут быть составными), если в любой
момент времени каждому значению X
соответствует одно значение Y.
Функциональная зависимость обозначается:
X
Y
Пример: Номер зач.кн.
ФИО
5

6. Нормализация базы данных

Нормализация — это процесс преобразования
отношения в состояние, обеспечивающее
лучшие условия выборки, добавления,
изменения и удаления данных.
Главная цель нормализации: устранение
избыточности и дублирования информации
в базе данных
6

7. Нормальные формы

первая нормальная форма (1NF)
вторая нормальная форма (2NF)
третья нормальная форма (3NF)
нормальная форма Бойса—Кодда (BCNF)
четвертая нормальная форма (4NF)
пятая нормальная форма (5NF)
7

8. Свойства нормальных форм

Каждой нормальной форме соответствует
определенный набор ограничений.
Основные свойства нормальных форм:
• каждая следующая нормальная форма
улучшает свойства предыдущей.
• при переходе к следующей нормальной
форме свойства предыдущих нормальных
форм сохраняются.
8

9. Нормальные формы

9

10. Первая нормальная форма

Отношение находится в первой нормальной
форме, если значения всех его атрибутов
атомарны.
10

11. Первая нормальная форма: пример

Преподавател
ь
Петров В. И.
Киров В. А.
Серов А. А.
День
недели
Номер
пары
Название
Тип занятий Группа
дисциплины
Понедельник
1
Теор. выч. проц.
Лекция
4906
Вторник
1
Комп. графика
Лаб. раб.
4907
Вторник
2
Комп. графика
Лаб. раб.
4906
Понедельник
2
Теория информ.
Лекция
4906
Вторник
3
Пр-е на C++
Лаб. раб.
4907
Вторник
4
Пр-е на C++
Лаб. раб.
4906
Понедельник
3
Защита инф.
Лекция
4944
Среда
3
Базы данных
Лаб. раб.
4942
Четверг
4
Базы данных
Лаб. раб.
4922
11

12. Первая нормальная форма: пример

Преподавател
ь
День
недели
Номер
пары
Название
Тип занятий Группа
дисциплины
Петров В. И. Понедельник
1
Теор. выч. проц.
Лекция
4906
Петров В. И.
Вторник
1
Комп. графика
Лаб. раб.
4907
Петров В. И.
Вторник
2
Комп. графика
Лаб. раб.
4906
Киров В. А. Понедельник
2
Теория информ.
Лекция
4906
Киров В. А.
Вторник
3
Пр-е на C++
Лаб. раб.
4907
Киров В. А.
Вторник
4
Пр-е на C++
Лаб. раб.
4906
Серов А. А. Понедельник
3
Защита инф.
Лекция
4944
Серов А. А.
Среда
3
Базы данных
Лаб. раб.
4942
Серов А. А.
Четверг
4
Базы данных
Лаб. раб.
4922
12

13. Недостатки первой нормальной формы

• избыточность — многократное повторение
информации в столбцах данных
• аномалии модификации (обновления)
данных
• аномалии добавления данных
• аномалии удаления данных
Пример:
Экзамены (ФИО, Номер зач.кн., Группа,
Дисциплина, Дата экзамена, Оценка)
13

14. Избыточность данных: пример

ФИО
Номер
ЗачКн
Группа
Пупкин В. И.
323556
ММ-117
Пупкин В. И.
323556
ММ-117
Петров В. А.
156900
ММ-117
Сидоров А. А.
278001
ММ-119
Киров В. У.
777890
ММ-119
Хренова Г. П.
Название
дисциплины
Управление
данными
Управление
данными
Управление
данными
Дата
Оценка
17/01/10
2
25/01/10
3
25/01/10
5
Мат. анализ
21/01/10
5
Мат. анализ
21/01/10
4
123456
ММ-334 Инф. менеджмент 21/01/10
3
Бобриков С. С.
998769
ММ-334 Инф. менеджмент 21/01/10
5
Хренова Г. П.
123456
ММ-334
Базы данных
24/01/10
2
Бобриков С. С.
998769
ММ-334
Базы данных
24/01/10
4
14

15. Полная функциональная зависимость

Неключевой атрибут функционально полно
зависит от составного ключа, если он
функционально зависит от всего ключа в
целом, но не находится в функциональной
зависимости от какого-либо из входящих в
него атрибутов.
Пример:
Номер зач.кн., Дисциплина, Дата
Оценка
15

16. Вторая нормальная форма

Отношение (таблица) находится во 2НФ,
если оно находится в 1НФ, и каждый
неключевой атрибут функционально
полно зависит от всего ключа.
Приводить ко 2НФ необходимо только
отношения с составным ключом.
16

17. Вторая нормальная форма

Если какой-либо атрибут зависит от части
составного первичного ключа, то
необходимо:
• создать новое отношение, атрибутами которого
будут:
- часть составного ключа (первичный ключ нового
отношения)
- атрибут, зависящий от нового ключа
• из исходного отношения исключить атрибут,
включенный в новое отношение.
17

18. Вторая нормальная форма

18

19. Вторая нормальная форма: пример

19

20. Определение неполных ФЗ

Составление таблицы-опросника:
КЛ – ключевые атрибуты, НК – неключевые атрибуты
КЛ
НК
НК1
КЛ1
КЛ2
...
КЛn
+
+
+
+
+
+
+
+
НК2
...
НКn
+
+
+
20

21. Транзитивная зависимость

Транзитивная функциональная зависимость:
Пусть A ,B, C – три атрибута некоторого
отношения R.
Схема транзитивной зависимости:
21

22. Транзитивная зависимость

Транзитивная зависимость возникает, когда
неключевой атрибут функционально
зависит от одного или более неключевых
атрибутов.
Пример: Книга(Ид, Код, Тема, Название, Год)
Атрибут Тема зависит от Код, а не от ключа Ид.
Здесь Код – это Код Темы:
11.21 Физика
12.01 Информатика
22

23. Третья нормальная форма

Отношение находится в 3НФ, если оно
находится во 2НФ и каждый
неключевой атрибут нетранзитивно
зависит от первичного ключа.
Наличие транзитивной зависимости влечет за
собой появление аномалий обновления.
23

24. Третья нормальная форма

24

25. Третья нормальная форма: пример

25

26. Определение транзитивных ФЗ

Составление таблицы-опросника:
НК – неключевые атрибуты
НК
НК
НК1
...
НКn
+
НК1
НК2
НК2
+
...
НКn
+
26

27. Нормальные формы высокого порядка

• На практике редко применяются НФ более
высокого порядка, чем 3НФ.
• Самостоятельно изучить НФ высоких
порядков:
- нормальная форма Бойса-Кодда (НФБК)
- 4 нормальная форма (4НФ)
- 5 нормальная форма (5НФ)
27
English     Русский Правила