Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Операции над отношениями. Общая интерпретация реляционных операций



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

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

Операции выборки и проекции являютсяунарными, поскольку они работают с одним отношением. Другие операции работают с парами отношений, и поэтомуих называютбинарными операциями. В приведенных ниже определениях R и S – это два отношения, определенные над атрибутами A = (a 1, а 2, …, аN) и B = (b 1, b 2,..., bM) соответственно.

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

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

Операция проекции определяет новое отношение, которое будет содержать только определенные атрибуты

Операция декартового произведения определяет новое отношение, ко­торое является результатом конкатенации (т.е. сцепления) каждого кортежа из отношения R с каждым кортежем из отношения S.

Операторы выборки и проекции извлекают информацию только из одного отношения. Оператор декартового произведения умножает два отношения, что в результате приводит к созданию другого отношения, состоящего из всех возможных пар кортежей обоих отношений. Следовательно, если отношение имеет I кортежей и N атрибутов, а другое – J кортежей и М атрибутов, то отношение с их декартовым произведением будет содержать (I x J) кортежей и (N x M) атрибутов. Исходные отношения могут содержать атрибуты с одинаковыми именами.

Объединение отношений R и S с кортежами I и J соответственно мож­но получить в результате их конкатенации с образованием одного от­ношения с максимальным количеством кортежей (I + J), если корте­жи-дубликаты исключены. При этом отношения R и S должны быть совместимы по объединению.

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

Разность двух отношений R и S состоит из кортежей, которые имеются в отношении R, но отсутствуют в отношении S. Причем отношения R и S должны быть совместимы по объединению.

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

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

- Тета-соединение (-join). Операция тета-соединения определяет отношение, которое содержит кортежи из декартового произведения отношений R и S, удовлетворяю­щие предикату F. Предикат F имеет вид R.аi S.bi, где вместо может быть указан один из операторов сравнения (<, <=, >, >=, = или ~). Как и в случае с декартовым произвед, степенью тета-соединения называется сумма степеней операндов-отношений R и S.

- Соединение по эквивалентности (equi-join). Это соединение является частным ви­дом тета-соединения. Если предикат F содержит только оператор равенства (=), то соединение называется соединением по эквива­лентности (equi-join).

- Естественное соединение (natural join). Естественным соединением называется соединение по эквивалентности двух отношений R и S, выполненное по всем общим атрибутам х, из ре­зультатов которого исключается по одному экземпляру каждого общего атрибута.

- Степенью естественного соединения наз-ся сумма степеней операндов-отношений R и S минус количество атрибутов х.

- Внешнее соединение (outer join). Зачастую при соединении двух отношений кортеж из одного отношения не нахо­дит соответствующего кортежа в другом отношении. Иначе говоря, в столбцах соеди­нения оказываются несовпадающие значения. Может потребоваться, чтобы строка из одного отношения была представлена в результате соединения даже если в другом отношении нет совпадающего значения. Эта цель может быть достигнута с помощью внешнего соединения.

- Полусоединение (semi-join). Операция полусоединения определяет отношение, которое содержит те кортежи отношения R, которые входят в соединение отношений R и S.

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

Оператор деления. Оператор деления может быть полезен в случае запросов особого типа, которые довольно часто встречаются в приложениях баз данных. Предположим, что отноше­ние R определено на множестве атрибутов А, а отношение S – на множестве атрибу­тов В, причем В является подмножеством А. Пусть С = АВ, т.е. С является множеством атрибутов отношения R, которые не являются атрибутами отношения S. Результатом оператора деления является набор кортежей отношения R, определенных на множестве атрибутов С, которые соответствуют комбинации всех кортежей отношения S.

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

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

Основные понятия реляционных баз данных.

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

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

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

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

Потенциальный ключ К для данного отношения R обладает двумя свойствами:

- уникальность. В каждом кортеже отнош R значение ключа К един образом идентифицируют этот кортеж;

- неприводимость. Никакое допустимое подмножество ключа К не обладает свойством уникальности.

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

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

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

Внешний ключ – это атрибут или множество атрибутов внутри отношения, которое соответствует потенциальному ключу некоторого (может быть, того же самого) отношения.

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





Дата публикования: 2015-10-09; Прочитано: 1774 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.012 с)...