Файл: Управление данными (пособие).pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 31.03.2021

Просмотров: 1616

Скачиваний: 25

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

121

КОД

_

СТУДЕНТА

ИМЯ

_

СТУДЕНТА

КОД

_

А

СТУДЕНТ

ДИСЦИПЛИНА

ОЦЕНКА

 

Рис

. 10.10. 

Диаграммы

 

функ

нальн

ий

 

СТУДЕНТ

 

и

 

УСПЕВАЕМОСТЬ

нному

 

языку

 

может

 

быть

 

удалена

 

из

 

отношения

 

УСП

ивела

 

к

 

исключению

 

из

 

отношений

 

прив

 

збыточной

так

 

как

на

 

самом

 

деле

 

она

 

явля

цио

ых

 

зависимостей

 

отношен

 

Можно

 

видеть

что

 

рассмотренные

 

выше

 

проблемы

имеющие

 

место

 

в

 

отношении

 

ЭКЗАМЕН

связанные

 

с

 

обновлением

 

данных

в

 

данном

 

случае

 

оказываются

 

преодоленными

Операция

 

INSERT

Информация

 

о

 

том

что

 

студент

 

с

 

кодом

 

С

4

 

имеет

 

фамилию

 

Лукин

осуществляется

 

вставкой

 

соответствующего

 

кортежа

 

в

 

отношение

 

СТУДЕНТ

 

независимо

 

от

 

того

 

имеются

 

или

 

нет

 

данные

 

о

 

сдаче

 

этим

 

студентом

 

какой

-

либо

 

учебной

 

дисциплины

Операция

 

DELETE

Информация

 

о

 

том

что

 

студент

 

с

 

кодом

 

С

9

 

сдавал

 

экзамен

 

по

 

иностра

ЕВАЕМОСТЬ

 

без

 

потери

 

информации

 

о

 

фамилии

 

этого

 

студента

Операция

 

UPDATE

Для

 

изменения

 

фамилии

 

у

 

студентки

 

с

 

кодом

 

С

2

 

необходимо

 

скорректировать

 

значение

 

соответствующего

 

атрибута

 

в

 

единственной

 

записи

 

отношения

 

СТУДЕНТЫ

Сравнивая

 

диаграммы

 

функциональных

 

зависимостей

 

на

 

рис

.10.7 

и

 10.10, 

можно

 

увидеть

что

 

произведенная

 

декомпозиция

 

отношения

 

ЭКЗАМЕН

 

на

 

два

 

отношения

 

СТУД

 

и

 

УСПЕВАЕМОСТЬ

 

пр

ЕНТЫ

одимой

 

функциональной

 

зависимости атрибута

 

от

 

ключа

 

отношения

а

 

именно

зависимости

  {

КОД

_

СТУДЕНТА

ДИСЦИПЛИНА

}

{

ИМЯ

_

СТУДЕНТА

}, 

обозначенной

 

на

 

рис

.10.7 

пунктиром

Указанная

 

зависимость

 

является

 

и

ется

 

следствием

 

наличия

 

неприводимой

 

функциональной

 

зависимости

 

{

КОД

_

СТУДЕНТА

}

{

ИМЯ

_

СТУДЕНТА

}, 

что

 

хорошо

 

видно

 

из

 

диаграммы

 

на

 

рис

.10.7. 

Теперь

 

можно

 

дать

 

определение

 

второй

 

нормальной

 

формы

 

отношения

Отношение

 

находится

 

во

 

второй

 

нормальной

 

форме

 

