пдф-Нормальные формы
.pdfНормальные формы
1НФ
Ненормальзованное отношение «Расписание»:
Преподава |
Д е н |
ь Н о м е р |
тель |
недели |
пары |
Петров В.И |
Понед. |
1 |
|
Вторник |
1 |
|
Вторник |
2 |
Киров В.А. Понед. |
2 |
Вторник |
3 |
Вторник |
4 |
Путин А.А. Понед. |
3 |
Среда |
3 |
Четверг |
4 |
Н а з в а н и е |
Т и |
п Группа |
|
дисциплин |
занятий |
|
|
ы |
|
|
|
Те о р.в ы ч. |
Лекция |
4906 |
|
проц. |
|
Лаб.раб |
4907 |
К о м п. |
Лаб.раб |
4906 |
|
Графика |
|
|
|
К о м п. |
|
|
|
Графика |
|
|
|
Теор.инфор |
Лекция |
4906 |
|
м. |
|
Лаб.раб |
4907 |
Пр-е на С+ |
Лаб.раб |
4906 |
|
+ |
|
|
|
Пр-е на С+ |
|
|
|
+ |
|
|
|
З а щ и т а |
Лекция |
4944 |
|
инф. |
|
Лаб.раб |
4942 |
П р - е |
н а |
Лаб.раб |
4922 |
VB |
|
|
|
П р - е |
н а |
|
|
VB |
|
|
|
Для приведения отношения «Расписание» к первой нормальной форме необходимо дополнить каждую стоку фамилией преподавателя:
Преподава |
Д е н |
ь Н о м е р |
Н а з в а н и е |
Т и п Группа |
тель |
недели |
пары |
дисциплин |
занятий |
|
|
|
ы |
|
Петров В.И |
Понед. |
1 |
Петров В.И |
Вторник |
1 |
Петров В.И |
Вторник |
2 |
Те о р.в ы ч. Лекция |
4906 |
|
проц. |
Лаб.раб |
4907 |
К о м п. |
Лаб.раб |
4906 |
Графика |
|
|
К о м п. |
|
|
Графика |
|
|
Киров В.А. |
Понед. |
2 |
Теор.инфор |
Лекция |
4906 |
|
Киров В.А. |
Вторник |
3 |
м. |
|
Лаб.раб |
4907 |
Киров В.А. |
Вторник |
4 |
Пр-е на С+ |
Лаб.раб |
4906 |
|
|
|
|
+ |
|
|
|
|
|
|
Пр-е на С+ |
|
|
|
|
|
|
+ |
|
|
|
Путин А.А. |
Понед. |
3 |
З а щ и т а |
Лекция |
4944 |
|
Путин А.А. |
Среда |
3 |
инф. |
|
Лаб.раб |
4942 |
Путин А.А. |
Четверг |
4 |
П р - е |
н а |
Лаб.раб |
4922 |
|
|
|
VB |
|
|
|
|
|
|
П р - е |
н а |
|
|
|
|
|
VB |
|
|
|
Определение 1НФ: отношение находится в первой нормальной форме, если на пресечении каждого столбца и каждой строки находятся только элементарные значения атрибутов.
2НФ
Пример 1. Отношение «Оценки сессии»:
ФИО |
Н о м е р Группа |
Дисциплина Оценка |
|
зач.кн. |
|
Определение 2НФ: отношение находится во второй нормальной форме, если оно
является отношением в 1НФ, и каждый неключевой атрибут полностью функционально зависит от любого возможного ключа в отношении.
ФИО |
Номер зач.кн. |
Группа |
Номер зач.кн. |
Дисциплина |
Оценка |
Пример 2. Отношение «Поставки от поставщиков»
№ |
№ изделия И м я |
С в е д . о Цена |
-не является |
поставщика |
поставщика |
поставщике |
отношением |
|
|
|
во |
2НФ.
│______________________↑ │__________________________________________↑ │__________│_____________________________________________↑
Расщепив исходное отношения на два, заданные во 2 НФ, устраняются аномалии
добавления, удаления и обновления: |
|
|
|
||
«Поставщик» |
|
«Изделия поставщика» |
|||
№ |
И м я |
С в е |
№ |
№ |
Ц е н |
поставщи |
поставщи |
д . о |
изделия |
поставщи |
а |
ка |
ка |
поставщи |
|
ка |
|
|
|
ке |
|
|
|
│__________↑ │____________│___________↑
│__________________________↑
3НФ
Понятие транзитивности:
Пусть А, В, С – три атрибута или три набора атрибутов отношения R. Если В→С а А→В, то А→С. Если при этом обратное неверно, т.е. С→В ¬→В→А, то говорят, что С транзитивно зависит от А.
ФИО |
Н о м е р Группа |
Факультет Специальн |
В ы п. |
|
зач.кн. |
ость |
кафедра |
Определение 3НФ: отношение находится в третьей нормальной форме, когда оно находится во второй нормальной форме и не содержит транзитивных зависимостей.
Номер зач.кн. |
ФИО |
Группа |
Специальность |
|
|
|
|
|
|
Группа |
Вып. кафедра |
|
|
|
|
Вып. кафедра |
Факультет |
||
|
|
|
|
3 шага нормализации
SHAPE \* MERGEFORMAT
НФБК (BCNF)
Определение НФБК : отношение находится в нормальной форме Бойса-Кодда, если оно находится в третьей нормальной форме, и каждый детерминант является возможным ключом отношения.
ФИО |
Номер зач. |
И |
Д Дисципли Дата |
Оценка |
|
кн. |
студента |
на |
|
Это отношение находится в 3НФ, но не находится в НФБК.
4НФ
Пример 3. Отношение описывает работу программистов над проектами:
Таб. № |
Имя |
Зарплата |
№ проекта |
Д а т а |
|
|
|
|
окончания |
Решение проблемы – разбить БД еще:
Таб.№ И м я Зарпл. |
Таб.№ № |
№ |
Д а т а |
служ. |
проект |
проект |
оконча |
|
а |
а |
ния |
Пример 4.
Отношение "Абитуриенты-Факультеты-Предметы"
Абитуриент |
Факультет |
Предмет |
Иванов |
Математический |
Математика |
Иванов |
Математический |
Информатика |
Иванов |
Физический |
Математика |
Иванов |
Физический |
Физика |
Петров |
Математический |
Математика |
Петров |
Математический |
Информатика |
Отношение "Абитуриенты" |
|
Номер |
Абитуриент |
Абитуриента |
|
1 |
Иванов |
2 |
Петров |
Отношение "Факультеты" |
|
Номер |
Факультет |
Факультета |
|
1 |
Математический |
2 |
Физический |
Отношение "Предметы" |
|
Номер |
Предмет |
Предмета |
|
1 |
Математика |
2 |
Информатика |
3 |
Физика |
Модифицированное отношение "Абитуриенты-Факультеты-Предметы"
Номер |
Номер |
Номер |
Абитуриента |
Факультета |
Предмета |
1 |
1 |
1 |
1 |
1 |
2 |
1 |
2 |
1 |
1 |
2 |
3 |
2 |
1 |
1 |
2 |
1 |
2 |
Определение многозначной зависимости. Пусть INCLUDEPICTURE "C:\\Old_G\ \METWORK\\WPROGRAM\\politex\\DB\\Введение в системы управления базами данных_ Глава 7_ Нормальные формы более высоких порядков.files\\image23.gif" \* MERGEFORMATINET - отношение, и INCLUDEPICTURE "C:\\Old_G\ \METWORK\\WPROGRAM\\politex\\DB\\Введение в системы управления базами данных_ Глава 7_ Нормальные формы более высоких порядков.files\\image283.gif" \* MERGEFORMATINET , INCLUDEPICTURE "C:\\Old_G\\METWORK\ \WPROGRAM\\politex\\DB\\Введение в системы управления базами данных_ Глава 7_ Нормальные формы более высоких порядков.files\\image174.gif" \* MERGEFORMATINET , INCLUDEPICTURE "C:\\Old_G\\METWORK\ \WPROGRAM\\politex\\DB\\Введение в системы управления базами данных_ Глава 7_ Нормальные формы более высоких порядков.files\\image284.gif" \*
MERGEFORMATINET - некоторые из его атрибутов (или |
непересекающиеся |
множества атрибутов). Тогда атрибуты (множества атрибутов) |
INCLUDEPICTURE |
"C:\\Old_G\\METWORK\\WPROGRAM\\politex\\DB\\Введение в системы управления базами данных_ Глава 7_ Нормальные формы более высоких порядков.files\\image174.gif" \* MERGEFORMATINET и INCLUDEPICTURE "C:\ \Old_G\\METWORK\\WPROGRAM\\politex\\DB\\Введение в системы управления базами данных_ Глава 7_ Нормальные формы более высоких порядков.files\
\ i m a g e 2 8 4 . g i f " \ * M E R G E F O R M AT I N E T м н о г о з н а ч н о з а в и с я т о т INCLUDEPICTURE "C:\\Old_G\\METWORK\\WPROGRAM\\politex\\DB\\Введение
всистемы управления базами данных_ Глава 7_ Нормальные формы более высоких порядков. files\\image283 . gif" \* MERGEFORMATINET (обозначает ся INCLUDEPICTURE "C:\\Old_G\\METWORK\\WPROGRAM\\politex\\DB\\Введение
всистемы управления базами данных_ Глава 7_ Нормальные формы более высоких порядков.files\\image285.gif" \* MERGEFORMATINET ), тогда и только тогда, когда
из того, что в отношении INCLUDEPICTURE "C:\\Old_G\\METWORK\ \WPROGRAM\\politex\\DB\\Введение в системы управления базами данных_ Глава 7_ Нормальные формы более высоких порядков.files\\image23.gif" \* MERGEFORMATINET содержатся кортежи INCLUDEPICTURE "C:\\Old_G\ \METWORK\\WPROGRAM\\politex\\DB\\Введение в системы управления базами данных_ Глава 7_ Нормальные формы более высоких порядков.files\\image286.gif" \* MERGEFORMATINET и INCLUDEPICTURE "C:\\Old_G\\METWORK\ \WPROGRAM\\politex\\DB\\Введение в системы управления базами данных_ Глава 7_ Нормальные формы более высоких порядков.files\\image287.gif" \* MERGEFORMATINET следует, что в отношении INCLUDEPICTURE "C:\\Old_G\ \METWORK\\WPROGRAM\\politex\\DB\\Введение в системы управления базами данных_ Глава 7_ Нормальные формы более высоких порядков.files\\image23.gif" \* MERGEFORMATINET содержится также и кортеж к INCLUDEPICTURE "C:\ \Old_G\\METWORK\\WPROGRAM\\politex\\DB\\Введение в системы управления базами данных_ Глава 7_ Нормальные формы более высоких порядков.files\ \image288.gif" \* MERGEFORMATINET .
Декомпозиция отношения INCLUDEPICTURE "C:\\Old_G\\METWORK\ \WPROGRAM\\politex\\DB\\Введение в системы управления базами данных_ Глава 7_ Нормальные формы более высоких порядков.files\\image23.gif" \* MERGEFORMATINET на проекции INCLUDEPICTURE "C:\\Old_G\\METWORK\ \WPROGRAM\\politex\\DB\\Введение в системы управления базами данных_ Глава 7_ Нормальные формы более высоких порядков.files\\image297.gif" \* MERGEFORMATINET и INCLUDEPICTURE "C:\\Old_G\\METWORK\ \WPROGRAM\\politex\\DB\\Введение в системы управления базами данных_ Глава 7_ Нормальные формы более высоких порядков.files\\image298.gif" \* MERGEFORMATINET будет декомпозицией без потерь тогда и только тогда, когда имеется многозначная зависимость INCLUDEPICTURE "C:\\Old_G\\METWORK\ \WPROGRAM\\politex\\DB\\Введение в системы управления базами данных_ Глава 7_ Нормальные формы более высоких порядков.files\\image285.gif" \* MERGEFORMATINET .
Определение 4НФ. Отношение INCLUDEPICTURE "C:\\Old_G\\METWORK\ \WPROGRAM\\politex\\DB\\Введение в системы управления базами данных_ Глава 7_ Нормальные формы более высоких порядков.files\\image23.gif" \* MERGEFORMATINET находится в четвертой нормальной форме (4НФ), если отношение находится в НФБК и не содержит нетривиальных многозначных зависимостей.
Отношение "Абитуриенты-Факультеты-Предметы" находится в НФБК, но не в
4НФ.
Отношение "Факультеты-Абитуриенты" |
|
Факультет |
Абитуриент |
Математический |
Иванов |
Физический |
Иванов |
Математический |
Петров |
Отношение "Факультеты-Предметы" |
|
Факультет |
Предмет |
Математический |
Математика |
Математический |
Информатика |
Физический |
Математика |
Физический |
Физика |
5НФ
Пример 3. Рассмотрим следующее отношение INCLUDEPICTURE "C:\\Old_G\ \METWORK\\WPROGRAM\\politex\\DB\\Введение в системы управления базами данных_ Глава 7_ Нормальные формы более высоких порядков.files\\image23.gif" \* MERGEFORMATINET :
X |
Y |
Z |
1 |
1 |
2 |
1 |
2 |
1 |
2 |
1 |
1 |
1 |
1 |
1 |
Всевозможные проекции отношения INCLUDEPICTURE "C:\\Old_G\\METWORK\ \WPROGRAM\\politex\\DB\\Введение в системы управления базами данных_ Глава 7_ Нормальные формы более высоких порядков.files\\image23.gif" \* MERGEFORMATINET , включающие по два атрибута, имеют вид:
Проекция R1=R[X,Y] |
|
X |
Y |
1 |
1 |
1 |
2 |
2 |
1 |
Проекция R2=R[X,Z] |
|
X |
Z |
1 |
2 |
1 |
1 |
2 |
1 |