Нормализация отношений

Реляционная алгебра

Реляционная алгебра состоит из операторов, объединенных в две группы:

  1. Классические операции над множествами: объединение, вычитание, пересечение, декартово произведение.
  2. Специальные реляционные операции: выборка (селекция, ограничения), проекция, деление, операция переименования.

 

Определения:

  1. Выборка – возвращает отношение, содержащее все кортежи, удовлетворяющие одному условию.
  2. Проекция - возвращает отношение, содержащее все кортежи исходного отношения после исключения из него некоторых атрибутов.
  3. Произведение - возвращает отношение, содержащее всевозможные кортежи, являющиеся сочетанием двух кортежей, принадлежащих соответственно двум исходным отношениям.
  4. Объединение – возвращает отношение, содержащее все кортежи, принадлежащие одному из двух исходных отношений или двум сразу.
  5. Пересечение - возвращает отношение, содержащее все кортежи, принадлежащие одновременно двум исходным отношениям.
  6. Вычитание - возвращает отношение, содержащее все кортежи, принадлежащие одному из двух исходных отношений или двум сразу.
  7. Соединение - возвращает отношение, кортежи которого – это сочетание двух кортежей, принадлежащих, соответственно, двум исходным отношениям, имеющих общее значение для одного или нескольких атрибутов этих двух исходных отношений. Такие общие значения в результате появляются один раз.
  8. Деление – для двух отношений бинарного и унарного возвращает отношение, содержащее все значения одного атрибута бинарного отношения, которые соответствуют в другом атрибуте всем значениям в унарном отношении.

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

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

 

1НФ

2НФ В основном используются три нормальных формы.

3НФ

 

НФБК

4НФ

5НФ

Для всех нормальных форм соблюдается правило вложенности

 

 

 
 

 

 


Преимущества нормализации:

  1. Лучшая организация БД, что облегчает работу пользователям и администраторам БД.
  2. Сокращается избыточность информации, что ведет за собой упрощение структуры и рациональное использование дискового пространства.
  3. Минимизируется дублируемая информация.
  4. Нормализация с разбиением БД на более мелкие таблицы дает большую гибкость при изменении структур данных.
  5. Большая безопасность БД.

 

После нормализации БД организация защиты информации, содержащейся в ней, значительно упрощается.

Недостатки:

Снижение производительности при выполнении запросов в БД.

Определения:

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

Перевод отношения в следующую нормальную форму осуществляется методом декомпозиции без потерь.

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

Основной операцией в методе является операция проекции.

 

Частичная зависимость от ключа неключевых атрибутов приводит к следующему:

1. 1. В отношении имеется явное и не явное избыточное дублирование данных, например, повторение о стаже, должности и окладе преподавателя, проводящих занятия в нескольких группах и/или по разным предметам. Повторение данных об окладах для одной и той же должности или данные о надбавке за стаж.

2. Следствием избыточного дублирования является проблема редактирования данных. Часть избыточности устраняется при переходе в 2НФ.

Отношение находится в 2НФ, если:

· Отношение находится в 1НФ.

· Каждый неключевой атрибут функционально полностью зависит от первичного ключа.

Для устранения частичной зависимости и перевода отношения в 2НФ необходимо:

  • Построить проекцию без атрибутов, находящихся в частичной функциональной зависимости от первичного ключа.
  • Построить проекцию на части составного первичного ключа и атрибута, зависящие от этих частей.

 

В результате получим два отношения r1, r2, находящихся во 2НФ:

 

ФИО Предмет Группа Вид занятий
Иванов И.М СУБД Практика
Иванов И.М ОЭИ Практика
Петров М.И СУБД Лекции
Петров М.И МОК Практика
Сидоров Н.Г ОЭИ Лекции
Сидоров Н.Г МОК Лекции
Егоров В.В САПР Лекции

 

 
 

 

 


ФИО Должность Оклад Стаж Д_стаж Кафедра
Иванов И.М Преподаватель
Петров М.И Ст. преподават.
Сидоров Н.Г Преподаватель
Егоров В.В Преподаватель

 

 


Переход ко 2НФ позволяет исключить явную избыточность данных в отношении r2, тем не менее, дублирование данных сохраняется и поэтому необходимо преобразовать r2 в 3НФ.