Соединение

1. Выборка (R WHERE f) отношения R по формуле f представляет собой новое отношение с таким же заголовком и телом, состоящим из таких кортежей отношения R, которые удовлетворяют истинности логического выражения, заданного формулой f. Для записи формулы используются операнды — имена атрибутов (или номера столбцов), константы, логические операции (AND — И, OR — ИЛИ, NOT — НЕ), операции сравнения и скобки.

Пример 1. Пусть дано отношение R1, которое содержит сведения о деталях, материалах, из которых они изготавливаются, вес каждой детали и города, в которых выпускаются эти детали. Необходимо получить сведения о деталях, изготовленных из каленого материала с весом не более 13.

Таблица 1

R1

Р# название тип вес
P1 Гайка Каленый  
P2 Угол Твердый  
P3 Шайба Каленый 10,5
P4 Болт Каленый  
P5 Гайка Твердый  

Результирующее отношение

Таблица 2

R (R1 WHERE тип = «каленый» AND вес <13)

Р# название тип вес
P1 Гайка Каленый  
P3 Шайба Каленый 10,5

2. Проекция отношения А на атрибуты X, Y,..., Z (А [X, Y,..., Z]), где множество {X, Y,..., Z} является подмножеством полного списка атрибутов заголовка отношения А, представляет собой отношение с заголовком X, Y,..., Z и телом, содержащим кортежи отношения А, за исключением повторяющихся кортежей. Повторение одинаковых атрибутов в списке X, Y,..., Z запрещается.

Операция проекции допускает следующие дополнительные варианты записи:

- отсутствие списка атрибутов подразумевает указание всех атрибутов (операция тождественной проекции);

- выражение вида R [ ] означает пустуюпроекцию, результатом которой является пустое множество;

- операция проекции может применяться к произвольному отношению, в том числе и к результату выборки.

Пример 2. На основании отношения R1 создана проекция R(R1 whereТип = «каленый») [название]

Таблица 3

название тип
Гайка Каленый
Шайба Каленый
Болт Каленый

3. Результатом деления отношения R1 с атрибутами А и В на отношение R2 с атрибутом В (Rl DIVIDEBY R2), где А и В простые или составные атрибуты, причем атрибут В — общий атрибут, определенный на одном и том же домене (множестве доменов составного атрибута), является отношение R с заголовком А и телом, состоящим из кортежей r таких, что в отношении R1 имеются кортежи (r, s), причем множество значений s включает множество значений атрибута В отношения R2.

Пример 3. Даны два отношения R1 и R2.

Таблица 4

R1

Р# название P# тип вес
P1 Гайка P1 Каленый  
P2 Угол P2 Твердый  
P3 Шайба P3 Каленый 10,5
P4 Болт P4 Каленый  
P5 Гайка P5 Твердый  

Таблица 5

R2

Р# вес
P1  
P2  
P3 10,5
P4  

Результирующее отношение R(R1 DIVIDEBY R2) – вычитание из множества полей первого отношения множества полей второго отношения (одинаковые записи не дублируются)

Таблица 6

Р# название тип
P1 Гайка Каленый
P2 Угол Твердый
P3 Шайба Каленый
P4 Болт Каленый

4. Соединение Cf(Rl, R2) отношений R1 и R2 по условию, заданному формулой f, представляет собой отношение R, которое можно получить путем Декартова произведения отношений R1 и R2 с последующим применением к результату операции выборки по формуле f. Правила записи формулы f такие же, как и для операции селекции.

Соединение Cf(Rl, R2), где формула f имеет произвольный вид (в отличие от частных случаев, рассматриваемых далее), называют также Q-соединением.

Пример 4. Соединение отношений R1, R2

Таблица 7

R1

Р# название тип Город_П
P1 Гайка Каленый Киев
P2 Угол Твердый Киев
P3 Шайба Каленый Урай

Таблица 8

R2

П# Имя статус Город_Д
S1 Сергей   Москва
S2 Иван   Киев
S3 Петр   Урай

Результирующее отношение R(R1,R2) по атрибутам Город_П и Город_Д.

Таблица 9

Р# название тип Город_П П# Имя статус Город_Д
P1 Гайка Каленый Киев S2 Иван   Киев
P2 Угол Твердый Киев S2 Иван   Киев
P3 Шайба Каленый Урай S3 Петр   Урай

Раздел 3. Модели данных.




double arrow
Сейчас читают про: