Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

- 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных

Лекция



Это окончание невероятной информации про нормальные формы.

...

в ходе декомпозиции? Можно ли вернуться обратно к исходным отношениям, если будет принято решение отказаться от декомпозиции, восстановятся ли при этом данные?

Для ответов на эти вопросы нужно ответить на вопрос - что же представляет собой декомпозиция отношений с точки зрения операций реляционной алгебры? При декомпозиции мы из одного отношения получаем два или более отношений, каждое из которых содержит часть атрибутов исходного отношения. В полученных новых отношениях необходимо удалить дубликаты строк, если таковые возникли. Это в точности означает, что декомпозиция отношения есть не что иное, как взятие одной или нескольких проекций исходного отношения так, чтобы эти проекции в совокупности содержали (возможно, с повторениями) все атрибуты исходного отношения. Т.е., при декомпозиции не должны теряться атрибутыотношений. Но при декомпозиции также не должны потеряться и сами данные. Данные можно считать не потерянными в том случае, если возможна обратная операция - по декомпозированным отношениям можно восстановить исходное отношение в точности в прежнем виде. Операцией, обратной операции проекции, является операция соединения отношений. Имеется большое количество видов операции соединения (см. гл. 4). Т.к. при восстановлении исходного отношения путем соединения проекций не должны появиться новые атрибуты, то необходимо использовать естественное соединение.

Определение 6. Проекция 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм отношения 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм на множество атрибутов 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм называется собственной, если множество атрибутов 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм является собственным подмножеством множества атрибутов отношения 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм (т.е. множество атрибутов 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм не совпадает с множеством всех атрибутов отношения 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм).

Определение 7. Собственные проекции 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм и 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм отношения 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм называются декомпозицией без потерь, если отношение 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных формточно восстанавливается из них при помощи естественного соединения для любого состояния отношения 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм:

6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм.

Рассмотрим пример, показывающий, что декомпозиция без потерь происходит не всегда.

Пример 2. Пусть дано отношение 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм:

НОМЕР ФАМИЛИЯ ЗАРПЛАТА
1 Иванов 1000
2 Петров 1000

Таблица 7 Отношение 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм

Рассмотрим первый вариант декомпозиции отношения 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм на два отношения:

НОМЕР ЗАРПЛАТА
1 1000
2 1000

Таблица 8 Отношение 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм

ФАМИЛИЯ ЗАРПЛАТА
Иванов 1000
Петров 1000

Таблица 9 Отношение 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм

Естественное соединение этих проекций, имеющих общий атрибут "ЗАРПЛАТА", очевидно, будет следующим (каждая строка одной проекции соединится с каждой строкой другой проекции):

НОМЕР ФАМИЛИЯ ЗАРПЛАТА
1 Иванов 1000
1 Петров 1000
2 Иванов 1000
2 Петров 1000

Таблица 10 Отношение 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм

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

Рассмотрим другой вариант декомпозиции:

НОМЕР ФАМИЛИЯ
1 Иванов
2 Петров

Таблица 11 Отношение 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм

НОМЕР ЗАРПЛАТА
1 1000
2 1000

Таблица 12 Отношение 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм

По данным проекциям, имеющие общий атрибут "НОМЕР", исходное отношение восстанавливается в точном виде. Тем не менее, нельзя сказать, что данная декомпозиция является декомпозицией без потерь, т.к. мы рассмотрели только одно конкретное состояние отношения 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм, и не можем сказать, будет ли и в других состояниях отношение 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных формвосстанавливаться точно. Например, предположим, что отношение 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм перешло в состояние:

НОМЕР ФАМИЛИЯ ЗАРПЛАТА
1 Иванов 1000
2 Петров 1000
2 Сидоров 2000

Таблица 13 Отношение 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм

Кажется, что этого не может быть, т.к. значения в атрибуте "НОМЕР" повторяются. Но мы же ничего не говорили о ключе этого отношения! Сейчас проекции будут иметь вид:

НОМЕР ФАМИЛИЯ
1 Иванов
2 Петров
2 Сидоров

Таблица 14 Отношение 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм

НОМЕР ЗАРПЛАТА
1 1000
2 1000
2 2000

Таблица 15 Отношение 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм

Естественное соединение этих проекций будет содержать лишние кортежи:

НОМЕР ФАМИЛИЯ ЗАРПЛАТА
1 Иванов 1000
2 Петров 1000
2 Петров 2000
2 Сидоров 1000
2 Сидоров 2000

Таблица 16 Отношение 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм

Вывод. Таким образом, без дополнительных ограничений на отношение 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм нельзя говорить о декомпозиции без потерь.

Такими дополнительными ограничениями и являются функциональные зависимости. Имеет место следующая теорема Хеза [54]:

Теорема (Хеза). Пусть 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм является отношением, и 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм - атрибуты или множества атрибутов этого отношения. Если имеется функциональная зависимость 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм, то проекции 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм и 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм образуют декомпозицию без потерь.

Доказательство. Необходимо доказать, что 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм для любого состояния отношения 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм. В левой и правой части равенства стоят множества кортежей, поэтому для доказательства достаточно доказать два включения для двухмножеств кортежей: 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм и 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм.

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

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

Замечание. В доказательстве теоремы Хеза наличие функциональной зависимости не использовалось при доказательстве включения 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм. Это означает, что при выполнении декомпозиции и последующем восстановлении отношения при помощи естественного соединения, кортежи исходного отношения не будут потеряны. Основной смысл теоремы Хеза заключается в доказательстве того, что при этом не появятся новые кортежи, отсутствовавшие в исходном отношении.

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

Выводы

При разработке базы данных можно выделить несколько уровней моделирования:

  • Сама предметная область
  • Модель предметной области
  • Логическая модель данных
  • Физическая модель данных
  • Собственно база данных и приложения

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

  • Адекватность базы данных предметной области
  • Легкость разработки и сопровождения базы данных
  • Скорость выполнения операций обновления данных (вставка, обновление, удаление)
  • Скорость выполнения операций выборки данных

Первая нормальная форма (1НФ) - это обычное отношение. Отношение в 1НФ обладает следующими свойствами:

  • В отношении нет одинаковых кортежей.
  • Кортежи не упорядочены.
  • Атрибуты не упорядочены.
  • Все значения атрибутов атомарны.

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

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

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

Отношение 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм находится в третьей нормальной форме (3НФ) тогда и только тогда, когда отношение находится в 2НФ и все неключевые атрибуты взаимно независимы.

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

Переход от ненормализованных отношений к отношениям в 3НФ может быть выполнен при помощи алгоритма нормализации. Алгоритм нормализации заключается в последовательной декомпозиции отношений для устранения функциональных зависимостей атрибутов от части сложного ключа (приведение к 2НФ) и устранения функциональных зависимостей неключевых атрибутов друг от друга (приведение к 3НФ).

Корректность процедуры нормализации (декомпозиция без потери информации) доказывается теоремой Хеза.

На этом все! Теперь вы знаете все про нормальные формы, Помните, что это теперь будет проще использовать на практике. Надеюсь, что теперь ты понял что такое нормальные формы, нормальная форма, нормальные формы отношений, проектирование баз данных, типы нормальных форм и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL

Продолжение:


Часть 1 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных форм
Часть 2 - 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных
Часть 3 - 6. Нормальные формы отношений. Проектирование баз данных, Типы нормальных

Ответы на вопросы для самопроверки пишите в комментариях, мы проверим, или же задавайте свой вопрос по данной теме.

создано: 2014-12-16
обновлено: 2021-03-13
297



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL

Термины: Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL