Алгебра Кодда

Алгебра Кодда

Содержание

Реляционные операторы

Совместимость отношений

Отношения, совместимые по объединению

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

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

Некоторые отношения не являются совместимыми по объединению, но становятся таковыми после некоторого переименования атрибутов.

Отношения, совместимые по взятию расширенного декартова произведения

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

Оператор переименования атрибутов

В результате применения оператора переименования атрибутов получаем новое отношение, с измененными именами атрибутов.
Синтаксис:
R RENAME Atr1, Atr2, … AS NewAtr1, NewAtr2,
где
R — отношение
Atr1, Atr2, … — исходные имена атрибутов
NewAtr1, NewAtr2, … — новые имена атрибутов

Оператор присваивания

Оператор присваивания (:=) позволяет сохранить результат вычисления реляционного выражения в существующем отношении.

Теоретико-множественные операторы

Объединение

Отношение с тем же заголовком, что и у совместимых по типу отношений A и B, и телом, состоящим из кортежей, принадлежащих или A, или B, или обоим отношениям.
Синтаксис:
A UNION B

Пересечение

Отношение с тем же заголовком, что и у совместимых по типу отношений A и B, и телом, состоящим из кортежей, принадлежащих одновременно обоим отношениям A и B.
Синтаксис:
A INTERSECT B

Вычитание

Отношение с тем же заголовком, что и у совместимых по типу отношений A и B, и телом, состоящим из кортежей, принадлежащих отношению A и не принадлежащих отношению B.
Синтаксис:
A MINUS B

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

Отношение (A1, A2, …, Am, B1, B2, …, Bm), заголовок которого является сцеплением заголовков отношений A(A1, A2, …, Am) и B(B1, B2, …, Bm), а тело состоит из кортежей, являющихся сцеплением кортежей отношений A и B:

(a1, a2, …, am, b1, b2, …, bm)

таких, что (a1, a2, …, am)A, (b1, b2, …, bm)B.

Синтаксис:

A TIMES B

Специальные реляционные операторы

Выборка (ограничение)

Отношение с тем же заголовком, что и у отношения A, и телом, состоящим из кортежей, значения атрибутов которых при подстановке в условие c дают значение ИСТИНА. c представляет собой логическое выражение, в которое могут входить атрибуты отношения A и/или скалярные выражения.
Синтаксис:
A WHERE c

Проекция

Проекция в реляционной алгебре — унарная операция, которая позволяет получить «вертикальное» подмножество данного отношения, или таблицы, то есть такое подмножество, которое получается выбором специфицированных атрибутов с последующим исключением, если это необходимо, избыточных дубликатов кортежей. Пусть дана таблица T с именами атрибутов A_1,\;A_2,\;\ldots,\;A_n, то есть T(A_1,\;A_2,\;\ldots,\;A_n) и некоторое подмножество множества имен атрибутов \{A_{i_1},\;A_{i_2},\;\ldots,\;A_{i_k}\}. Результатом проекции таблицы по выбранным именам атрибутов называется новая таблица T(A_{i_1},\;A_{i_2},\;\ldots,\;A_{i_k}), полученная из исходной таблицы вычеркиванием атрибутов, не входящих в выбранное множество, с последующим возможным удалением избыточных дубликатов кортежей.

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

Соединение

Операция соединения есть результат последовательного применения операций декартового произведения и выборки. Если в отношениях и имеются атрибуты с одинаковыми наименованиями, то перед выполнением соединения такие атрибуты необходимо переименовать.
Синтаксис:
(A TIMES B) WHERE c

Деление

Отношение с заголовком (X1, X2, …, Xn) и телом, содержащим множество кортежей (x1, x2, …, xn), таких, что для всех кортежей (y1, y2, …, ym) ∈ B в отношении A(X1, X2, …, Xn, Y1, Y2, …, Ym) найдется кортеж (x1, x2, …, xn, y1, y2, …, ym).
Синтаксис:
A DIVIDEBY B

Зависимость реляционных операторов

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

  • Оператор соединения

Оператор соединения определяется через операторы декартового произведения и выборки следующим образом: (A TIMES B) WHERE X=Y где X и Y атрибуты соответственно отношений A и B с первоначально равными именами.

  • Оператор пересечения

Оператор пересечения выражается через вычитание следующим образом: A INTERSECT B = A MINUS (A MINUS B)

  • Оператор деления

Оператор деления выражается через операторы вычитания, декартового произведения и проекции следующим образом: A DIVIDEBY B = A[X] MINUS ((A[X] TIMES B) MINUS A)[X]

Примитивные реляционные операторы

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

  • Оператор декартового произведения

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

  • Оператор проекции

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

  • Оператор выборки

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

  • Операторы объединения и вычитания

Доказательство примитивности операторов объединения и вычитания более сложны и мы их здесь не приводим.



Wikimedia Foundation. 2010.

Смотреть что такое "Алгебра Кодда" в других словарях:

  • Алгебра А — Базисом предложенной Крисом Дейтом и Хью Дарвеном Алгебры A являются операции реляционного отрицания (дополнения), реляционной конъюнкции (или дизъюнкции) и проекции (удаления атрибута). Реляционные аналоги логических операций определяются в… …   Википедия

  • Алгебра (значения) — Алгебра  раздел математики либо математическая структура специального вида (см. Алгебраическая система) Как раздел математики Абстрактная алгебра Алгебра логики  раздел математической логики. Коммутативная алгебра Линейная алгебра… …   Википедия

  • Нормальная форма — У этого термина существуют и другие значения, см. Нормальная форма (значения). Нормальная форма  свойство отношения в реляционной модели данных, характеризующее его с точки зрения избыточности, потенциально приводящей к логически ошибочным… …   Википедия

  • Нормализация баз данных — Нормальная форма требование, предъявляемое к отношениям в теории реляционных баз данных для устранения из базы избыточности, которая потенциально может привести к логически ошибочным результатам выборки или изменения данных. Содержание 1… …   Википедия

  • Нормализация БД — Нормальная форма требование, предъявляемое к отношениям в теории реляционных баз данных для устранения из базы избыточности, которая потенциально может привести к логически ошибочным результатам выборки или изменения данных. Содержание 1… …   Википедия

  • Нормальные формы — Нормальная форма требование, предъявляемое к отношениям в теории реляционных баз данных для устранения из базы избыточности, которая потенциально может привести к логически ошибочным результатам выборки или изменения данных. Содержание 1… …   Википедия

  • База данных — Запрос «БД» перенаправляется сюда; см. также другие значения. База данных  представленная в объективной форме совокупность самостоятельных материалов (статей, расчётов, нормативных актов, судебных решений и иных подобных материалов),… …   Википедия

  • Реляционная модель данных — (РМД)  логическая модель данных, прикладная теория построения баз данных, которая является приложением к задачам обработки данных таких разделов математики как теории множеств и логика первого порядка. На реляционной модели данных строятся… …   Википедия

  • Реляционная СУБД — (РСУБД; иначе Система управления реляционными базами данных, СУРБД)  СУБД, управляющая реляционными базами данных. Понятие реляционный (англ. relation  отношение) связано с разработками известного английского специалиста в области… …   Википедия

  • Реляционные базы данных — Реляционная база данных база данных, основанная на реляционной модели данных. Слово «реляционный» происходит от англ. relation (отношение[1]). Для работы с реляционными БД применяют реляционные СУБД. Использование реляционных баз данных было… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»