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


 

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

38303. Европейский Парламент 40 KB
  14 ДЕС депутаты Европарламента избираются прямым всеобщим голосованием. Ряд существенных уточнений в порядок избрания депутатов Европарламента вносятся ДФЕС. Общее число членов Европарламента равно 751 750 1. Состав Европарламента и квоты отдельных государств фиксируются Европейским Советом по предложению Европарламента.
38304. Роль свободи в розвитку особистості 106 KB
  Вище сказане зумовлює актуальність проведеного мною дослідження на тему: Свобода – основна умова розвитку особистості . Мета дослідження: з'ясувати ролі свободи у формуванні особистості та будуванні громадянського суспільства. Вікові та індивідуальні фактори становлення свободи особистості Демократизація суспільства а отже і освіти вимагають від психологопедагогічної науки пошуку нових шляхів якісного вдосконалення виховання підростаючої особистості.
38305. Земельне право 1.82 MB
  Земельне право – самостійна галузь права представляє собою сукупність правових норм регулюючих: стосунки по використанню і охороні землі як природного ресурсу; умови і засоби виробництва в цілях організації раціонального використання і охорони землі; поліпшення і відтворення родючості ґрунтів; охорону прав і законних інтересів суб'єктів земельних стосунків. Таким своєрідним предметом земельного права є земельні правовідносини які мають наступні ознаки: поперше випливають із спеціальної правосуб'єктності суб'єктів земельного права із...
38307. Инвестирование. Сущность инвестиций 126.5 KB
  Инвестиции представляют собой вложения капитала с целью последующего его увеличения. В коммерческой практике принято различать следующие типы инвестиций: инвестиции в физические активы; инвестиции в денежные активы; инвестиции в нематериальные незримые активы. Инвестиции в ценные бумаги принято называть портфельными инвестициями а инвестиции в физические активы чаще именуют инвестициями в реальные активы. Различают: реальные финансовые и инновационные инвестиции.
38308. Банковское инвестирование и кредитирование 96.56 KB
  Инвесторы для получения кредита предоставляют в банк бизнесплан по реализации проекта 3. Вложения средств банком может осуществляться по разным схемам и на разных этапах реализации проекта 4. проекта то есть анализа техникоэкономического обоснования инвестиционного мероприятия предусмотренного проектом.
38310. ИСТОРИЯ МИРОВОЙ ЭКОНОМИКИ 4.37 MB
  Хронологический и страновой подходы к изложению материала позволили представить ведущие страны Древности Средневековья Нового и Новейшего времени и отразить основные особенности и тенденции в их экономическом развитии с выявлением факторов обусловивших это развитие. Это вынуждало людей либо увеличивать добычу полезных ископаемых и развивать промышленность внутри страны либо закупать вооружение у других государств. Большую роль в экономическом развитии страны играет социальный фактор социальное положение населения. Чем раньше народ...