![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Операция селекции
Первой специальной операцией реляционной алгебры является операция, которая в литературе имеет много различных названий: селекция, выборка, горизонтальный выбор, операция фильтрации или операция ограничения отношений. Для определения этой операции нам необходимо ввести дополнительные обозначения.
Селекция (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
Фамилия | Дисциплина | Оценка |
Иванова | БД | |
Иванова | Ин.яз | |
Петров | Философия | |
Петров | БД |
R WHERE Оценка>3
Фамилия | Дисциплина | Оценка |
Иванова | БД | |
Петров | Философия |
Операция проекции
Операция проекции позволяет получить только требуемые атрибуты (характеристики) объектов. Операция проекции также часто называется операцией вертикальной выборки.
Проекция отношения 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
Фамилия | Дисциплина | Оценка |
Иванова | БД | |
Иванова | Ин.яз | |
Петров | Философия | |
Петров | БД |
R [Фамилия]
Фамилия |
Иванова |
Петров |
Дата публикования: 2015-07-22; Прочитано: 819 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!