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

Операция соединения сливает два отношения в одно. Обозначается: Без условия.
Иногда появляется условие: С условием. Схема результирующего отношения = сумма схем двух отношений.
Соединение бывает:
  1. Внутреннее (inner join). В результирующем отношении соединяются только те кортежи исходных отношений R1 и R2, у которых значения указанных полей соотносятся друг с другом определённым образом.
    1. Эквисоединение (equijoin). Соединение по равенству – разновидность внутреннего соединения, когда из исходных отношений берутся и собираются в результирующем отношении кортежи, имеющие одинаковые значения. Сравниваемые поля должны быть одного типа.
      Пример
    2. Тета-соединение (Θ - join). Основано на любом операторе сравнения, кроме “=”, а именно: <, >, ≤, ≥, ≠.
      Пример
    3. Естественное соединение (natural join). То же самое, что equijoin, но выполняется оно на основе общих полей, существующих у исходных отношений (чаще всего через внешний ключ, но не всегда).
      – в естественном соединении условие не указывается.
      Студент  комната в общежитии = студент живёт в комнате общежития.
      !одинаковые (дублированные) поля удаляются.

      № зачётной книжки Фамилия И.О. № комнаты Вместимость Площадь, м²
      1393 Иванов А.В. 321 2 12
      1864 Васильева Е.Ф. 521 2 12
      2341 Савицкий В.Б. 321 2 12

  2. Внешнее соединение (outer join). Работает аналогично внутреннему и делается на основании общих полей. Делится на:
    1. левое (left outer join, левая часть не пустая);
    2. правое (right outer join, правая часть не пустая);
    3. полное (full outer join).
    Внешнее соединение производится на основании общего поля.
Полное соединение
№ зачётной книжки Фамилия И.О. № комнаты Вместимость Площадь, м²
1393 Иванов А.В. 321 2 12
1862 Акопов Э.В. - - -
1864 Васильева Е.Ф. 521 2 12
2341 Савицкий В.Б. 321 2 12
- - 322 3 18

Полусоединение и полувычитание

Полусоединение (semijoin) – соединение R1 и R2, спроецированное на поля отношения R1. Из R1 вычёркиваются те кортежи, для которых не найдено соответствия в R2.
Полувычитание (semiminus) - вычитание из исходного отношения R1 полусоединения отношений R1 и R2. Т.е. останутся те кортежи, которые не вошли в полусоединение (Пр.: «студент, не имеющий комнаты в общежитии»).
Расширение и обобщение

Расширение (extend) – унарная операция, результирующее (расширенное) отношение которой аналогично исходному, но с добавлением поля, получающегося в результате некоторых вычислений. Вычисления осуществляются на основании других полей данного отношения. «Часов в неделю» = трудоёмкость / 17 недель

Шифр Название Трудоёмкость Часов в неделю
ОПД.Ф.10 БД 136 8
СД.Ф.10 ПАСОИУ 170 10

Обобщение, агрегирование (summarize). Результирующее отношение строится следующим образом: исходное отношение проецируется на один из атрибутов, удаляются дублированные значения. Затем к тому, что получилось добавляют ещё одно поле, значения которого вычисляются следующим образом: для каждого значения левого поля из исходного отношения выбираются кортежи с тем же значением; на основании выбранных кортежей вычисляется значение, которое записывается в правое поле.

Студент имеет оценку по дисциплине
№ зачётной книжки Фамилия И.О. Название дисциплины Оценка
1393 Иванов А.В. БД 3
1864 Васильева Е.Ф. ПАСОИУ 5
1864 Васильева Е.Ф. БД 5
2341 Савицкий В.Б. БД 5
1393 Иванов А.В. ПАСОИУ 3
2341 Савицкий В.Б. ПАСОИУ 4

Рейтинг студента
№ зачётной книжки Сумма баллов
1393 6
1864 10
2341 9

Переименование (rename). Смена названий поля для применения операции естественного соединения.


Ctrl  Предыдущая  •  Следующая  Ctrl
Сайт управляется системой uCoz