Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Управл_данными / 19-алгебра

.pdf
Скачиваний:
20
Добавлен:
03.06.2015
Размер:
945.86 Кб
Скачать

Проекция

Оператор проекции (вертикальное подмножество) является унарным оператором на отношениях. Он осуществляет выбор на множестве столбцов.

Пусть в отношении r выделено некоторое множество атрибутов Y, тогда отношение t называется проекцией отношения r, если оно является вертикальным подмножеством столбцов отношения r.

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

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

11

Выбор (Select)

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

Результатом селекции отношения r по некоторому Ф будем считать отношение t , которое включает в себя кортежи отношения r, удовлетворяющие указанному условию Ф.

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

12

Дополнительные операции реляционной алгебры

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

Но Кодд сознательно ввел эту избыточность в свою алгебру, учитывая то, что эти соотношения не так уж просты и их использование, как правило, довольно-таки усложняет реляционные выражения.

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

13

Пересечение

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

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

Справедлива следующая формула:

14

Естественное соединение

Естественное соединение создает новое отношение из двух существующих.

Новое отношение формируется с помощью сцепления кортежей первого отношения с кортежами второго отношения.

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

Пусть даны отношения r(R) и s(S). Необходимо осуществить соединение этих отношений, используя атрибут A отношения r и атрибут D отношения S.

При таких условиях оператор выполняется следующим образом: создается декартово произведение отношений r и s.

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

При этом в результирующее отношение равные атрибуты включаются только один раз.

Обратите внимание, что колонки D нет.

15

Соединение (Join)

Пусть имеются два отношения r и s и некоторое условие Θ, тогда отношение t

называется Θ-соединением r и s, если каждый кортеж, принадлежащий t, состоит из кортежей r и s, при выполненном условии Θ.

Cоединение представляет собой декартово произведение r и s, над которым выполнена селекция по условию Θ.

16

Деление

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

Это операция обратная декартову произведению.

Пусть имеются отношения r арности k1 и s арности k2, тогда отношение арности k1—k2 называется делением r на s, если любой кортеж из t вместе с любым кортежем из s образуют кортеж, имеющийся в r.

Причем всегда k1 > k2 .

17

Реляционное исчисление

Хотя реляционная алгебра и является основой нескольких языков запросов, большинство работающих

языков запросов основано на реляционном исчислении.

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

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

Реляционные исчисления — непроцедурные системы. Исчисления выражают только то, каким должен быть результат вычисления, но не то, каким образом проводить вычисления.

Определения алгоритма возлагается на процессор языка запросов данной СУБД.

18

Название реляционного исчисления происходит от исчисления предикатов в математической логике.

Различают реляционное исчисление кортежей и

реляционное исчисление доменов.

Доменом называется множество допустимых значений для данного атрибута.

Данные считаются сравнимыми, если они принадлежат одному домену.

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

19

В то время как реляционная алгебра использует в

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

Реляционное исчисление определяет результат запроса в виде реляционного множества.

Реляционное исчисление кортежей является, по сути, формализацией системы обозначений, предназначенной для образования множеств.

В реляционном исчислении используются булевы операции (И, ИЛИ, НЕ) над условиями, которые могут быть истинными или ложными.

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

20

Соседние файлы в папке Управл_данными