17230

НОРМАЛЬНЫЕ ФОРМЫ БОЛЕЕ ВЫСОКИХ ПОРЯДКОВ

Лекция

Информатика, кибернетика и программирование

Лекция № 9 Нормальные формы более высоких порядков Для большинства практических задач вполне достаточно 3НФ чтобы проектировать вполне работоспособные БД. При приведении БД к 3НФ неявно предполагалось что все отношения содержат один потенциальный ключ. Это не

Русский

2013-06-30

69.5 KB

2 чел.

Лекция № 9

Нормальные формы более высоких порядков

Для большинства практических задач вполне достаточно 3НФ, чтобы проектировать вполне работоспособные БД.

При приведении БД к 3НФ неявно предполагалось, что все отношения содержат один потенциальный ключ. Это не всегда верно. Рассмотрим следующий пример отношения, содержащего два ключа.

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

Таблица 1 Отношение "Успеваемость"

№_зк

ФИО

Предмет

Оценка

1

Иванов

Математика

4

1

Иванов

Физика

4

1

Иванов

БД

5

2

Петров

Математика

3

2

Петров

Физика

4

3

Сидоров

Математика

5

Данное отношение содержит два потенциальных ключа - {№_зк, Предмет} и {ФИО, Предмет}. Видно, что данные хранятся в отношении с избыточностью - при изменении наименования поставщика, это наименование нужно изменить во всех кортежах, где оно встречается.

Можно ли эту аномалию устранить при помощи алгоритма нормализации, описанного в предыдущей главе?

Для этого нужно выявить имеющиеся функциональные зависимости (курсивом выделим ключевые атрибуты):

№_зк  ФИО – фамилия студента зависит от номера зачетной книжки.

ФИО  №_зк - номер зачетной книжки зависит от фамилии студента.

{№_зк, Предмет}  Оценка - оценка зависит от первого потенциального ключа отношения.

{№_зк, Предмет }  ФИО – фамилия студента зависит от первого потенциального ключа отношения.

{ФИО, Предмет}  Оценка - оценка зависит от второго потенциального ключа отношения.

{ФИО, Предмет}  №_зк - номер зачетной книжки зависит от второго потенциального ключа отношения.

Данное отношение не содержит неключевых атрибутов, зависящих от части сложного ключа (см. определение 2НФ). Действительно, от части сложного ключа зависят атрибуты ФИО и №_зк, но они сами являются ключевыми. Таким образом, отношение находится в 2НФ.

Кроме того, отношение не содержит зависимых друг от друга неключевых атрибутов, так как неключевой атрибут всего один - Оценка (см. определение 3НФ). Таким образом, показано, что отношение "Успеваемость" находится в 3НФ.

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

Таблица 2 Отношение "Список" 

№_зк

ФИО

1

Иванов

2

Петров

3

Сидоров

Таблица 3 Отношение "Успеваемость-2"

№_зк

Предмет

Оценка

1

Математика

4

1

Физика

4

1

БД

5

2

Математика

3

2

Физика

4

3

Математика

5

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

Замечание. Если отношение находится в НФБК, то оно автоматически находится и в 3НФ. Действительно, это сразу следует из определения 3НФ.

Отношение "Успеваемость" не находится в НФБК, так как имеются зависимости (№_зк  ФИО и ФИО  №_зк), детерминанты которых не являются потенциальными ключами.

Для того чтобы устранить зависимость от детерминантов, не являющихся потенциальными ключами, необходимо провести декомпозицию, вынеся эти детерминанты и зависимые от них части в отдельное отношение. Отношения "Список" и "Успеваемость-2", полученные в результате декомпозиции находятся в НФБК.

Замечание. Приведенная декомпозиция отношения "Успеваемость" на отношения "Список" и " Успеваемость-2" не является единственно возможной. Альтернативной декомпозицией является декомпозиция на следующие отношения:

Таблица 4 Отношение "Список"

№_зк

ФИО

1

Иванов

2

Петров

3

Сидоров

Таблица 5 Отношение "Успеваемость-3"

ФИО

Предмет

Оценка

Иванов

Математика

4

Иванов

Физика

4

Иванов

БД

5

Петров

Математика

3

Петров

Физика

4

Сидоров

Математика

5

Устно. На первый взгляд, такая декомпозиция хуже, чем первая. Действительно, ФИО студентов по-прежнему повторяются, и при изменении фамилии, его придется менять одновременно в нескольких местах (тем более, сразу в двух отношениях!). Кажется, что ситуация стала еще хуже, чем была до декомпозиции. Однако такое ощущение возникает, так как интуитивно считается, что ФИО студентов могут меняться, а номера зачетных книжек - нет. Если же предположить, что номера зачетных книжек тоже могут меняться, то первая декомпозиция получается такой же "плохой" как и вторая - повторяющиеся номера придется менять одновременно в нескольких местах и также сразу в двух отношениях.

На самом деле никакого противоречия тут нет. В отношении "Успеваемость-3" атрибут "ФИО" является внешним ключом, служащим для связи с отношением "Список". Поэтому, при изменении наименования поставщика, это изменение производится в отношении "Список" и каскадно (см. методы поддержания ссылочной целостности) распространяется на отношение "Успеваемость-3" совершенно так, как изменение номера зачетной книжки каскадно распространяется на отношение "Успеваемость-2". Поэтому, формально обе декомпозиции совершенно равноправны. В реальной работе разработчик выберет, конечно, первую декомпозицию, но тут важно подчеркнуть, что его выбор основан совсем на других соображениях, не имеющих отношения к формальной теории нормальных форм.

Таким образом, эта нормальная форма вводит дополнительное ограничение по сравнению с 3НФ.

Альтернативное определение нормальной формы Бойса-Кодда:

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

Ситуация, когда отношение будет находится в 3НФ, но не в БКНФ, возникает при условии, что отношение имеет два (или более) потенциальных ключа, которые являются составными и имеют общий атрибут. Заметим, что на практике такая ситуация встречается достаточно редко, для всех прочих отношений 3НФ и БКНФ эквивалентны.


 

А также другие работы, которые могут Вас заинтересовать

75015. Українські народні думи, Відкритий урок у 4-му класі 118.5 KB
  Українські народні думи. Сьогодні на уроці прозвучать особливі своєрідні вокальні фольклорні твори думи. Боротьба українського народу за свободу і незалежність зумовила виникнення дуже відомого нині жанру народної творчості думи.
75016. Народная песня в симфонической музыке 44 KB
  Углубить представления учащихся о народной песне, определить связь между народным и профессиональным творчеством; определить народно-песенные истоки Второй симфонии...
75017. Мусор – глобальная проблема человечества. Борьба первобытного человека с отходами 32.5 KB
  Борьба первобытных людей с отходами Эколог: На древней планете идиллия была Наша Земля раем слыла. Эколог: Но однажды в древний век Появился человек. Первобытный человек: Много тысячелетий назад Неандерталец чистой Земле был рад Экологически чистые плоды он собирал Прозрачную водицу из родника он брал. Эколог: Отходы синтетические у современного человека Они не перегнивают лежат в земле три века Пакеты по пятьсот лет планету загрязняют А стеклянные отходы за тысячу лет не исчезают Пещерный человек: Пещерный человек вам Землю чистой...
75018. Не будьте собі ворогом. Конспект уроку здорового способу життя 47 KB
  Мета заходу: Виховувати в учнів негативне ставлення до вживання наркотиків бажання і вміння вести здоровий спосіб життя критично ставитись до своїх негативних вчинків. Що стається з наркоманом а продовжує радіти життю; б постійно шукає де б дістати наркотик; в пригнічений; г життя муки. Втрачаєш радість життя. Можеш покінчити життя самогубством.
75019. Здоров’я народу - багатство країни. Позакласний захід з народознавства для 6-7-х класів 98.5 KB
  Українське житло мало чотиригранну будову – чотири стіни відповідали чотирьом сторонам світу. Вікна виходили на схід і на південь – до сонця. З північного боку, де панували темні, злі сили, вікон не було.
75020. Дванадцять місяців, народознавчий проект 162 KB
  Чи потрібні сучасній молоді знання про народні свята традиції Чи варто відроджувати їх ці питання визначили проблему. Мета проекту: ознайомлення учнів з багатством культурної спадщини українського народу; формування ціннісного ставлення до скарбів української духовної культури народного мистецтва традицій і звичаїв свого народу...
75021. Структура наукового дослідження, план-конспект уроку 128 KB
  Структура наукового дослідження Мета. Познайомити слухачів із методологією наукової творчості сформувати у них теоретичні знання про основні компоненти структури наукового дослідження та практичні вміння будувати структуру наукового дослідження користуватися одержаними знаннями при написанні наукових робіт стимулювати творчість дослідницькі вміння. Бесіда Яке слово найбільш підходить до поняття структура наукового дослідження Будова схема. Із чого починається наукове дослідження Із обґрунтування актуальності теми дослідження.
75023. Прийшла зима весела. Новорічне свято для учнів 3-4 класів 88 KB
  Ось палац наш крижаний Щоб зустріти рік Новий Ми запрошуєм гостей І дорослих і дітей. До нас у крижаний палац Запрошуємо друзі вас На новорічний бал святковий Чудовий радісний казковий У містечку казковому Крижаному чудовому І цікаво і весело Буде всій дітворі У містечку казковому Крижаному чудовому Ми гостей привітаємо Разом з Новим роком усіх Хай збуваються всі мрії Оживає світ казок В незабутнє святодиво Для дорослих і діток І вітаннями теплими Із піснями легендами З маскарадами іграми Йде до нас Новий рік Дід...