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НФ и БКНФ эквивалентны.


 

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

48750. Расчет структуры полей проводящего шара в диэлектрической среде 103.5 KB
  Цель работы: расчет структуры полей проводящего шара в диэлектрической среде а также в волноводе для приведенных в задании параметров. Метод исследования : метод разделения переменных при интегрировании дифференциальных уравнений для получения аналитических выражений потенциалов и напряженностей полей с последующим построением на ЭВМ структуры этих полей. Для заданной геометрии и параметров среды получены аналитические выражения значений потенциалов и напряженностей полей диэлектрического шара в диэлектрической среде. В...
48753. Создание базы данных с помощью СУБД Microsoft Access 939 KB
  Цели и основные задачи выполнения курсовой работы Необходимо создать базу данных БД Учебная нагрузка для учета нагрузки преподавателя ВУЗа и автоматизации отчета о выполнении нагрузки. Под базой данных БД понимают совокупность хранящихся вместе данных...
48754. ОБҐРУНТУВАННЯ ГОСПОДАРСЬКИХ РІШЕНЬ І ОЦІНЮВАННЯ РИЗИКІВ. МЕТОДИЧНІ ВКАЗІВКИ 440.5 KB
  Економіка підприємства Запоріжжя 2011 Методичні вказівки до виконання курсових робіт з дисципліни Обґрунтування господарських рішень і оцінювання ризиків для студентів денної форми навчання спеціальності 6.030504 Економіка підприємства укл. Виконання курсової роботи розвиває у студентів логіку економічного мислення дозволяє проявити творчі здібності при оцінці рівня господарського ризику на досліджуваному підприємстві розвиває навики самостійної роботи з літературою первинними документами законодавчою базою внутрішніми...
48755. Тіазолідони: синтез та використання 558 KB
  На теперішній час вивчені фізичні та хімічні властивості 4тіазолінонів розроблено ряд методів їх синтезу зокрема на основі 2тіоціанатоацетатної кислоти. Змішаній ангідрид ацетатної та хлорацетатної кислот з тіосемікарбазидом реагує з утворенням 2гідразонотіазолін4ону для якого характерна подвійна кетоєнольна та аміноімінна таутомерія [4]: В реакції хлорацетатної кислоти її естерів чи амідів з незаміщенною або Nзаміщеною тіосечовиною спочатку утворюється сіль ізотіосечовини. В реакціях з різноманітними S Nбінуклеофілами як...