Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
database.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.12 Mб
Скачать

Тема 2: Специальные операции теории множеств.

  1. Выборка

  2. Проекция

  3. Деление

  4. Соединение

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

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

Таблица 1

R1

Р#

название

тип

вес

P1

Гайка

Каленый

12

P2

Угол

Твердый

13

P3

Шайба

Каленый

10,5

P4

Болт

Каленый

14

P5

Гайка

Твердый

11

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

Таблица 2

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

Р#

название

тип

вес

P1

Гайка

Каленый

12

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

Каленый

12

P2

Угол

P2

Твердый

13

P3

Шайба

P3

Каленый

10,5

P4

Болт

P4

Каленый

14

P5

Гайка

P5

Твердый

11

Таблица 5

R2

Р#

вес

P1

12

P2

13

P3

10,5

P4

14

Результирующее отношение 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

Сергей

20

Москва

S2

Иван

10

Киев

S3

Петр

15

Урай

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

Таблица 9

Р#

название

тип

Город_П

П#

Имя

статус

Город_Д

P1

Гайка

Каленый

Киев

S2

Иван

10

Киев

P2

Угол

Твердый

Киев

S2

Иван

10

Киев

P3

Шайба

Каленый

Урай

S3

Петр

15

Урай

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]