ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 17.03.2024
Просмотров: 112
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Декартово произведение
В рамках реляционной алгебры определена и такая теоретико-множественная операция, как расширенное декартово произведение. Эта операция не накладывает никаких ограничений на схемы исходных отношений, и поэтому она допустима для любых двух отношений.
Под декартовым произведением двух отношений понимается множество упорядоченных пар кортежей. Пусть имеются два отношения r и s, тогда отношение t= r* s-арности к = к1 + k2, где к1 – арность r, a k2 – арность s, называется декартовым произведением r и s, если оно состоит из кортежей, первые к1 компонентов которых образуют кортежи из r, а остальные k2 – из s. Как видим, выполнение данной операции, в отличие от других уже рассмотренных операций, приводит к тому, что степень результирующего отношения не совпадает со степенью ни одного из операндов, а равна сумме степеней исходных отношений.
r * s | | |||||
А | В | С | D | Е | F | |
Р | 1 | а | Q | 2 | с | |
Р | 1 | а | Q | 3 | а | |
Р | 2 | b | Q | 2 | с | |
Р | 2 | b | Q | 3 | а | |
Q | 2 | с | Q | 2 | с | |
Q | 2 | с | Q | 3 | а |
Относительно влияния перестановки операндов на результат операции декартово произведение можно считать симметричной операцией. Данная операция используется в тех ситуациях, когда необходимо получить отношение, содержащее все возможные комбинации между элементами исходных отношений.
Унарные операции Проекция и Выбор также являются основными, но это уже не булевы операции. Они были введены специально в состав операций реляционной модели данных.
Проекция (Project)
Оператор проекции (вертикальное подмножество) является унарным оператором на отношениях. Он осуществляет выбор на множестве столбцов.
Пусть в отношении г выделено некоторое множество атрибутов Y, тогда отношение t = Py(r) называется проекцией отношения r, если оно является вертикальным подмножеством столбцов отношения rг из множества R.
РAC (r)
А | С |
Р | а |
Р | b |
Q | с |
РEF (r)
Е | F |
3 | а |
2 | с |
Иными словами, проекция R на Y есть также отношение, полученное вычеркиванием столбцов, соответствующих атрибутам R - Y, и исключением, по определению отношения, из оставшихся столбцов повторяющихся строк.
Операция проектирования чаще всего употребляется как промежуточная операция при выполнении операции выбора, которая рассматривается далее.
Выбор (Select)
Выбор или селекция – это одна из важнейших операций обработки информации. Она также, как и предыдущая, относится к унарным операциям над отношением. Результатом ее применения к отношению r является другое отношение, которое представляет собой подмножество кортежей отношения r, с определенным значением в выделенном атрибуте.
Итак, результатом селекции отношения r по некоторому
будем считать отношение , которое включает в себя кортежи отношения r, удовлетворяющие указанному условию .
Условие – это формула, по которой определяется выборка. Операндами в такой формуле являются атрибуты отношения, а знаками операций – логические операции и операции отношений.
? С?b(r) | ||
А | В | С |
Р | 1 | а |
Q | 2 | с |
? А?q?В> 1(r) | ||
А | В | С |
Р | 2 | b |
Дополнительные операции реляционной алгебры.
Состав операций реляционной алгебры является избыточным, поскольку некоторые из них могут быть получены через остальные операции с использованием определенных соотношений. Но Кодд сознательно ввел эту избыточность в свою алгебру, учитывая то, что эти соотношения не так уж просты и их использование, как правило, довольно-таки усложняет реляционные выражения.
Итак, к дополнительным операциям относятся те операции реляционной алгебры, которые можно выражать через основные операции.
Пересечение
Это четвертая булева бинарная операция над отношениями. Пусть имеются два отношения r и s, тогда отношение t = называется пересечением r и s, если каждый кортеж, принадлежащий t, одновременно принадлежит r и s. Операция применяется к отношениям одной арности. Справедлива следующая формула: t= . Применительно к отношениям r и s получим:
t = | ||
А | В | С |
Q | 2 | с |
Естественное соединение
Естественное соединениесоздает новое отношение из двух существующих. Новое отношение формируется с помощью сцепления кортежей первого отношения с кортежами второго отношения. При выполнении этой операции указывается, какой атрибут первого отношения, и какой атрибут второго отношения используются для сцепления кортежей.
Пусть даны отношения r(R) и s(S). Необходимо осуществить соединение этих отношений, используя атрибут А отношения r и атрибут D отношения s.
При таких условиях оператор выполняется следующим образом: просматриваются по порядку все кортежи отношения r, и для каждого кортежа анализируется значение атрибута А. Из отношения s выбираются кортежи, у которых значение атрибута D совпадает со значением А. Такие кортежи сцепляются.
При этом в результирующее отношение равные атрибуты включаются только один раз. Записывается этот оператор так:
r ?? s А=D | | |||
А | В | С | Е | F |
Q | 2 | с | 3 | а |
Q | 2 | с | 2 | с |
Соединение (Jоin)
Пусть имеются два отношения r (X, Y) и s (Y, Z) и некоторое условие , где X, Y, Z– непересекающиеся множества атрибутов и Y – множество атрибутов, общих для r и s, тогда отношение.
называется -соединением r и s, если каждый кортеж, принадлежащий t, состоит из кортежей rи s, при выполненном условии . Справедлива следующая формула:
,
то есть -соединение представляет собой декартово произведение r и s, над которым выполнена селекция по условию .
r ?? s (B | | | |||
А | В | С | D | Е | F |
Р | 1 | а | Q | 3 | а |
Р | 1 | а | Q | 2 | с |
Q | 2 | с | Q | 3 | а |