Реляционная алгебра
Реляционная алгебра состоит из операторов, объединенных в две группы:
- Классические операции над множествами: объединение, вычитание, пересечение, декартово произведение.
- Специальные реляционные операции: выборка (селекция, ограничения), проекция, деление, операция переименования.
Определения:
- Выборка – возвращает отношение, содержащее все кортежи, удовлетворяющие одному условию.
- Проекция - возвращает отношение, содержащее все кортежи исходного отношения после исключения из него некоторых атрибутов.
- Произведение - возвращает отношение, содержащее всевозможные кортежи, являющиеся сочетанием двух кортежей, принадлежащих соответственно двум исходным отношениям.
- Объединение – возвращает отношение, содержащее все кортежи, принадлежащие одному из двух исходных отношений или двум сразу.
- Пересечение - возвращает отношение, содержащее все кортежи, принадлежащие одновременно двум исходным отношениям.
- Вычитание - возвращает отношение, содержащее все кортежи, принадлежащие одному из двух исходных отношений или двум сразу.
- Соединение - возвращает отношение, кортежи которого – это сочетание двух кортежей, принадлежащих, соответственно, двум исходным отношениям, имеющих общее значение для одного или нескольких атрибутов этих двух исходных отношений. Такие общие значения в результате появляются один раз.
- Деление – для двух отношений бинарного и унарного возвращает отношение, содержащее все значения одного атрибута бинарного отношения, которые соответствуют в другом атрибуте всем значениям в унарном отношении.
В реляционной БД каждое отношение должно быть нормализовано. Нормальная форма – это ограничение на схему БД, которое позволяет избежать аномалий при добавлении, удалении и изменении данных.
|
|
Отношение считается нормализованным (1НФ), если каждое значение любого атрибута в каждом картеже является неделимым (атомарным) элементом. Такими атомарными значениями являются простые типы данных.
1НФ
2НФ В основном используются три нормальных формы.
3НФ
НФБК
4НФ
5НФ
Для всех нормальных форм соблюдается правило вложенности
Преимущества нормализации:
- Лучшая организация БД, что облегчает работу пользователям и администраторам БД.
- Сокращается избыточность информации, что ведет за собой упрощение структуры и рациональное использование дискового пространства.
- Минимизируется дублируемая информация.
- Нормализация с разбиением БД на более мелкие таблицы дает большую гибкость при изменении структур данных.
- Большая безопасность БД.
После нормализации БД организация защиты информации, содержащейся в ней, значительно упрощается.
|
|
Недостатки:
Снижение производительности при выполнении запросов в БД.
Определения:
- Отношение находится в 1НФ, если все элементы соответствующих доменов являются атомарными для каждого атрибута в исходном отношении. Исходное отношение строится таким образом чтобы оно находилось в 1НФ.
- Значение является не атомарным, если оно используется приложением по частям.
Перевод отношения в следующую нормальную форму осуществляется методом декомпозиции без потерь.
Такая декомпозиция должна обеспечивать то что запросы к исходному отношению и к отношениям, получаемым в результате декомпозиции, дадут одинаковый результат.
Основной операцией в методе является операция проекции.
Частичная зависимость от ключа неключевых атрибутов приводит к следующему:
1. 1. В отношении имеется явное и не явное избыточное дублирование данных, например, повторение о стаже, должности и окладе преподавателя, проводящих занятия в нескольких группах и/или по разным предметам. Повторение данных об окладах для одной и той же должности или данные о надбавке за стаж.
2. Следствием избыточного дублирования является проблема редактирования данных. Часть избыточности устраняется при переходе в 2НФ.
Отношение находится в 2НФ, если:
· Отношение находится в 1НФ.
· Каждый неключевой атрибут функционально полностью зависит от первичного ключа.
Для устранения частичной зависимости и перевода отношения в 2НФ необходимо:
- Построить проекцию без атрибутов, находящихся в частичной функциональной зависимости от первичного ключа.
- Построить проекцию на части составного первичного ключа и атрибута, зависящие от этих частей.
В результате получим два отношения r1, r2, находящихся во 2НФ:
ФИО | Предмет | Группа | Вид занятий |
Иванов И.М | СУБД | Практика | |
Иванов И.М | ОЭИ | Практика | |
Петров М.И | СУБД | Лекции | |
Петров М.И | МОК | Практика | |
Сидоров Н.Г | ОЭИ | Лекции | |
Сидоров Н.Г | МОК | Лекции | |
Егоров В.В | САПР | Лекции |
ФИО | Должность | Оклад | Стаж | Д_стаж | Кафедра |
Иванов И.М | Преподаватель | ||||
Петров М.И | Ст. преподават. | ||||
Сидоров Н.Г | Преподаватель | ||||
Егоров В.В | Преподаватель |
Переход ко 2НФ позволяет исключить явную избыточность данных в отношении r2, тем не менее, дублирование данных сохраняется и поэтому необходимо преобразовать r2 в 3НФ.