Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БДЭС Экзамен ответы.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
160.07 Кб
Скачать

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

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

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

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

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

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

Реляционное исчисление – декларативный теоретический язык запросов, реализованный на основе исчисления предикатов первого порядка (высказываний в виде функции), которым должны удовлетворять искомые кортежи или домены отношений.

Запрос к БД, выполненный с использованием реляционного исчисления, содержит описание желаемого результата, для которого может существовать несколько способов его вычисления, представленных выражениями реляционной алгебры или непосредственно командами СУБД. Преимуществом реляционного исчисления перед реляционной алгеброй можно считать то, что пользователю не требуется самому строить алгоритм выполнения запроса, Программа СУБД (при достаточной ее интеллектуальности) сама строит эффективный алгоритм.

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

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

Описательную часть исчисления можно представить в виде: RANGE OF <переменная> IS <список>.

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

В исчислении доменов областью определения переменных являются не отношения, а домены. Применительно к базе данных Рейтинг студентов можно говорить, например, о доменных переменных ИМЯ (значения - допустимые имена) или Номер_зачетной_книжки (значения - допустимые номера зачетных книжек студентов).