Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Управл_данными / 19-алгебра

.pdf
Скачиваний:
20
Добавлен:
03.06.2015
Размер:
945.86 Кб
Скачать

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

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

Рассмотрим отношение:

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

1)операцию Выбор над отношением r;

2)проецирование результата предыдущей операции на атрибут Назв_дет :

21

В реляционном исчислении для получения того же результата формулировка запроса должна иметь следующий вид:

{t.Назв_дет | t in r ^ t.Bec = 2 }

,где:

t — переменная, обозначающая произвольную строку.

Отношение, из которого берется t, определяется выражением "t in r", которое означает, что t — строка отношения r.

t.Назв_дет — значение атрибута Назв_дет в строке t;

символ (|) — разделяет целевой список и определяющее выражение.

t.Назв_дет — целевой список;

t in r t.Bec = 2 — определяющее выражение;

t.Вес = 2 означает, что значение атрибута Вес в строке t равно 2.

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

Приведенное решение иллюстрирует почти все элементы реляционного исчисления.

22

В основе языка SQL лежит реляционное исчисление

Для получения того же результата, используется запрос на языке SQL:

SELECT Назв_дет FROM Детали WHERE Вес=2

{ t.Назв_дет | t in r ^ t.Bec = 2 }

23

Пример 2

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

SELECT ПОТРЕБНОСТИ.Назв

FROM ПОТРЕБНОСТИ, СКЛАД

WHERE ПОТРЕБНОСТИ.Код_дет = СКЛАД.Код_дет

AND СКЛАД.Колич > ПОТРЕБНОСТИ.Количество

{t.Назв |

t

in ПОТРЕБНОСТИ

s in СКЛАД

(s.Код_дет

=

t.Код_дет

s.Колич > t.Количество)}

Здесь:

- Квантор существования

 

- Логическая операция “И”

 

 

24

Соседние файлы в папке Управл_данными