ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 31.03.2021
Просмотров: 1617
Скачиваний: 25
116
10.3.
Декомпозиция
без
потерь
функциональные
ав симости
Процедура
нормализации
отношения
состоит
в
его
разбиении
,
т
.
е
.
декомпозиции
,
на
другие
отношения
,
находящиеся
в
нормальных
формах
более
высокого
уровня
.
Причем
,
как
уже
говорилось
выше
,
такая
декомпозици
и
з и
я
должна осуществляться
без
потерь
информации
содержащейся
в
исходном
отношении
.
Таким
образом
,
при
реализации
процесса
нормализации
отношений
интерес
представляют
не
любые
их
преобразования
,
а
только
те
,
которые
не
приводят
к
потерям
полезной
информации
.
еет
вид
Отношение
1
Рассмотрим
пример
.
Пусть
исходное
отношение
им
представленный
на
рис
КОД
_
СТУДЕНТА
ИМЯ
_
СТУДЕНТА
ФАКУЛЬТЕТ
С
2
Иванов
Физический
С
5
Петров
Химический
С
7
Иванов
Исторический
Рис
Пример
отношения
На
рис
показано
,
что
это
отношение
может
быть
разбито
на
два
отношения
тремя
различными
пособами
.
а
)
Отношение
1
а
Отношение
2
а
КОД
_
СТУДЕНТА
ИМЯ
_
СТУДЕНТА
КОД
_
СТУДЕНТА
ФАКУЛЬТЕТ
с
С
2
Иванов
С
2
Физический
С
5
Петров
С
5
Химический
С
7
Иванов
С
7
Исторический
б
)
Отношение
1
б
Отношение
2
б
КОД
_
СТУДЕНТА
ИМЯ
_
СТУДЕНТА
ИМЯ
_
СТУДЕНТА
ФАКУЛЬТЕТ
Иванов
й
С
2
Иванов
Физически
С
5
Петров
Петров
Химический
С
7
Иванов
Иванов
Исторический
в
)
Отношение
1
в
Отношение
2
в
КОД
_
СТУДЕНТА
ФАКУЛЬТЕТ
ИМЯ
_
СТУДЕНТА
ФАКУЛЬТЕТ
С
2
Физический
Иванов
Физический
С
5
Химический
Петр в
Химический
о
С
7
Исторический
ванов
Исторический
И
Рис
Варианты
декомпозиции
отношения
1
117
Если
вн мательно
посмотреть
на
приведенные
три
варианта
декомпозиции
отношений
,
то
можно
заметить
что
в
первом
случае
(
вариант
а
)
при
разбиении
отношений
исходная
информация
не
утрачивается
.
Действительно
,
исходное
отношение
Отношение
1
может
быть
восст
и
ановлено
в
прежнем
виде
путем
операции
естественного
соединения
отношений
Отношение
1
а
и
Отношен
о
атрибуту
КОД
_
СТУДЕНТА
.
Во
в
ч
ци
жащейся
в
отношени
Отношение
1
тр
ен
х
потеряна
информация
к
из
ов
-
одноф
ванов
учится
на
физическом
,
а
й
на
еском
ф
труд
увидеть
,
что
естественное
соединение
ий
Отн
и
Отношение
2
б
по
единственному
бщему
ИМЯ
_
С
торое
едставлено
на
рис
не
позволяет
пол
одное
с
ени
тношение
1
.
Действительно
,
ученно
ьтате
со
шен
совпадает
с
исходным
.
Отношение
1
б
тношен
КОД
_
СТ
ТЕТ
ие
2
а
п
тором
же
и
тр
и
етьем
случаях
ается
у
асть
информа
,
а
им
и
содер
но
ни
оказыв
аченной
,
в
акой
студент
амильцев
И
ых
како
историч
акультетах
.
Не
но
отношен
ошение
1
б
,
ко
их
о
атрибуту
ТУДЕНТА
пр
учить
исх
остояние
отнош
я
О
пол
е
в
резул
единения
отно
ие
не
JOIN
О
ие
2
б
УДЕНТА
ИМЯ
_
СТУДЕНТА
ФАКУЛЬ
С
ий
2
Иванов
Физическ
С
2
Иванов
Исторический
С
5
Пет ов
Химический
р
С
7
Иванов
Физический
С
7
Иванов
Исторический
Рис
Соединение
отношений
Важный
вопрос
о
том
,
происходит
или
не
происходит
потеря
информации
при
декомпозиции
отношений
,
самым
тесным
образом
связан
с
понятием
функциональной
зависимости
.
Можно
обратить
внимание
на
то
,
что
в
предыдущем
примере
при
проведении
декомпозиции
,
представленной
вариантом
«
б
»
,
была
утеряна
функциональная
зависимость
атрибута
ФАКУЛЬТЕТ
от
атрибута
КОД
_
СТУДЕНТА
,
а
при
декомпозиции
варианта
«
в
»
утеряна
зависимость
атрибута
ИМЯ
_
СТУДЕНТА
от
атрибута
КОД
_
СТУДЕНТА
.
Ответ
на
вопрос
,
в
каком
случае
декомпозиция
отношения
является
обратимой
,
дается
теоремой
Хеза
(Heath).
Теорема
Хеза
.
Пусть
R
{
A
,
B
,
C
}
является
отношением
,
а
A
,
B
и
C
являются
атрибутами
этого
отношения
.
Если
в
отношении
R
имеет
место
функциональная
зависимость
A
→
B,
то
отношение
R
равно
соединению
его
проекций
R
1
{
A
,
B
}
и
R
2
{
A
,
C
}
.
Другими
словами
функциональная
зависимость
должна
быть
сохранена
и
детерминант
этой
зависимости
(
атрибут
А
)
должен
присутствовать
в
обоих
118
резу
у
зависи
ТА
,
ИМЯ
_
СТУДЕНТА
}
и
Отношение
1
б
{
КО
льтирующих
отношениях
.
В
приведенном
выше
на
рис
примере
отношения
имеют
место
две
ф нкциональные
мости
КОД
_
СТУДЕНТА
→
ИМЯ
_
СТУДЕНТА
и
КОД
_
СТУДЕНТА
→
ФАКУЛЬТЕТ
и
поэтому
в
соответствии
с
теоремой
Хеза
,
отношение
СТУДЕНТЫ
может
быть
разбито
на
два
,
являющиеся
его
проекциями
отношения
,
а
именно
Отношение
1
а
{
КОД
_
СТУДЕН
Д
_
СТУДЕНТА
,
ФАКУЛЬТЕТ
}
без
потери
информации
.
При
любом
другом
варианте
декомпозиции
одна
из
этих
функциональных
зависимостей
теряется
.
10.4.
Первая
и
вторая
нормальные
формы
.
Отношение
находится
в
первой
нормальной
форме
(1
НФ
)
тогда
и
только
тогда
,
когда
домены
всех
его
атрибутов
содержат
только
скалярные
значения
.
Как
уже
говорилось
выше
,
отношение
,
находящееся
в
первой
нормальной
форме
может
обладать
нежелательными
свойствами
.
им
себе
,
что
нам
н
е
данных
информацию
о
ли
с
оценках
,
по
сц
Д
е
ввести
следующ
атриб
СТУДЕНТ
ДИСЦИПЛИНА
и
ОЦЕНКА
жду
э
утами
име
ест
ьны
висимости
,
представленные
ст
рис
Представ
адо
хранить
в
баз
чном
коде
(
ид
лученных
по
к
ентификаторе
)
онкретным
ди
тудента
,
ег
иплинам
.
о
фамилии
и
ля
этих
цел
о
его
й
можно
ие
уты
:
КОД
_
риб
А
,
ИМЯ
_
СТУДЕНТА
,
нал
.
Ме
тими
ат
ют
м
о
функцио
е
за
релками
на
ОЦЕНК
КОД
_
СТУДЕ
УДЕ
А
ДИСЦИПЛ
А
НТА
ИМЯ
_
СТ
НТ
ИНА
Рис
Диаграмма
функци
ьны
й
атрибутов
{
КОД
_
СТУДЕНТА
ют
значение
атрибута
ОЦЕ
(
студент
имеет
одну
фамилию
).
Можно
отметить
также
,
что
в
отношении
присутствует
еще
и
приводимая
функциональная
зависимость
атрибута
от
ключа
отношения
,
а
именно
,
онал
х
зависимосте
Эти
зависимости
показывают
,
что
пара
значений
,
ДИСЦИПЛИНА
}
однозначно
определя
НКА
(
конкретный
студент
может
иметь
по
конкретной
дисциплине
только
одну
оценку
),
а
значение
атрибута
КОД
_
СТУДЕНТА
однозначно
определяет
значения
атрибута
ИМЯ
_
СТУДЕНТА
119
зависимость
{
КОД
_
СТУДЕНТА
,
ДИСЦИПЛИНА
}
→
{
ИМЯ
_
СТУДЕНТА
},
обозначенная
на
рис
пунктиром
.
Какова
должна
быть
структура
отношений
для
хранения
данных
,
соответствующих
этому
примеру
?
Рассмотрим
простейший
случай
,
когда
все
риведенные
атрибуты
включены
в
схему
одного
отношения
,
назовем
его
ЭКЗ
ЭКЗАМЕН
п
АМЕН
,
как
это
показано
на
рис
КОД
_
СТУДЕНТА
ИМЯ
_
СТУДЕНТА
ДИСЦИПЛИНА
ОЦЕНКА
С
6
Петров
Физика
3
С
6
Петров
Математика
4
С
6
Петров
Информатика
3
С
2
Иванова
Физика
5
С
2
Иванова
Математика
4
С
2
Иванова
История
4
С
2
Иванова
Информатика
5
С
2
Иванова
Иностр
.
язык
5
С
9
Попов
Иностр
.
язык
4
С
1
Кузнецов
История
5
С
1
Кузнецов
Иностр
.
язык
4
С
8
Орлов
Археология
5
Рис
Пример
отношения
в
1
НФ
Это
отношение
находится
в
первой
нормальной
форме
,
так
как
все
значения
его
атрибутов
являются
скалярными
.
Единственным
потенциальным
ключом
этого
отношения
является
составной
атрибут
{
КОД
_
СТУДЕНТА
,
ДИСЦИПЛИНА
},
так
как
эта
пара
атрибутов
однозначно
определяет
значения
кортежей
отношения
,
в
то
время
как
каждый
из
атрибутов
КОД
_
СТУДЕНТА
и
ДИСЦИПЛИНА
по
отдельности
таким
свойством
не
обладают
.
Хорошо
видно
,
однако
,
что
содержащиеся
в
этом
отношении
данные
обладают
избыточностью
.
Так
,
в
частности
,
в
этом
отношении
для
каждого
студента
многократно
дублируется
информация
о
его
фамилии
.
Избыточность
в
отношении
приводит
к
возникновению
нежелательных
оров
,
или
как
еще
говорят
к
аномалиям
,
при
осуществлении
с
эт
факт
им
о
I
а
з
,
а
студент
тношением
операций
,
связанных
с
изменением
данных
,
а
именно
,
операций
NSERT
(
вставк
кортежа
),
DELETE
(
удаление
кортежа
)
и
UPDATE
(
обновление
начений
атрибута
какого
-
либо
кортежа
).
Рассмотрим
в
чем
состоят
эти
номалии
.
Операция
INSERT
.
В
отношение
ЭКЗАМЕН
нельзя
вставить
кортеж
с
данными
о
коде
студента
и
его
фамилии
(
например
,
запись
о
том
,
что
с
кодом
С
4
имеет
фамилию
Лукин
),
если
мы
не
имеем
данных
о
том
,
что
этот
студент
сдавал
хотя
бы
одну
дисциплину
.
Действительно
,
в
этом
случае
не
120
может
быть
задано
значение
первичного
ключа
для
кортежа
,
соответствующего
этой
записи
,
т
как
неизвестно
значение
атрибута
ДИСЦИПЛИНА
.
Операция
DELETE
.
При
удалении
информации
о
том
,
что
ко
туд
ак
нкретный
с
и
и
нственным
кортежем
,
соде
_
Н
.
д
т
ить
фамилию
(
вышла
замуж
),
эти
изменения
необходимо
для
всех
кортежей
отношения
,
относящихся
к
этой
студентке
.
Помимо
громоздкости
выполнения
одинаковой
операции
корректировки
значения
атрибута
для
большого
числа
записей
,
в
этом
случае
возможна
более
ам
(
например
,
из
-
за
сбоя
кая
коррекция
не
будет
произведена
,
в
отношении
окажутся
кортежи
с
противоречивыми
данными
(
в
одних
кортежах
коду
С
2
будет
соответствовать
одна
фамилия
,
а
в
других
для
того
е
д
е
о
и
С
УСПЕВАЕМОСТЬ
КОД
_
СТУДЕНТА
ИМЯ
_
СТУДЕНТА
КОД
_
СТУД
ДИСЦИПЛИНА
ОЦЕНКА
ент
сдавал
какую
-
либо
дисциплину
,
например
,
если
мы
хотим
аннулировать
ошибочно
введенную
запись
о
сдаче
студентом
с
кодом
С
9
экзамена
по
ностранному языку
,
мы
можем
потерять
нформацию
о
фамилии
этого
студента
,
из
-
за
того
,
что
удаляемый
кортеж
был
еди
ржащем
информацию
о
нем
.
Операция
UPDATE
.
Значение
атрибута
ИМЯ СТУДЕНТА
повторяется
в
этом
отношении
многократно
для
каждого
конкретного
значения
атрибута
КОД
_
СТУДЕ ТА
Поэтому
в
случае
,
когда
,
например
,
ля
с удентки
с кодом
С
2
потребуется
измен
будет
произвести
неприятная
ситуация
.
Если
по
тем
или
иным
причин
системы
),
для
каких
-
либо
кортежей
отношения
та
же
кода
будет
указана
другая
фамилия
.
Указанные
аномалии
,
однако
,
могут
быть
устранены
,
если
заменить
исходно
отношение
вумя
го
пр екциям
–
отношениями
ТУДЕНТ
и
УСПЕВАЕМОСТЬ
,
представленными
на
рис
СТУДЕНТ
С
6
Петров
С
Физика
5
2
С
2
Иванова
С
Математика
4
2
С
9
Попов
С
2
История
4
С
1
Кузнецов
С
2
Информатика
5
С
7
ык
5
Орлов
С
2
Иностр
.
яз
3
С
6
Физика
С
6
Математика
4
С
6
Информатика
3
С
9
Иностр
.
язык
4
С
1
История
5
С
1
Иностр
.
язык
4
С
7
Археология
5
Рис
Пример
декомпозиции
отношения
ЭКЗАМЕН
на
два
отношения
СТУДЕНТ
и
УСПЕВАЕМОСТЬ
Диаграммы
функциональных
зависимостей
для
этих
двух
отношений
представлены
на
рис