Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на вопросы экзамена / вопросы к экзамену 2017 — копия.docx
Скачиваний:
56
Добавлен:
09.12.2018
Размер:
498.33 Кб
Скачать
  1. Реляционная алгебра

Ответ:

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

Совместность структур отношений – совместимость имен атрибутов и типов соответствующих доменов.

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

  • Объединением 2х совместных отношений R1 и R2 одинокой размерности является отношение R, содержащее все элементы исходных отношений (с исключением повторения).

Вид: R1 UNION R2

  • Разность (вычитание) совместных отношений R1 и R2 одинокой размерности есть отношение, тело которого состоит из множества кортежей, принадлежащих отношению R1, но не принадлежащих отношению R2.

Вид: R1 MINUS R2

  • Пересечение 2х совместных отношений R1 и R2 одинокой размерности порождает отношение R с телом, включающим в себя кортежи, одновременно принадлежащие обоим исходным отношениям.

Вид: R1 INTERSECT R2

  • Произведение отношение R1 степени к1 и отношения R2 степени к2, которые не имеют одинаковых имен атрибутов, есть такое отношение R степени (к1+к2), заголовок которого представляет сцепление заголовков отношений R1 и R2, а тело имеет кортежи такие, что первые к1 элементов кортежей принадлежит множеству R1, а последние к2 элементов – множеству R2.

Вид: R1 TTIMES R2

  • Выборка отношения R по формуле f представляет собой новое отношение с такими же заголовками и телом, состоящим из таких кортежей отношения R, которые удовлетворяют истинности логического выражения, заданного формулой f.

Вид: R1 WHEREE f

  • Проекция отношения А на атрибуты X, Y, …, Z (A [X, Y, …, Z]), где множество { X, Y, …, Z } является подмножеством полного списка атрибутов заголовка отношения А, представляет собой отношение с заголовками X, Y, …, Z и телом, содержащим кортежи отношения А, за исключением повторяющихся кортежей.

Вид: X, Y, …, Z (A [X, Y, …, Z])

  • Деления отношения R1 с атрибутами A и В на отношение R2 с атрибутом В, где А и В простые или составные атрибуты, причем В – общий атрибут, определенный на одном и том же домене, является отношение R с именами кортежей (r, s), причем множество значений s включает множество значений атрибута В отношения R2.

Вид: R1 DIVIDEBY R2

  • Соединение отношений R1 и R2 по условию, заданному формулой f, представляет собой отношение R, которое можно получить путем произведения отношений R1 и R2 с последующим применением к результату операции выборки по формуле f.

Вид: (R1 TIMES R2) WHERE f

Существуют частные случаи соединения:

  1. Эквисоединение – характеризуется, что формула задает равенство операндов.

Вид: A = B (A и B – атрибуты двух соединяющихся таблиц)

  1. Естественное соединение (операция JOIN) применяется к двум отношениям, имеющим общий атрибут (простой или составной). Результатом естественного соединения является отношение R, которое является проекцией эквисоединения отношений R1 и R2 по общему атрибуту на объединенную совокупность атрибутов обоих отношений.

Вид: R1 JOIN R2

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

  • Переименования позволят изменить имя атрибута отношения.

Вид: RENAME <отношение> <старое имя атрибута> AS < новое имя атрибута >

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

Вид: EXTEND <отношение> ADD <выражение> AS <новый атрибут>

  • Подведение итогов выполнят «вертикальное» или групповые вычисления.

Вид: SUMMARIZE <отношение> BY (<список атрибутов>) ADD <выражение>

AS <новый атрибут>

  • Множественное подведение итогов выполняет одновременно несколько «вертикальных» вычислений и записывает результаты в отдельные новые атрибуты.

Вид: SUMMARIZE <отношение> BY (<список атрибутов>) ADD <выражение>

AS <новый атрибут> [<выражение> AS <новый атрибут> …]

  • Присвоение заменяет все значения <выражения-цели> значениями <выражения-источника>.

Вид: <выражение-цель> := <выражение-источник>

  • Вставка вычисляет <выражение-источник> и вставляет полученные картежи в отношение, заданное <выражение-цель>.

Вид: INSERT <выражение-источник> INTO <выражение-цель>

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

Вид: UPDATE <выражение-цель> <список элементов>

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

Вид: <выражение1> ʘ < выражение2>