<<
>>

МАНИПУЛИРОВАНИЕ РЕЛЯЦИОННЫМИ ДАННЫМИ

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

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

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

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

Рис. 5.7. Диаграммы традиционных теоретико-множественных операций: а — объединение; б - пересечение; в — разность; г — декартово произведение

Рис. 5.7. Диаграммы традиционных теоретико-множественных операций: а — объединение; б - пересечение; в — разность; г — декартово произведение

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

должны быть одной степени и их i-e атрибуты (i = l,n) должны быть связаны с одним и тем же доменом.

Операция “объединение”. Объединением двух отношений А и В называется множество всех кортежей t, принадлежащих либо отношению А, либо В, либо им обоим. Символически эта операция показана на рис. 5.7, а. Математически операция объединения записывается так:

A\JB= {t:te А или tє В},

где U — символ объединения;

є — знак принадлежности определенному отношению (множеству).

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

AC\B={t:t еА и tє. В], где П — символ пересечения.

Операция "разность". Разностью между двумя отношениями А и В называется множество всех кортежей ?, каждый из которых принадлежит А и не принадлежит В (рис. 5.7, в):

A\B = {t:teA,teB},

где \ — символ разности;

й — символ отсутствия принадлежности отношению (множеству).

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

Ах В={ах, ау, Ъх,Ъу,сх, су,dx,dy}. Вторая группа — специальные реляционные операции (рис. 5.8).

Операция "селекция". Пусть theta представляет собой любой достижимый оператор сравнения скаляров, например =, А gt;, gt;, lt; и т.д. Theta-селекцией отношения А по атрибутам х и у называется множество всех кортежей t из А, таких, что истин предикат t.x theta t.y. Атрибуты х и ]должны быть определены на одном и том же домене, и для этого домена оператор theta должен иметь смысл. Вместо атрибута у может быть задана константа (например, выбрать из платежной ведомости записи о сотрудниках, имеющих зарплату 500 руб.). Таким образом, оператор theta-ce- лекции позволит получать "горизонтальные" подмножества заданного отношения, т.е. подмножества таких кортежей заданного отношения, для которых выполняется поставленное условие (см. рис. 5.8, а).

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

Рис. 5.8. Диаграммы специальных реляционных операций: а — селекция; б — проекция; в — соединение; г — деление

Рис.

5.8. Диаграммы специальных реляционных операций: а — селекция; б — проекция; в — соединение; г — деление

Операция "соединение"(рис. 5.8, в). Пусть theta имеет тот же смысл, что и в операции селекции. Тогда /Aeta-соединением отношения А по атрибуту х с отношением В по атрибуту у называется множество всех кортежей /, таких, что t является конкатенацией какого-либо кортежа а, принадлежащего А, и какого-либо кортежа в, принадлежащего В, и предикат а.х theta b.y. принимает значение "истина". При этом атрибуты А.х и В.у должны быть определены на одном и том же домене, а оператор theta должен иметь смысл для этого домена. Если оператор — theta-равенство, то соединение называется эквисоединением (лат. aequus — равный). Из этого определения следует, что результат эквисоединения должен включать два идентичных атрибута. Если один из этих атрибутов исключается, что соединение можно осуществить с помощью проекции, результат называется естественным соединением. Под неуточненным термином "соединение" понимают естественное соединение.

Операция "соединение" похожа на декартово произведение. Отличие состоит в том, что декартово произведение предполагает сцепление каждого кортежа из отношения А с каждым кортежем из В, а в операции "соединение" кортеж из отношения А сцепляется только с теми кортежами из В, для которых выполнено условие а.х = Ь.у.

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

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

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

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

  • множество объектов реляционной модели БД однородно — структура БД определяется только в терминах отношений;
  • основная единица обработки в операциях реляционной модели не запись (как в сетевых и иерархических моделях), а множество записей — отношение.

<< | >>
Источник: Т.П. Барановская, В.И. Лойко, М.И. Семенов, А.И. Трубилин. Информационные системы и технологии в экономике: Учебник. - 2-е изд., доп. и перераб. /; Под ред. В.И. Лойко. - М.: Финансы и статистика,2005. - 416 с: ил. 2005

Еще по теме МАНИПУЛИРОВАНИЕ РЕЛЯЦИОННЫМИ ДАННЫМИ: