Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЭИС(ЗАО) / ЛекцииТЭИС / Реляционная модель.doc
Скачиваний:
16
Добавлен:
27.03.2015
Размер:
428.03 Кб
Скачать

C) Приведение к третьей Нормальной Форме

Иногда и вторая нормальная форма порождает неудобства. Для их устранения используется ещё один шаг нормализации, преобразующий вторую нормальную форму в третью. На этом шаге ликвидируется так называемая транзитивная зависимость.

Определение: Пусть А, В и С три атрибута или три набора атрибутов отношения К. Если С зависит от В, а В зависит от А, то С зависит от А. Если при этом обратное соответствие неоднозначно ( т. е. А не зависит от В или В не зависит от С), то говорят, что С транзитивно зависит от А.

*

Преобразование в третью нормальную форму состоит в расщеплении исходного отношения на два.

*

*

Возьмем отношение Студент (Номер зачётной книжки*, Имя студента, Стипендия, Номер курсового проекта, Дата сдачи). Дата сдачи зависит от Номера проекта, который зависит от Номера зачётной книжки, таким образом, Дата сдачи транзитивно зависит от атрибута Номер зачётной книжки.

Недостатки отношения Студент:

  1. До момента привлечения конкретного студента к работе над данным курсовым проектом, дату сдачи некуда было записать.

  2. Если вдруг студенты прекратили работу над данным курсовым проектом,и проект приостановлен для привлечения новых студентов, уничтожаются все данные содержащие дату сдачи проекта.

  3. Изменение даты сдачи проекта приводит к необходимости поиска всех записей содержащих эту дату и их модификации.

Определение: Отношение R задано в III нормальной форме, если оно задано во второй нормальной форме, и каждый атрибут из R. не являющийся ключевым элементом не транзитивно зависит от ключа отношения R.

Алгоритм приведения отношений к III нормальной форме.

  1. Выписать все функциональные зависимости атрибутов, от других атрибутов.

    Номер курсового проекта

    Дата сдачи

  2. Среди выделенных связей исключить все взаимнооднозначные зависимости атрибутов друг от друга.

  3. Для каждой выделенной функциональной зависимости разделим и исходное отношение на два.

  1. В первое отношение включить атрибуты, входящие в выделенную функциональную связь Проект (Номер курсового проекта, Дата сдачи).

  2. Во второе отношение включить все атрибуты, кроме атрибута транзитивно зависящего от ключа Деятельность студента (Номер зачётной книжки, Имя студента, Стипендия, Номер курсового проекта).

Результат приведения отношения Студент к III нормальной форме:

Деятельность студента (Номер зачётной книжки*, Имя студента, Стипендия, Номер курсового проекта).

Проект (Номер курсового проекта*, Дата сдачи).

D) Приведение к нормальной форме Бойса-Кодда

Отношения, находящиеся в III НФ не содержат повторяющихся групп, транзитивных зависимостей, его элементы находятся в полной функциональной зависимости от ключей отношения. Однако такое отношение может быть подвергнуто дальнейшей нормализации с целью упрощения вида отношения, усиления связей между элементами.

Выполнение ряда преобразований исходного отношения содержащего только простые функциональные связи позволяет привести его к нормальной форме Бойса-Кодда. Выполнение аналогичных преобразований над отношениями со сложными функциональными связями между элементами позволяет привести его к IV НФ. Исходное отношение находится в НФБК, если оно не содержит неполных функциональных зависимостей атрибутов от возможных ключей, или если в каждой функциональной зависимости детерминанты являются возможными ключами. Отношение может находиться в третьей нормальной форме, но не быть при этом в НФБК.

Однако отношение в НФБК всегда находятся в III НФ. НФБК обладает теми же достоинствами, что и III НФ и устраняет некоторые аномалии, не предотвращаемые III НФ.

  1. Отношение имеет два (или более) возможных ключа.

  2. Два возможных ключа являются сцепленными.

  3. Ключи пересекаются (т.е. имеют, по крайней мере, один общий атрибут).

Комбинация 1, 2, 3 условий редко встречается на практике, а для отношения без этих условий III НФ и НФБК эквивалентны.

Отношения находятся в НФБК тогда и только тогда, когда детерминанты являются возможными ключами.

Алгоритм нормализации:

Исходное отношение R1 (C, H, T, R, S, G)

C – курс

H – час

T – преподаватель

R – аудитория

S – студент

G – оценка

Предположим, имеет место следующее множество функциональных зависимостей:

Детерминанты

Атрибуты

C

T

каждый курс ведет только один преподаватель;

H, R

С

в каждой аудитории может одновременно находится только один курс

H, T

R

в одной аудитории в определенный момент времени может находится только один преподаватель;

C, S

G

каждый студент имеет по курсу только одну оценку;

H, S

R

студент может одновременно находится только в одной аудитории.

I шаг:Выделение ключа исходного отношения

Ключом исходного отношения называется один элемент или совокупность элементов, которые обладают следующими свойствами:

  1. Ключ однозначно определяет все остальные элементы данных;

  2. Не существует такого элемента в составе ключа, который можно было бы удалить без нарушения свойства 1;

Другими словами, ключомисходного отношения являетсягруппа элементов, не являющихся атрибутом ни одной из функциональных связей.

На первом шаге необходимо выполнить последовательный просмотр и проанализировать функциональные связи с точки зрения определения ключа.

H,S – ключ исходного отношения.

II шаг:Выделение функциональных связей, не содержащих ключа исходного отношения

C→ T

H

Не содержит HS

,R → C

H,T → R

C,S → G

III шаг:В полученном подмножестве функциональных зависимостей (связей), выделяются те, в которых атрибут связи не является составной частью детерминанта ни в одной из функциональных связей.

C,S→G

IV шаг:Декомпозиция исходного отношения на составляющие подмножества элементов. Из исходного отношения выделяются все элементы, входящие в выделенную функциональную связь. Эти элементы образуют отношение, удовлетворяющее требованиям НФБКR2(C,S,G)

На нём определена функциональная связь C,S→G.

Другое подмножество будет содержать элементы исходного отношения, кроме атрибутов, выделенной функциональной связи. R3(C,H,T,R,S)

V шаг:Определение множества функциональных связей, которые могут быть заданы на втором подмножестве элементов.

C

Это отношение не удовлетворяет требованиям НФБК, для него должен быть повторён процесс нормализации, начиная с II шага.

I шагвыполняется единственный раз. Для второго подмножества элементов, ключом будетH,S.

→ T

H,R → C

H,T → R

H,S→ R

Схематическое изображение алгоритма:

R 1(C, H, T, R, S, G)

C → T H,R → C

H,T → R H,S → R

C,S → G

R2 (C,S,G)

C,S → G

R3 (C,T,H,R,S)

C → T H,R → C

H,T → R H,S → R

В НФБК

R5 (C,H,R,S)

H,R → C

H,S→ R

R4 (C,T)

C → T

Утрата связи H,T R

R 6(H,R,C)

H,R → C

R7 (H,S,R)

H,S→ R

В НФБК

В НФБК

В НФБК

Недостатки НФ Бойса-Кодда:

  1. Усложняется реализация запросов, требующих совместной обработки нескольких элементов данных. Так как в результате нормализации эти элементы могут попадать в различные отношения.

  2. Потеря некоторых функциональных связей, которые могут быть восстановлены только с помощью операций над отношениями, а это требует дополнительных затрат времени при реализации запросов, следовательно, до применения алгоритмов нормализации необходимо сопоставить все преимущества и недостатки, которые принесёт с собой нормализация совокупности отношений.

Замечания:

    1. Если при выполнении II шагадля исходного отношения не были определены связи, не содержащие ключа исходного отношения, то переходим к выполнениюIII шага

    2. Если не были выявлены связи, в которых атрибут не является подмножеством детерминанта (содержание III шага), то выделить элементы, входящие в любую из функциональных связей.

    3. Если в результате декомпозиции полученные отношения либо теряют смысл, либо по-прежнему не удовлетворяют требованиям НФ Б-К, то множество функциональных связей на исходном отношении было определено неверно.

    4. Суть алгоритма сводится к ограничению на каждом шаге исходного множества функциональных связей, пока не будет выделена одна, являющаяся основой декомпозиции.

Характеристика отношений, полученных в результате нормализации:

R2 (C,S,G)

Распределение оценок студентов по предметам (Успеваемость)

R4 (C,T)

Закрепление предметов за преподавателями

R6(H,R,C)

Часы занятий и аудиторий по каждому предмету (Расписание занятий)

R7 (H,R,S)

Часы занятий и аудиторий lдля студентов

Утеряна функциональная связь, которая характеризует расписание занятий для преподавателей. Имея полученные отношения, указанная функциональная связь может быть восстановлена путём выполнения операций над отношениями

Соседние файлы в папке ЛекцииТЭИС