![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Реляционная алгебра – это теоретический язык операций, которые на основе одного или нескольких отношений позволяют создавать другое отношение без изменения самих исходных отношений.
Исходно Кодд предложил восемь операторов, но впоследствии к ним были добавлены и некоторые другие. Пять основных операций реляционной алгебры – выборка, проекция, декартово произведение, объединение и разность выполняют большинство операций извлечения данных. На основании пяти основных операций можно также вывести дополнительные операции, такие, как операции соединения, пересечения и деления.
Операции выборки и проекции являютсяунарными, поскольку они работают с одним отношением. Другие операции работают с парами отношений, и поэтомуих называютбинарными операциями. В приведенных ниже определениях 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; Прочитано: 1939 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!