Пиши Дома Нужные Работы

Обратная связь

Операции обработки данных реляционной модели

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

Операциями над строками отношений являются включение, удаление, обновление.

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

При операции удаления из таблицы удаляется строка. Для выполнения этой операции требуется задать имя таблицы и задать значение первичного ключа удаляемой строки. Для удаления группы строк надо задать значение вторичного ключа.

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

 

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

Операторы реляционного языка обрабатывают таблицу-отношение как единый объект. При этом результатом обработки является всегда новая таблица-отношение, которая также может быть обработана.

Основными операциями над отношениями реляционной модели данных являются :

традиционные операции над множествамиобъединение, пересечение, разность (вычитание), декартово произведение,

специальные – выбор, проекция, соединение и деление множеств.

Совокупность этих операций образует полную алгебру отношений- языка реляционной алгебры.



Реализация операций над отношениями в СУБД. Реляционные операции в той или иной мере реализуются в средствах реляционных СУБД. К таким средствам относятся средства запросов и другие языковые средства. Развитие реляционного подхода привело к созданию реляционных языков. Например, язык структурированных запросов, реализованный в большинстве СУБД (Oracl, Dbase, Paradox, Access, Rbase, DataEase и др.), является более чем «реляционно-полным», так как кроме операций над отношениями содержит полный набор операторов над строками - включить, удалить, обновить, а также реализует арифметические операции, операции сравнения и печати.

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

 

Рассмотрим основные операции языка реляционной алгебры над отношениями (реляционными таблицами).

Объединение

Операция объединение выполняется над двумя совместимыми отношениями R1, R2 (с идентичной структурой – d1,d2, ... dn). В результате операции объединения строится новое отношение R = R1 U R2. Отношение R имеет тот же состав атрибутов d1,d2, ... dn и совокупность кортежей (строк) исходных отношений. Причем в эту совокупность не включаются дубликаты.

Ниже приведены исходные отношения: R1 – Клиенты банка А, R2 – Клиенты банка В, результат объединения – R.

 

В новое отношение R не вошел кортеж К22, так как он дублирует кортеж К11.

Эта операции Объединения может быть реализована одной из следующих инструкцией UNION:

TABLE [Клиенты банка А] UNION TABLE [Клиенты банка В];

Или

(SELECT [Клиенты банка А].*

FROM [Клиенты банка А])

UNION

(SELECT [Клиенты банка В].*

FROM [Клиенты банка В]);

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

Декартово произведение

Операция декартово произведение выполняется над двумя отношениями R1, R2, имеющими разный состав атрибутов – (d1,d2, ... dn) и (p1, p2, ... pm) соответственно. В результате операции декартова произведения образуется новое отношение RD = R1 * R2, которое включает все атрибуты исходных отношений (d1,d2, ... dn, p1, p2, ... pm). Результирующее отношение состоит из всевозможных сочетаний кортежей исходных отношений R1 и R2. Число кортежей декартова произведения равно произведению количеств кортежей в исходных отношениях.

Например, декартово произведение двух отношений R1(Студент) и R2 (Предмет) дают новое отношение RD (Экзаменационная ведомость), которое содержит все атрибуты исходных отношений.

 

 

Заметим, что в полученное отношение целесообразно добавить атрибут «оценка» для записи результатов экзамена.

Реализация этой операции Декартово произведение в инструкции SQL:

SELECT Студент.*, Предмет.*

FROM Студент, Предмет;
Такая инструкция SELECT включает в структуру таблицы запроса все поля из таблиц, указанных предложением FROM

Выбор

Операция выбор выполняется над одним отношением R.

Для отношения R=(d1,d2, ... dn) по заданному условию (предикату) осуществляется выборка подмножества кортежей. Результирующее отношение (RW) имеет ту же схему (d1,d2, ... dn), что и исходное, но число его кортежей будет меньше или равно исходному.

Условие задается как логическое выражение, определяющее значения атрибутов.

Ниже приведен пример исходного отношения R «Изделие» и результат операции выбора (отношение RW) по заданному условию: цена >=150

Отношение R Отношение RW

  Изделие Цена   Изделие Цена
  И1   И2
  И2   И3
  И3      

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

Реализация этой операции Выборкав инструкции SQL:

SELECT *

FROM Изделие

WHERE Изделие.[ Цена] >= ”150”;

Инструкция SELECT * включает в структуру таблицы запроса все поля из таблицы, указанной предложением FROM, и осуществляет выбор записей, удовлетворяющих условию, заданному предложением WHERE.

Проекция

Операция проекция выполняется над одним отношением R = (d1,d2, ... dn) и формирует новое отношение (RPR) с заданным подмножеством атрибутов и заданной последовательностью атрибутов исходного отношения R.

Как правило, новое отношение имеет другую структуру (di, dl, ... dm), где m<n. Оно может содержать меньше кортежей, так как после отбрасывания в исходном отношении R части атрибутов (возможного исключения первичного ключа) могут образоваться кортежи, дублирующие друг друга. Дублирующие кортежи из результирующего отношения RPR исключаются. Проекция позволяет переупорядочить домены в таблице-отношении.

