Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Слайды ИС (2005) Тема 10 Языки запросов.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
612.86 Кб
Скачать

Специальные реляционные операции

Операция селекции

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

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

Для записи формулы используются операнды — имена атрибутов (или номера столб­цов), константы, логические операции (AND — И, OR — ИЛИ, NOT — НЕ), операции сравнения и скобки.

Пусть f — булевское выражение, составленное из термов сравнения с помощью связок И ( ), ИЛИ ( ), НЕ ( ) и, возможно, скобок. В качестве термов сравнения допускаются:

а) терм А ос а,

где А — имя некоторого атрибута, принимающего значения из домена D; а — константа, взятая из того же домена D, a D; ос — одна из допустимых для данного домена D операций сравнения;

б) терм А ос В,

где А, В — имена некоторых θ-сравнимых атрибутов, то есть атрибутов, принимающих значения из одного и то же домена D.

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

(R WHERE f) = {r | r R f (r) = "Истина"}

Операция селекции является одной из основных при работе с реляционной моделью данных. Условие f может быть сколь угодно сложным.

Пример 7. Выбрать из отношения R, в котором находятся все экзаменационные оценки студентов по дисциплинам, сдачи экзамена с оценкой 4 и 5.

R

Фамилия

Дисциплина

Оценка

Иванова

БД

4

Иванова

Ин.яз

3

Петров

Философия

5

Петров

БД

3

R WHERE Оценка>3

Фамилия

Дисциплина

Оценка

Иванова

БД

4

Петров

Философия

5

Операция проекции

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

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

Повторение одинаковых атрибутов в списке X, Y,..., Z запрещается.

R[X, Y,..., Z] = { r[X, Y,..., Z] },

где r[X, Y,..., Z] – проекция кортежа r отношения R на атрибуты X, Y,..., Z (R={ r }).

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

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

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

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

Пример 8. Определить, кто из студентов сдавал экзамены. То есть выбрать из отношения R (пример 7), в котором находятся все экзаменационные оценки студентов по дисциплинам, фамилии студентов.

R

Фамилия

Дисциплина

Оценка

Иванова

БД

4

Иванова

Ин.яз

3

Петров

Философия

5

Петров

БД

3