(2

НФ

тогда

 

и

 

только

 

тогда

когда

 

оно

 

находиться

 

в

 

первой

 

нормальной

 

форме

 

и

 

каждый

 

неключевой

 

атрибут

 

неприводимо

  (

функционально

 

полно

зависит

 

от

 

первичного

 

ключа

Напомним

что

 

неключевым

 

мы

 

называем

 

атрибут

который

 

не

 

входит

 

в

 

состав

 

ключа

 

отношения

Оба

 

отношения

 – 

СТУДЕНТЫ

 

и

 

УСПЕВАЕМОСТЬ

полученные

 

в

 

результате

 

декомпозиции

 

отношения

 

ЭКЗАМЕН

находятся

 

во

 

второй

 

нормальной

 

форме


background image

 

122

так

 

как

 

их

 

неключевые

 

атрибуты

 

ИМЯ

_

СТУДЕНТА

ФАКУЛЬТЕТ

 

и

 

ОЦЕНКА

 

зависят

 

от

 

первичных

 

ключей

 

этих

 

отношений

соответственно

{

КОД

но

 

без

 

поте

путем

 

его

 

декомпозиции

 

преобразовать

 

к

 

двум

 

отношениям

находящимся

 

во

 

второй

 

нормальной

 

форме

Еще

 

раз

 

обращаем

 

внимание

 

на

 

то

что

 

декомпозиция

 

эта

 

осуществляется

 

без

 

потерь

 

информации

Исходное

 

отношение

 

ЭКЗАМЕН

  (

рис

.10.8) 

всегда

 

может

 

быть

 

восстановлено

 

путем

 

соединения

 

двух

 

выходных

 

отношений

 

СТУДЕНТЫ

 

и

 

УСПЕВАЕМОСТЬ

  (

рис

.10.9) 

по

 

их

 

общему

атрибуту

 

КОД

вим

 

себе

что

 

требуется

 

хранить

 

в

 

базе

 

данных

 

информацию

 

о

 

том

в

 

каком

 

общежитии

 

живет

 

студент

 

с

 

указанием

 

ад

Для

 

их

ввести

 

следующие

 

ат

БЩ Ж

АДРЕС

М

указанными

 

ат

кц он

и

 

на

 

рис

.10.1

_

СТУДЕНТА

и

 {

КОД

_

СТУДЕНТА

ДИСЦИПЛИНА

неприводимо

Обратившись

 

к

 

приведенной

 

ранее

 

теореме

 

Хеза

можно

 

видеть

что

 

для

 

любого

 

отношения

находящегося

 

в

 

первой

 

нормальной

 

форме

 

всегда

 

возмож

рь

 

информации

 

 

_

СТУДЕНТА

10.5. 

Третья

 

нормальная

 

форма

Рассмотрим

 

следующий

 

пример

Предста

реса

 

общежития

эт

 

целей

 

можно

 

рибуты

КОД

_

СТ

рибута

имеют

УДЕНТА

О

 

мес

фун

Е ИТИЕ

 

и

 

альн

 

зав

ежду

 

ми

 

то

 

и

ые

симости

представленные

1. 

КОД

_

СТУД

А

ОБЩЕ ИТИЕ

АДР

ЕНТ

Ж

ЕС

 

Рис

. 10.11. 

Диаграмма

 

функциональных

 

зависимостей

 

между

 

атрибутами

 

 

и

 

 

Эти

 

функциональные

 

зависимости

 

означают

 

тот

 

факт

что

 

студент

 

может

 

жить

КОД

_

СТУДЕНТА ОБЩЕЖИТИЕ АДРЕС

 

только

 

в

 

одном

 

общежитии

 

и

 

у

 

общежития

 

может

 

быть

 

только

 

один

 

адрес

Для

 

хранения

 

рассматриваемой

 

информации

 

может

 

быть

 

использовано

  

отношение

 

СТУДЕНТ

_

ОБЩЕЖИТИЕ

_

АДРЕС

приведенное

 

на

 

рис

.10.12. 


background image

 

123

СТУДЕНТ

_

ОБЩЕЖИТИЕ

_

АДРЕС

 

КОД

_

СТУДЕНТА

 

ОБЩЕЖИТИЕ

АДРЕС

 

С

ул

.

Строительная

д

.1 

С

у

л

.

Строительная

д

.1 

С

ул

.

Театральная

д

.15 

С

ул

.

Студенческая

д

.4 

С

ул

.

Студенческая

д

.4 

Рис

. 10.12. 

Отношение

 

СТУДЕНТ

_

ОБЩЕЖИТИЕ

_

АДРЕС

 

Это

 

отношение

 

находятся

 

во

 

второй

 

нормальной

 

форме

Действительно

как

 

О
К

П

ем

 

прив

 

лиш

данных

Операция

 

INSERT

Мы

 

не

 

можем

 

включить

 

в

 

базу

 

данных

 

информацию

 

об

 

ад

я

 

до

 

те п

 

данных

 

хотя

 

бы

 

об

 

одном

 

ст

ю

 

о

 

д

р

 

в

 

общежи

студентах

но

 

потерять

 

орма

тия

Наприме

 

удале

кортежа

 

для

удент

ем

 

информацию

 

об

 

адресе

ежит

 

2

пе

я

 

UPDAT

ублир вание

 

ормац

тий

 

приводит

 

к

 

тому

что

 

в

 

случае

 

переименования

 

названия

 

улицы

на

 

которой

 

расположено

 

общежитие

необходимо

 

внести

 

изменения

 

в

 

адрес

 

общежития

 

 

всех

 

проживающих

 

в

 

нем

 

студентов

При

 

некорректном

 

завершении

 

такой

 

о

 

и

 

имеющей

 

место

 

функциональной

 

зависимости

 

атрибута

 

АДРЕС

 

от

 

атрибута

 

ОБЩ

 

это

 

видно

 

из

 

диаграммы

 

на

 

рис

.10.11, 

между

 

его

 

неключевыми

 

атрибутами

БЩЕЖИТИЕ

 

и

 

АДРЕС

 

и

 

ключом

 

отношения

которым

 

является

 

атрибут

 

ОД

_

СТУДЕНТА

   

имеет

 

место

 

неприводимая

 

функциональная

 

зависимость

оэтому

в

 

данном

 

отношении

 

не

 

может

 

быть

 

аномалий

связанных

 

с

 

наличи

одимой

 

функциональной

 

зависимости

 

у

 

отношений

 

не

 

находящихся

 

во

 

второй

 

нормальной

 

форме

Тем

 

не

 

менее

при

 

внимательном

 

рассмотрении

 

этого

 

отношения

 

можно

 

увидеть

что

 

структура

 

отношения

 

на

 

рис

.10.12  

не

ена

 

недостатков

Действительно

одинаковые

 

значения

 

адреса

 

общежития

 

повторяются

 

многократно

 

для

 

каждого

 

студента

проживающего

 

в

 

этом

 

общежитии

Эта

 

избыточность

 

также

 

приводит

 

к

 

возникновению

 

аномалий

 

при

 

выполнении

 

над

 

отношением

 

операции

 

обновления

 

ресе

 

нового

 

общежити

х

 

ор

пока

 

у

 

нас

 

нет

уденте

прожива

Операция

 

DE

щем

 

в

 

этом

LET

При

бщежитии

алени

нфо

E

у

и

 

и

мации

 

о

 

проживающих

тии

 

 

мож

инф

цию

 

об

 

адресе

 

общежи

р

при

нии

 

 

ст

а

 

с

 

кодом

 

 

мы

 

теря

С

9

 

общ

E

Д

ия

о

О раци

инф

ии

 

об

 

адресах

 

общежи

для

перации

 

в

 

отношении

 

могут

 

оказаться

 

кортежи

 

с

 

противоречивой

нформацией

 – 

для

 

одного

 

общежития

 

два

 

значения

 

адреса

что

 

противоречит

ЕЖИТИЕ

 (

см

рис

. 10.11). 

Очевидно

что

 

причиной

 

этих

 

аномалий

 

уже

 

не

 

является

 

наличие

 

приводимой

 

функциональной

 

зависимости

 

неключевых

 

атрибутов

 

от

 

ключа

как

 

это

 

было

 

в

 

примере

рассмотренном

 

в

 

предыдущем

 

разделе

Таких

 

зависимостей

 

в

 

этом

 

отношении

 

нет

Оно

 

находится

 

во

 

второй

 

нормальной

 


background image

 

124

форме

 

и

 

его

 

неключевые

 

атрибуты

 

ОБЩЕЖИТИЕ

 

и

 

АДРЕС

 

зависят

 

от

 

ключа

 

(

атрибут

 

КОД

_

СТУДЕНТА

неприв

 

одимо

.  

На этот

 

раз

 

причиной

 

имеющих

 

место

 

аномалий

 

обновления

 

является

 

наличие

 

транзитивной

 

функциональной

 

зависимости

 

атрибута

 

АДРЕС

 

от

 

атрибута

 

КОД

_

СТУДЕНТА

показанной

 

на

 

рис

.10.13 

пунктирной

 

стрелкой

КОД

_

СТУДЕНТА

ОБЩЕЖИТИЕ

АДРЕС

Транзитивная

 

зависимость

 

Рис

. 10.13. 

ранзитивная

 

функциональная

 

зависимость

 

в

 

отношении

 

СТУДЕНТ

_

ОБЩЕЖИТИЕ

_

АДРЕС

 

Решение

 

обозначенной

 

проблемы

 

также

 

состоит

 

в

 

декомпозиции

 

отношения

 

СТУДЕНТ

_

ОБЩЕЖИТИЕ

_

АДРЕС

 

на

 

два

 

отношения

для

 

исключения

 

транзитивной

 

функциональной

 

зави

Т

симости

Результатом

 

такой

 

декомпозиции

 

явля

за

а

 

р

ется

 

два

 

отношения

представленные

 

вместе

 

с

 

диаграммами

 

их

 

функциональных

 

висимостей

 

н

ис

.10.14. 

СТУДЕНТ

_

ОБЩЕЖИТИЕ

 

 

ОБЩЕЖИТИЕ

_

АДРЕС

 

КОД

_

СТУДЕНТА

 

ОБЩЕЖИТИЕ

 

 

ОБЩЕЖИТИЕ

АДРЕС

 

С

1  

ул

.

Строительная

д

.1 

С

1  

ул

.

Театральная

д

.15 

С

2  

ул

.

Студенческая

д

.4 

С

3    

 

С

3    

 

 

КОД

_

СТУДЕНТА

ОБЩЕЖИТИЕ

ОБЩЕЖИТИ

АДРЕС

Е

 

Р

отн

рации

 

соединения

 

отношений

 

СТУ

_

А

и

Не

 

тру

омпозиция

 

решает

 

проблемы

 

с

 

приведенными

 

примерами

 

аномалий

 

операций

 

обновления

Действительно

ис

. 10.14. 

Декомпозиция

 

отношения

 

СТУДЕНТ

_

ОБЩЕЖИТИЕ

_

АДРЕС

 

Данная

 

декомпозиция

 

является

 

декомпозицией

 

без

 

потерь

Исходное

 

ошение

 

может

 

быть

 

восстановлено

 

путем

 

опе

ДЕНТ

_

ОБЩЕЖИТИЕ

 

и

 

ОБЩЕЖИТИЕ

_

АДРЕС

 

по

 

атрибуту

 

ОБЩЕЖИТИЕ

Также

 

при

 

декомпозиции

 

не

 

теряется

 

информация

 

о

 

функциональной

 (

транзитивной

зависимости

 

КОД СТУДЕНТА

ДРЕС

так

 

как

 

она

 

может

 

быть

 

выведена

 

з

 

зависимостей

 

КОД

_

СТУДЕНТА

ОБЩЕЖИТИЕ

 

и

 

ОБЩЕЖИТИЕ

АДРЕС

дно

 

видеть

что

 

данная

 

дек


background image

 

125

информация

 

об

 

а

е

 

нового

 

общежития

 

может

 

бы

ле

вставлена

 

в

 

отношение

 

ОБЩЕЖИТИЕ

_

АДРЕС

операция

 

уда

дрес

ть

 

гко

 

ления

 

информации

 

о

 

студенте

 

из

 

отношения

 

р

в

и

и

н

н

Отношение

 

находится

 

в

 

третьей

 

нормальной

 

форме

 (3

НФ

тогда

 

и

 

только

 

 

СТУДЕНТ

_

ОБЩЕЖИТИЕ

 

не зат аги ает

 

нформац и

 

об

 

адресах

 

общежитий

и

аконец

изменение

 

азвания

 

улицы

 

для

 

общежития

 

производится

 

модификацией

 

соответствующего

 

значения

 

атрибута

   

АДРЕС

 

в

 

соответствующем

 (

единственном

кортеже

 

отношения

 

ОБЩЕЖИТИЕ

_

АДРЕС

.  

Декомпозиция

 

отношения

 

СТУДЕНТ

_

ОБЩЕЖИТИЕ

_

АДРЕС

 

переводит

 

его

 

в

 

два

 

отношения

 

СТУДЕНТ

_

ОБЩЕЖИТИЕ

 

и

 

ОБЩЕЖИТИЕ

_

АДРЕС

находящиеся

 

уже

 

в

 

третьей

 

нормальной

 

форме

Определение

 

этой

 

нормальной

 

формы

 

имеет

 

следующий

 

вид

тогда

когда

 

оно

 

находится

 

во

 

второй

 

нормальной

 

форме

 

и

 

каждый

 

его

 

неключевой

 

атрибут

 

нетранзитивно

 

зависит

 

от

 

потенциального

 

ключа

Приведенные

 

выше

 

отношения

 

СТУДЕНТ

 

и

 

УСПЕВАЕМОСТЬ

 

на

 

рис

.10.9, 

СТУДЕНТ

_

ОБЩЕЖИТИЕ

 

и

 

ОБЩЕЖИТИЕ

_

АДРЕС

 

на

 

рис

.10.14 

удовлетворяют

 

этому

КО

 

определению

 

и

 

поэтому

 

все

 

они

 

находятся

 

в

 

третьей

 

нормальной

 

форме

Говоря

 

о

 

декомпозиции

 

отношения

 

СТУДЕНТ

_

ОБЩЕЖИТИЕ

_

АДРЕС

 

на

 

рис

.10.12 

с

 

целью

 

преобразования

 

его

 

в

 

два

 

отношения

находящийся

 

в

 

третьей

 

нормальной

 

форме

следует

 

обратить

 

внимание

 

на

 

то

что

 

кроме

 

приведенного

 

на

 

рис

.10.14, 

возможен

 

другой

 

вариант

 

разбиения

 

его

 

на

 

два

 

отношения

Этот

 

вариант

 

представлен

 

на

 

рис

.10.15. 

СТ

Е

_

УД НТ ОБЩЕЖИТИЕ

 

 

СТУДЕНТ

_

АДРЕС

 

Д

_

СТУДЕНТА

 

ОБЩЕЖИТИЕ

 

КОД

_

СТУДЕНТА

АДРЕС

 

С

1  

С

 

ул

.

Строительная

д

.1

С

1  

С

ул

.

Строительная

д

.1

 

С

2  

С

ул

.

Театральная

д

.15 

С

3  

С

ул Студенческая

д

.4

.

 

С

  

С

ул

.

Студенческая

д

.4

 

3

 

КОД

_

СТУДЕНТА

ОБЩЕЖИТИЕ

КОД

_

СТУДЕНТА

АДРЕС

 

Рис

.10.15. 

Вариант

 

декомпозиции

 

отношения

 

СТУДЕНТ

_

ОБЩЕЖИТИЕ

_

АДРЕС

 

Можно

 

видеть

что

 

соединение

 

этих

 

двух

 

отношений

 

по

 

атрибуту

 

КОД

_

СТУДЕНТА

обеспечивает

 

восстановление

 

данных

 

исходного

 

отношения

 

СТУДЕНТ

_

ОБЩЕЖИТИЕ

_

АДРЕС

Существенным

однако

является

 

то

что

 

при

 

такой

 

декомпозиции

 

в

 

этих

 

отношениях

 

оказалось

 

утраченной

 

функциональная

 

зависимость

 

атрибута

 

АДРЕС

 

от

 

атрибута

 

ОБЩЕЖИТИЕ

то

 

есть

 

зависимость