![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Операция выборки — унарный оператор, записываемый как σaθb(R) или σaθv(R), где:
§ a, b — имена атрибутов
§ θ — оператор сравнения из множества {<; ≤; =; ≥; >}
§ v — константа
§ R — отношение (в оригинале — relation, однако как видно из примера, подразумевается не столько взаимосвязь таблиц, сколько взаимосвязь/соотношение различных фактов в рядах этих таблиц).
Выборка σaθb(R) (или σaθv(R)) выбирает все наборы значений R, для которых функция a θ b (или a θ v) будет истинна.
Пример
Пусть даны следующие соотношения:
Персоны
Имя | Возраст | Вес |
Harry | ||
Sally | ||
George | ||
Helena | ||
Peter |
Тогда результаты выборок будут следующими:
σВозраст ≥ 34(Персоны)
Имя | Возраст | Вес |
Harry | ||
Helena | ||
Peter |
Эквивалентный SQL-запрос:
SELECT * FROM Персоны WHERE Возраст >= 34
σВозраст = Вес(Персоны)
Имя | Возраст | Вес |
Helena |
Эквивалентный SQL-запрос:
SELECT * FROM Персоны WHERE Возраст = Вес
Проекция
Операция проекции — унарный оператор, записываемый как πa1,…,an(R) где a1,…,an — список полей, подлежащих выборке. Результатом такой выборки будет набор последовательностей значений отношения R, в котором будут присутствовать только поля, перечисленные в списке a1,…,an с естественным уничтожением потенциально возникающих кортежей-дубликатов.
Пример
Пусть даны следующие соотношения:
Персоны
Имя | Возраст | Вес |
Harry | ||
Sally | ||
George | ||
Helena | ||
Peter |
Результат проекции:
πВозраст,Вес(Персоны)
Возраст | Вес |
Эквивалентный SQL-запрос:
SELECT DISTINCT Возраст, Вес FROM Персоны
Примечательно, что в SQL для полного соответствия операции проекции необходимо указывать ключевое слово DISTINCT, поскольку без него строка с возрастом 34 и весом 80 отобразится дважды, что отличается от результата реляционной операции проекции.
Дата публикования: 2015-10-09; Прочитано: 381 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!