
- •Семинар 1. Основы реляционных бд. Нормализация. 11.03.2005
- •Данные хранятся в двухмерной таблице без повторяющихся групп.
- •Отношение соответствует первой нормальной форме, и все неключевые атрибуты функционально зависят от полного первичного ключа.
- •3. Третья нормальная форма
- •4. Нормальная форма Бойса-Кодда
- •5. Четвертая нормальная форма
- •Отношение соответствует нормальной форме Бойса-Кодда, и многозначных зависимостей нет.
- •6. Нормализованные отношения и производительность базы данных
- •Заключение
3. Третья нормальная форма
Теоретическое определение третьей нормальной формы:
Отношение соответствует второй нормальной форме, и транзитивных зависимостей не существует.
Транзитивная зависимость (transitive dependency) существует тогда, когда функциональные зависимости носят следующий характер:
А -> В и В -> С, поэтому А -> С
Транзитивная зависимость присутствует только тогда, когда определитель, не являющийся первичным ключом, не подходит на роль ключа отношения.
Таблица 4. Нормализованная база данных в 3NF
BRANCH
BRANCHNAME |
ADDRESS |
MANAGER_ NO |
Кимры Дубна |
Осенняя, 1 Весенняя, 8
|
1768 9823 |
ACCOUNT
ACCNO |
BALANCE |
TYPE |
BRANCHNAME |
120768 |
234.56 |
‘D’ |
Кимры |
678453 |
-456.78 |
‘C’ |
Кимры |
348973 |
12567.56 |
'C’ |
Кимры |
987654 |
789.65 |
‘C’ |
Дубна |
745363 |
-23.67 |
'D' |
Дубна |
4. Нормальная форма Бойса-Кодда
Отношение соответствует нормальной форме Бойса-Кодда, если оно отвечает следующему правилу:
Отношение соответствует третьей нормальной форме, и все определители являются кандидатами на использование в качестве ключа.
COURSENO—> COURSENAME, TUTOR, NIME
Предположим, что в нашей схеме различные преподаватели могут в различное время читать один и тот же курс. Тогда получится следующее отношение.
Таблица 5. Нормализованная база данных в 3NF
COURSE
COURSENO |
COURSENAME |
TUTOR |
TIME |
1 |
Микроэкономика 1 |
Пахомов А. |
19.00 |
2 |
Микроэкономика 2 |
Дмитриев Н. |
18.00 |
3 |
Макроэкономика |
Лавров Д. |
19.00 |
4 |
Анализ ценных бумаг |
Куприянов В. |
17.00 |
5 |
Бизнес - анализ |
Куприянов В. |
18.00 |
2 |
Микроэкономика 2 |
Жирнов А. |
17.00 |
1 |
Микроэкономика 1 |
Самойлов Ф. |
18.00 |
1 |
Микроэкономика 1 |
Пахомов А. |
17.00 |
Таблица 6. Нормализованная база данных в BCNF
COURSE OFFERING
COURSENO |
COURSENAME |
|
COURSENO |
TUTOR |
TIME |
1 |
Микроэкономика 1 |
|
1 |
Пахомов А. |
19.00 |
2 |
Микроэкономика 2 |
|
2 |
Дмитриев Н. |
18.00 |
3 |
Макроэкономика |
|
3 |
Лавров Д. |
19.00 |
4 |
Анализ ценных бумаг |
|
4 |
Куприянов В. |
17.00 |
5 |
Бизнес - анализ |
|
5 |
Куприянов В. |
18.00 |
|
|
|
2 |
Жирнов А. |
17.00 |
|
|
|
1 |
Самойлов Ф. |
18.00 |
|
|
|
1 |
Пахомов А. |
17.00 |
Таблица 7. Нормализованная база данных в 3NF
OFFERING
COURSENO |
TUTOR |
TIME |
ROOM |
1 |
Пахомов А. |
19.00 |
222 |
2 |
Дмитриев Н. |
19.00 |
223 |
3 |
Лавров Д. |
17.00 |
651 |
4 |
Куприянов В. |
18.00 |
433 |
5 |
Куприянов В. |
17.00 |
433 |
2 |
Жирнов А. |
18.00 |
564 |
1 |
Самойлов Ф. |
17.00 |
224 |
Таблица 8. Нормализованная база данных в BCNF
OFFERING TUTOR_ROOM
COURSENO |
TUTOR |
TIME |
|
TUTOR |
ROOM |
1 |
Пахомов А. |
19.00 |
|
Пахомов А. |
222 |
2 |
Дмитриев Н. |
19.00 |
|
Дмитриев Н. |
223 |
3 |
Лавров Д. |
17.00 |
|
Лавров Д. |
651 |
4 |
Куприянов В. |
18.00 |
|
Куприянов В. |
433 |
5 |
Куприянов В. |
17.00 |
|
Жирнов А. |
564 |
2 |
Жирнов А. |
18.00 |
|
Самойлов Ф. |
224 |
1 |
Самойлов Ф. |
17.00 |
|
|