Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы данных (лекция).doc
Скачиваний:
2
Добавлен:
30.07.2019
Размер:
135.17 Кб
Скачать

Реляционная алгебра

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

  1. реляционные операции, аналогичные традиционным операциям над множествами.

  2. Собственно-реляционные операции.

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

  1. Реляционные операции, аналогичные традиционным операциям над множествами.

  • Операция объединения. Результатом объединения отношений R1, R2 является отношение R3, содержащее все картежи, которые принадлежат хотя бы одному из R1 и R2. В отличие от объединения множеств результатом является не множество картежей а именно отношений. Поэтому картежи должны быть однородны, т.е. объединяемые отношения должны быть совместимы по типу: каждое из них имеет 1 и тоже множество атрибутов, соответствующие атрибуты определены на одном и том же домене. например, пусть в БД «Факультет» имеются отдельные отношения лаборант и преподаватель. В результате их объединения получится отношение содержащее все данные на сотрудников факультета.

  • Операция пересечения. Результатом пересечений отношений R1 и R2 является отношение R3, содержащее картежи, принадлежащие и R1 и R2. Для этой операции также должно выполняться условие совместимости по типу. Например пусть в БД «факультет» есть отношение Лаборант и Студент, с помощью операции пересечения можно найти тех студентов, которые работают лаборантами.

  • Операция вычитания. Результатом вычитания отношения R2 из R1 является отношение R3, все картежи которого принадлежат R1 и не принадлежат R2. Условие совместимости по типу также должно выполняться. Например, из тех же отношений Лаборант и Студент с помощью операции вычитания , можно найти лаборантов, которые не являются студентами факультета.

  • Операция произведения(декартово) . результатом произведения отношения R1,R2 является отношение R3, содержащее все возможные картежи, которые являются сочетанием 2х картежей принадлежащих соответственно отношениям R1 и R2, тогда результатом R3 будет является новое отношение содержащее картежи(перечисляем все возможные варианты). Результатом операции является отношение, а не множество пар картежей, как это бывает при произведении над множествами, первоначальные картежи сцепляются, т.е образуют новый картеж. Например, если выполнить произведение отношений Студент и Дисциплина БД «Факультет», то получим отношение, в котором будет содержаться информация о том, что каждый студент изучает каждую дисциплину.

2. Собственно-реляционные операции.

1) Выборка(ограничение). Результатом выборки R1 является отношение R2, содержащее все картежи R1, удовлетворяющее определенным условиям. Можно сказать, что это «горизонтальное» подмножество начального отношения. Например, из отношения студент с помощью выборки можно вывести данные о тех студентах, кто учится в группе БИ-21.

2) проекция. Результатом проекции, примененной к отношению R1 является отношение R2, содержащие все картежи R1 после извлечение из него некоторых атрибутов. Такие картежи называются подкартежами. Можно сказать, что это «вертикальное» подмножество начального отношения. Существуют частные случаи:

  • Тождественная проекция. В этом случае указывается список всех атрибутов исходного отношения.

  • Нулевая проекция. В этом случае указывается пустой список атрибутов.

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

3) соединения. Результатом соединения отношения R1,R2 является отношение R3, картежи которого – это сцепление 2х картежей (принадлежащих соответственно R1,R2) имеющих общее значение для одного или нескольких общих атрибутов R1,R2, причем эти общие значения в результирующем отношении появляются только 1 раз. Эта операция имеет несколько разновидностей: естественное соединение. Тетта соединения.

Этто соединение …

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

Привер тетта соединения: соединение отношений студент и группа по атрибуту группа, так чтобы получить информацию только 5го курса

Операция деления: определение для частного случая: для отношения R1 (бинарного) и R2(унарного) результатом деления является тоношение R3, содержащее все значения одного атрибута R1, которые соответствуют в другом атрибуте всем значениям R2. Для отньшений с большем количеством атрибутов опеределние будет аналогичным. Например, в БД факультет есть отношения занятие (с атрибутами группа, дисциплина, преподаватель). Чтобы получить список групп, которые изучают заданный набор дисциплин можно применить деление этого отношения на специально созданные унарные отношения, содержащие заданный набор дисциплин.

Допольнительные операции реляционной модели данных

К 8 основным операторам реляциой алгебры можно добавить некоторые другие в качестве доп. Операции. Их удобно использовать для практических целей хотя можно реализовать и через основные. Наиболее удачно основной набор дополняют 2 операции: Расширение и опдведение итогов. С помощью операции расширения из исходного отношения создается новое, содержащее дополнительный атрибут, значения готорого получены по средствам некоторых скаяре=ных вычислений. Например, пусть имеется отношения преподаватель(преподаватель, код преподавателя)