Операции над отношениями

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

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

  • • теоретико-множественные:
    • — объединение;
    • — пересечение;
    • — вычитание;
    • — декартово произведение;
  • • реляционные:
  • — проекция;
  • — селекция;
  • — соединение;
  • — деление.

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

Совместимыми по типу называются отношения, которые имеют одну и ту же структуру (идентичные заголовки), а именно:

  • • каждое отношение имеет одно и то же множество имен атрибутов (одну и ту же степень);
  • • одноименные (соответствующие) атрибуты определены на одном и том же домене (должны иметь один и тот же тип и размер).

Объединение

Объединением двух совместимых по типу отношений R1 и ^называется отношение R с тем же заголовком, что и у отношений и Я2, и телом, состоящим из кортежей, принадлежащих или R1} или R2, или обоим отношениям (рис. 5).

Пусть имеются два подмножества: таблица, представляющая список сотрудников, работающих в отделе 102 (Кх), и список сотрудни- ков-инженеров (К2). Оба подмножества должны быть совместимы по типу. Тогда результатом объединения этих двух списков будет список сотрудников, которые или работают в отделе 102, или являются инженерами по должности, или удовлетворяют обоим условиям одновременно.

Операция объединения

Рис. 5. Операция объединения

Сотрудники-инженеры (Rx)

номер

сотрудника

фамилия

должность

номер отдела

1001

Иванов

инженер

101

1002

Петров

инженер

102

1004

Волков

инженер

101

Сотрудники 102 отдела (Д2)

номер

сотрудника

фамилия

должность

номер отдела

1002

Петров

инженер

102

1005

Белов

техник

102

1006

Кравцов

оператор

102

Сотрудники (R)

номер

сотрудника

фамилия

должность

номер отдела

1001

Иванов

инженер

101

1002

Петров

инженер

102

1004

Волков

инженер

101

1005

Белов

техник

102

1006

Кравцов

оператор

102

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ   След >