пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Операции в реляционных БД.

Операции в реляционной базе делятся на операции обновления базы данных и операции обработки отношений. Однако, следует знать, что в различных СУБД не всегда реализуются все операции. К операциям обновления базы данных относятся те операции, которые выполняют вставку новых кортежей, удаление ненужных, корректировку значений атрибутов существующих кортежей, а именно: это операции Включить, Удалить, Обновить.

Операция Включить требует задания имени отношения и предварительного формирования значений атрибутов нового кортежа. Обязательно должен быть задан ключ кортежа.

Операция Удалить требует наименования отношения, а также идентификации кортежа или группы кортежей, подлежащих удалению..

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

Что касается операций обработки, то они позаимствованы из реляционной алгебры. Операции реляционной алгебры могут выполняться над одним отношением, например Проекция, или над двумя, например Объединение. В первом случае операция называется унарной, а во втором – бинарной. При выполнении бинарных операций отношения должны быть совместимы, то есть у них должны быть совместимы имена атрибутов и типы соответствующих доменов.

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

(рис. 10):

· Выборка

· Проекция

· Умножение (декартово произведение)

· Объединение

· Вычитание (разность).

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

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

При Декартовом произведении двух совместимых отношений получается новое отношение, кортежи которого являются сцеплением (конкатенацией) кортежей первого и второго отношений.

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

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

Остальные три операции являются производными, они могут быть получены из основных операций, их называют дополнительными:

Соединение – Join

Пересечение – Intersect

Деление – Divide.

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

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

Результатом операции Пересечение двух отношений является отношение, включающее кортежи, входящие в оба отношения. Операция Деления предполагает, что имеется два отношения: одно – бинарное (содержащее два атрибута), другое – унарное (содержащее один атрибут). В результате получается отношение, состоящее из кортежей, включающих значения первого атрибута кортежей первого отношения, но только таких, для которых множество значений второго атрибута первого отношения совпадает с множеством значений атрибутов второго отношения.


13.06.2014; 20:58
хиты: 80
рейтинг:0
Точные науки
информатика
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2025. All Rights Reserved. помощь