Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Операции реляционной алгебры



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

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

В состав теоретико-множественных операций входят традиционные операции над множествами:

§ объединение;

§ пересечение;

§ разность;

§ декартово произведение.

Специальные реляционные операции включают:

§ выборку;

§ проекцию;

§ естественное соединение;

§ деление.

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

Отношение R Отношение S

ID_NUM NAME CITY AGE   ID_NUM NAME CITY AGE
  Иванов Москва     Иванов Москва  
  Петров Нижний Новгород     Галкин Иваново  
  Сидоров Рязань          

Объединением двух совместимых по типу отношений R и S(R È S) называется отношение с тем же заголовком, как в отношениях R и S, и с телом, состоящим из множества кортежей t, принадлежащих R или S или обоим отношениям.

R È S

ID_NUM NAME CITY AGE
  Иванов Москва  
  Петров Нижний Новгород  
  Сидоров Рязань  
  Галкин Иваново  

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

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

R Ç S

ID_NUM NAME CITY AGE
  Иванов Москва  

Разностью двух совместимых по типу отношений R и S(R - S) называется отношение с тем же заголовком, как в отношениях R и S, и с телом, состоящим из множества кортежей t, принадлежащих отношениюR и не принадлежащих отношениюS.


R - S

ID_NUM NAME CITY AGE
  Петров Нижний Новгород  
  Сидоров Рязань  

Декартово произведение двух отношений R и S(R ´ S), определяется как отношение с заголовком, представляющим собой сцепление двух заголовков исходных отношений R и S, и телом, состоящим из множества кортежей t,таких, что первым является любой кортеж отношенияR, а вторым – любой кортеж, принадлежащий отношениюS.

Пусть отношение R содержит имена всех текущих поставщиков, а отношениеB номера всех текущих деталей. Тогда R ´ S – это все текущие пары поставщик – деталь и деталь – поставщик.

Отношение R Отношение S

S1   P1
S2 P2
S3 P3
  P4

R ´ S

S1 P1   S2 P1   S3 P1
S1 P2 S2 P2 S3 P2
S1 P3 S2 P3 S3 P3
S1 P4 S2 P4 S3 P4

На практике явное использование операции декартово произведение требуется только для очень сложных запросов. Эта операция включена в реляционную алгебру по концептуальным соображениям: (декартово произведение требуется как промежуточный шаг при определении операции θ - соединения, которая используется довольно часто).

Выборка — это сокращенное название θ - выборки, где θ означает любой скалярный оператор сравнения ().

θ - выборкой, из отношения RпоатрибутамХ и Y( называется отношение, имеющее тот же заголовок, что и отношение R,и тело, содержащее множества кортежей tотношенияR, для которых проверка условия Х θ Y дает значение истина. Атрибуты XиY должны быть определены на одном и том же домене, а оператор должен иметь смысл для этого домена.

Операция выборка (или операция ограничение отношения) — создает новое отноше­ние, содержащее только те строки отношения – операнда, которые удовлетворяют некото­рому условию ограничения.

Отношение R.

ID_NUM NAME CITY AGE
  Иванов Москва  
  Петров Нижний Новгород  
  Сидоров Рязань  
  Галкин Москва  

ID_NUM NAME CITY AGE
  Иванов Москва  
  Галкин Москва  

ID_NUM NAME CITY AGE
  Галкин Москва  

Проекцией отношения R по атрибутам Х, Y,…,Z ( [X, Y,…Z](R)), где каждый из атрибутов принадлежит отношению R, называется отношение с заголовком {Х, Y,…,Z} и с телом, содержащим множество всех кортежей вида <Х:x, Y:y,..., Z:z> таких, что в отношении R имеется кортеж, атрибут Х которого имеет значение x, атрибут Y имеет значение y,..., атрибут Z имеет значение z. Тем самым, при выполнении операции проекции получается «вертикальное» подмножество данного отношения, то есть подмножество, получаемое исключением всех атрибутов, отношения-операнда с естественным уничтожением потенциально возникающих кортежей-дубликатов.

[NAME, CITY] (R) [CITY] (R)

NAME CITY   CITY
Иванов Москва Москва
Петров Нижний Новгород Нижний Новгород
Сидоров Рязань Рязань
Галкин Москва  

Соединение отношений — создает новое отношение, каждый кортеж которого является результатом сцепления кортежей операндов (исходных отношений). Соединение имеет две разновидности: естественное соединение и соединение по условию (θ-соединение).

Пусть X={X1, X2, …, Xm}, Y={Y1, Y2, …, Yn}, Z={Z1, Z2, …, Zk}.

Естественным соединением отношений R(X,Y) и S(Y,Z) называется отношение с заголовком {Х, Y, Z} и с телом, содержащим множество всех кортежей вида <Х:x, Y:y, Z:z> таких, для которых в отношении R значение атрибута Х равно x, а значение атрибута Y равно y, и в отношении S значение атрибута Y равно y, а атрибута Z равно z. При естественном соединении производится сцепление строк операндов соединения по общим атрибутам при условии равенства общих атрибутов.

Замечание 1. Соединения не всегда выполняются по внешнему ключу и соответствующему первичному ключу, хотя такие соединения очень распространены и являются важным частным случаем.

Замечание 2. Если отношения R и S не имеют общих атрибутов, то выражение B эквивалентно R ´S.

Отношение R (поставщики) Отношение S (детали)

ID_NUM NAME CITY STATUS   IP_NUM NAMEN CITY WEIGHT
  Иванов Москва   Р123 Болт Москва  
  Петров Нижний Новгород   Р896 Гайка Нижний Новгород  
  Сидоров Рязань   Р432 Шарнир Москва  

ID_NUM NAME STATUS CITY IP_NUM NAMEN CITY WEIGHT
  Иванов   Москва Р123 Болт Москва  
  Иванов   Москва Р432 Шарнир Москва  
  Петров   Нижний Новгород Р896 Гайка Нижний Новгород  

θ–соединение Пусть отношения R и S не имеют общих имен атрибутов, и θ определяется так же, как в операции выборки. θ - соединением отношения R по атрибуту X с отношением R по атрибуту Y называется результат вычисления выражения

θ-соединение — это отношение с тем же заголовком, что и при декартовом произведении отношений R и S, и с телом, содержащим множество кортежей t Î R´S, таких, что вычисление условия X θ Y дает значение истина для данного кортежа. Атрибуты X и Y должны быть определены на одном и том же домене, а оператор должен иметь смысл для этого домена.

Отношение R (поставщики) Отношение S (поставки)

ID_NUM NAME CITY STATUS   ID_NUM IP_NUM QTY
  Иванов Москва     Р123  
  Петров Нижний Новгород     Р896  
  Сидоров Рязань     Р432  
        Р432  
  Р123  

R.ID_NUM NAME CITY STATUS S.ID_NUM IP_NUM QTY
  Иванов Москва     Р123  
  Петров Нижний Новгород     Р432  
  Сидоров Рязань     Р432  

Операция деления

У операции реляционного деления два операнда - бинарное и унарное отношения. Пусть X={X1, X2, …, Xm}, Y={Y1, Y2, …, Yn}.

Делением отношений R (Х,Y) на S(Y) (R/S) называется отношение с заголовком {X} и телом, содержащим множество всех кортежей {X:x}, таких, что существует кортеж {X:x, Y:y}, который принадлежит отношению R для всех кортежей {Y:y}, принадлежащих отношению S.

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

Отношение А Отношение В Отношение В1 Отношение В2

S# P#   P#   P#   P#
S1 P1 P1 P2 P1
S1 P2   P3 P2
S1 P3   P3
S1 P4  
S2 P1 A/B A/В1 A/B2
S2 P3 S1 S1 S1
S3 P2 S2 S3  
S3 P3      

Замечание: Операция деления полезна тогда, когда запрос содержит слово «все».

Кроме рассмотренных выше операций в состав алгебры включаются:

· операция присваивания, позволяющая сохранить в БД результаты вычисления алгебраических выражений (A:= B),

· операция переименования атрибутов, дающая возможность корректно сформировать заголовок (схему) результирующего отношения.





Дата публикования: 2015-09-17; Прочитано: 391 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...