Манипулирование реляционными данными

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

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

Первая группа - традиционные теоретико-множественные операции.

В каждой из этих операций используется два операнда (отношения).

Для всех операций, кроме декартова произведения, эти два операнда должны быть совместимы по объединению, т.е. они должны быть одной степени, и их i-e атрибуты ( Манипулирование реляционными данными - student2.ru ) должны быть связаны с одним и тем же доменом.

Операция объединение. Объединением двух отношений A и B называется множество всех кортежей t, принадлежащих либо A, либо B, либо им обоим. Символически эта операция показана на рис. 4.9а. Математически эта операция записывается так:

Манипулирование реляционными данными - student2.ru

Рис.4.9 Диаграммы традиционных теоретико-множественных операций

Манипулирование реляционными данными - student2.ru ;

где Манипулирование реляционными данными - student2.ru -символ объединения, Манипулирование реляционными данными - student2.ru - знак принадлежности к определенному отношению (множеству).

Операция пересечения. Пересечением двух отношений A и B называется множество всех кортежей t, каждый из которых принадлежит как A, так и B (рис. 4.9б):

Манипулирование реляционными данными - student2.ru ,

где Манипулирование реляционными данными - student2.ru - символ пересечения.

Операция разность. Разностью между двумя отношениями A и B называется множество всех кортежей t, каждый из которых принадлежит A и не принадлежит B (рис. 4.9в):

Манипулирование реляционными данными - student2.ru ,

где \ - символ разности,

Манипулирование реляционными данными - student2.ru - символ отсутствия принадлежности отношению (множеству).

Операция декартово произведение. Декартовым произведением двух отношений A и B называется множество всех кортежей t, таких, что t является конкатенацией некоторого кортежа а, принадлежащего A, и какого-либо кортежа b, принадлежащего B. (конкатенация - это соединение в цепочки). Для рисунка 4.9г декартово произведение:

Манипулирование реляционными данными - student2.ru .

Вторая группа - специальные реляционные операции. Диаграммы этих операций приведены на рис. 4.10.

Операция селекция. Пусть theta представляет собой любой достижимый оператор сравнения скаляров, например, Манипулирование реляционными данными - student2.ru Манипулирование реляционными данными - student2.ru и т.д. Theta - селекцией отношения А по атрибутам x и y называется множество всех кортежей t из А, таких, что истинен предикат „t.x theta t.y.“ Атрибуты x и y должны быть определены на одном и том же домене, и для этого домена оператор theta должен иметь смысл. Вместо атрибута y может быть задана константа (например, выбрать из платежной ведомости записи о своих сотрудниках имеющих зарплату 500 руб.). Таким образом оператор theta - селекции позволит получать „горизонтальные“ подмножества заданного отношения, т.е. подмножество таких кортежей заданного отношения, для которых выполняются поставленное условие (рис. 4.10а).

Операция проекция. Операция проекция позволяет получить „вертикальное“ подмножество заданного отношения, т.е. такое подмножество,

Манипулирование реляционными данными - student2.ru

Рис.4.10 Диаграммы специальных реляционных операций

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

Операция соединение. Пусть theta имеет тот же смысл, что и в операции селекции. Тогда theta - соединением отношения А по атрибуту x с отношением В по атрибуту y называется множество всех кортежей t, таких, что t является конкатенацией какого-либо кортежа а, принадлежащего А, и какого-либо кортежа b, принадлежащего В, и предикат „а.x theta b.y.“ принимает значение „истина“. При этом атрибуты А.x и В.y должны быть определены на одном и том же домене, а оператор theta должен иметь смысл для этого домена. Если оператор theta - равенство, то соединение называется экви-соединением.. Из этого определения следует, что результат экви-соединения должен включать два идентичных атрибута. Если один из этих атрибутов исключается, что можно осуществить с помощью проекции, результат называется естественным соединением. Под неуточненным термином „соединение“ понимают естественное соединение. Операция „соединение“ похожа на декартово произведение. Отличие состоит в том, что декартово произведение предполагает сцепление каждого кортежа из отношения А с каждым кортежем из В, а в операции соединения кортеж из отношения А сцепляется только с теми кортежами из В, для которых выполнено условие „a.x = b.y.“ Диаграмма операции приведена на рис. 4.10в.

Операция деление. В простейшей форме операция деления делит отношение степени два (делимое) на отношение степени один (делитель) и создает (продуцирует) результирующее отношение степени один (частное). Пусть делимое А имеет атрибуты x и y, а делитель В атрибут y(см. рис.4.10г). Атрибуты А.y и B.y должны быть определены на одном домене. Результатом деления А на В является отношение С с единственным атрибутом x, таким, что каждое значение x этого атрибута C.x появляется как значение А.x, а пара значений (x,y) входит в А для всех значений y, входящих в В. Другими словами, кортеж включается в результирующее отношение С только в том случае, если его декартово произведение с отношением В содержит отношение А.

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

Назначение реляционной операции присваивания состоит в том, чтобы сохранить значение какого-либо алгебраического выражения, например, проекции в виде заданного отношения (таблицы).

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

а) множество объектов реляционной модели БД однородно - структура БД определяется только в терминах отношений;

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

Наши рекомендации