Ниже приведен пример исходного отношения R(Служащий) и результат проекции (RPR) этого отношения на два его атрибута – номер отдела и должность.

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

Реализация этой операции Проекция в инструкции SQL:

SELECT DISTINCT Служащий.[Номер отдела], Служащий.[Должность]

FROM Служащий;

Такая инструкция SELECT определяет, какие поля из таблицы, указанной предложением FROM, надо включить в структуру таблицы запроса.

Ключевое слово DISTINCT требует, чтобы в таблицу запроса не включались повторяющиеся записи.

Тот же результат можно получить, используя предложение GROUP BY, определяющее поле группировки.

SELECT Служащий.[Номер отдела], Служащий.[Должность]

FROM Служащий

GROUP BY Служащий.[Номер отдела], Служащий.[Должность];

 

Соединение

Операция соединение выполняется для заданного условия соединения над двумя логически связанными отношениями. Исходные отношения R1 и R2 имеют разные структуры, в которых есть один или несколько одинаковых атрибутов – ключи связи.

Операция соединения формирует новое отношение RS= (di, dl, ... dm), структура которого является совокупностью всех атрибутов исходных отношений. Кортежи результирующего отношения (RS) формируются объединением каждого кортежа из R1 с каждым из кортежей в R2, для которого выполняется заданное условие. При этом условием, как правило, являются одинаковые значения ключа связи в исходных отношениях.

Ниже приведен пример отношений R1 (Поставки) и R2 (Поставщики), логически связанных по одинаковому атрибуту – код поставщика.

 

 

Отношение R1 (Поставки) Отношение R2 (Поставщики)

Код изделия * Код постав-щика* Коли- чество   Код постав-щика* Наименование поставщика Адрес поставщика
к1 ПО1   ПО1 Фирма экспортер Москва
к1 ПО2   ПО2 Малое предприятие Петербург
к2 ПО1   ПО3 Акц. общество Воронеж
к3 ПО2        
к4 ПО1   * – обозначение ключевых атрибутов

 

Ниже приведено отношение-результат (RS) операции соединения R1 и R2 по условию равенства кода поставщика в кортежах R1 и R2.

Отношение RS – результат соединения

Код изделия * Код постав-щика* Коли- чество Наименование поставщика Адрес поставщика
к1 ПО1 Фирма экспортер Москва
к1 ПО2 Малое предприятие Петербург
к2 ПО1 Фирма экспортер Москва
к3 ПО2 Малое предприятие Петербург
к4 ПО1 Фирма экспортер Москва

 

Пересечение

Операция пересечение выполняется над двумя совместимыми отношениями R1, R2 с идентичным набором атрибутов – d1,d2, ... dn. Результирующее отношение RP= R1ÇR2 содержит одинаковые кортежи, которые есть в каждом из двух исходных. Результат пересечения имеет тот же состав атрибутов, как в исходных.

Пересечение двух отношений R1(Клиенты банка А) и R2(Клиенты банка В) дает одно отношение R (Клиент), в которое войдут клиенты, являющиеся одновременно клиентами банка А и банка В:

Вычитание

Операция вычитание выполняется над двумя совместимыми отношениями R1, R2 с идентичным набором атрибутов – d1,d2, ... dn. В результате операции вычитания строится новое отношение RV = R1 – R2 с идентичным набором атрибутов, содержащее только те кортежи первого отношения R1, которые не повторяются в другом отношении R2.

Вычитание отношения R2(Клиенты банка В) из отношения R1(Клиенты банка А) дает отношениеRV(Клиент только банка А):

RV = R1– R2 = {K11,K12,K13}– {K21,K22,K23} = {K12,K13},

поскольку K11 = K22.

Деление

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

В приведенном выше примере можно применить операцию деления к отношению RS на отношение R1(поставки), тогда получим отношение RD (поставившие товар).

 

Отношение RD – результат деления

Код поставщика* Наименование поставщика Адрес поставщика
  ПО1 Фирма экспортер Москва
  ПО2 Малое предприятие Петербург

 

 






ТОП 5 статей:
Экономическая сущность инвестиций - Экономическая сущность инвестиций – долгосрочные вложения экономических ресурсов сроком более 1 года для получения прибыли путем...
Тема: Федеральный закон от 26.07.2006 N 135-ФЗ - На основании изучения ФЗ № 135, дайте максимально короткое определение следующих понятий с указанием статей и пунктов закона...
Сущность, функции и виды управления в телекоммуникациях - Цели достигаются с помощью различных принципов, функций и методов социально-экономического менеджмента...
Схема построения базисных индексов - Индекс (лат. INDEX – указатель, показатель) - относительная величина, показывающая, во сколько раз уровень изучаемого явления...
Тема 11. Международное космическое право - Правовой режим космического пространства и небесных тел. Принципы деятельности государств по исследованию...



©2015- 2024 pdnr.ru Все права принадлежат авторам размещенных материалов.