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


 

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

24952. Принципы исполнения обязательств 58.5 KB
  Принципы исполнения обязательств. Правовая природа односторонняя сделка либо юридический поступок спор 1 Принцип надлежащего исполнения. Предполагает необходимость точного и своевременного исполнения обязательств в строгом соответствии с условиями соглашения и требованиями законодательства. выделяет 6 элементов надлежащего исполнения: 1.
24953. Условия действительности сделок. Гражданско-правовые средства, применяемые в случае совершения недействительной сделки и их значение 34.5 KB
  Гражданскоправовые средства применяемые в случае совершения недействительной сделки и их значение 1. Условия действительности сделок Действительность сделки признание за ней качества юридического факта порождающего тот правовой результат к которому стремились стороны сделки. Способность физических и юридических лиц совершающих сделки к участию в сделке. Данная способность связана с вопросом о дееспособности или недееспособности физического лица вопросом о характере правоспособности юридического лица общая или специальная вопросом о...
24954. Способы и порядок заключения правовых договоров 72.5 KB
  Заключение договора достижение сторонами в надлежащей форме соглашения по всем существенным условиям договора в порядке предусмотренном законодательством. Договор считается заключенным при соблюдении двух необходимых условий: сторонами должно быть достигнуто соглашение по всем существенным условиям договора; достигнутое сторонами соглашение по своей форме должно соответствовать требованиям предъявляемым к такого рода договорам ст. Два случая заключения договора: между присутствующими и между отсутствующими .
24955. Виды договоров в гражданском праве 32 KB
  В зависимости от основания классифицировать можно договоры как угодно. Поэтому делит все договоры на: договоры направленные на передачу имущества в собственность в аренду в пользование и т.; договоры направленные на выполнение работ; договоры направленные на оказание услуг; договоры направленные на создание коллективных обязанностей учредительные договоры; договоры направленные на использование результатов интеллектуальной деятельности. Учебник классифицирует гражданскоправовые договоры как соглашения сделки и договорные...
24956. Залог как способ обеспечения исполнения обязательств 80 KB
  Основной формой залога являлась фидуция архаичное право продажа закладываемой вещи с правом ее обратного выкупа. Однако этот вид залога являлся чрезвычайно обременительным для должника поскольку кредитор став собственником вещи мог ей распорядиться в результате чего должник лишался возможности выкупа вещи. В связи с этим Уложением Юстиниана такой вид залога был запрещен. Это вызвало к жизни другую форму залога пигнус ручной заклад.
24957. Банковская гарантия, удержание, задаток как способы обеспечения исполнения обязательств 80 KB
  Признаки способов обеспечения исполнения обязательств: o имущественный характер; обеспечивают интерес кредитора и направлены на исполнение обязательства; устанавливаются либо на основании закона либо по соглашению сторон; дополнительный акцессорный характер то есть они обеспечивают исполнение основного обязательства поэтому прекращение или недействительность основного обязательства влечет прекращение или недействительность его обеспечения за исключением банковской гарантии; они применяются вне зависимости от того причинены ли...
24958. Договор купли-продажи недвижимости 55.5 KB
  К отношениям по продаже недвижимого имущества часто применяются особые требования к договорам продажи недвижимости заключаемым на торгах в том числе на публичных правила ФЗ Об исполнительном производстве к ДПН в процессе приватизации нормы законодательства о приватизации; при этом положения ГК регулирующие порядок приобретения и прекращения права собственности применяются если законами о приватизации не предусмотрено иное. Переход права собственности на недвижимость от продавца к покупателю подлежит государственной регистрации...
24959. Жилищные правоотношения 62 KB
  Сущность жилищного вопроса заключается в недостатке жилища. Этой категорией охватываются отношения в сфере управления жилым фондом в том числе его государственный учет и контроль за его использованием и сохранностью; обеспечение граждан жилыми помещениями на условиях найма; обеспечение правильного использования жилищного фонда его эксплуатация и ремонт и т. Только на жилищные отношения распространяется действие норм жилищного законодательства а к отношениям лишь отдаленно связанным с удовлетворением жилищной проблемы эти нормы не...
24960. Гражданско-правовые проблемы приватизации жилищного фонда 81 KB
  Гражданскоправовые проблемы приватизации жилищного фонда Согласно Федеральному закону от 29 декабря 2004 г. N 1541I О приватизации жилищного фонда в Российской Федерации последние изменения от 29 декабря 2004 г. Имеется проблема приватизации коммунальных квартир и комнат в них. В Примерном положении о бесплатной приватизации жилищного фонда в Российской Федерации утвержденного решением коллегии Комитета РФ по муниципальному хозяйству от 18.