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. Модели данных.