Проекция (реляционная алгебра) - Projection (relational algebra)
В реляционная алгебра, а проекция это унарная операция написано как куда представляет собой набор имен атрибутов. Результат такой проекции определяется как набор получается, когда компоненты кортеж ограничены набором - Это отбрасывает (или же исключает) другие атрибуты.[1]
С практической точки зрения это можно примерно представить как выбор подмножества всех доступных столбцов. Например, если атрибуты (имя, возраст), то проекция отношения {(Алиса, 5), (Боб, 8)} на список атрибутов (возраст) дает {5,8} - мы отбросили имена, и знать только, какой возраст присутствует.
Кроме того, проекция может использоваться для изменения значения атрибута: если отношение R имеет атрибуты a, b и c, а b является числом, тогдавернет отношение, почти такое же, как R, но все значения для 'b' уменьшатся вдвое.[2]
Связанные понятия
Тесно связанная концепция в теория множеств (видеть: проекция (теория множеств) ) отличается от реляционная алгебра в этом, в теории множеств, проектируют на упорядоченные компоненты, а не на атрибуты. Например, проектирование на второй компонент дает 7.
Проекция - аналог реляционной алгебры экзистенциальная количественная оценка в логика предикатов. Атрибуты нет включены соответствуют экзистенциально количественно определенным переменным в предикате, чьи расширение отношение операнда представляет. Пример ниже иллюстрирует это.
Из-за соответствия с экзистенциальной количественной оценкой некоторые авторитеты предпочитают определять проекцию в терминах исключенных атрибутов. На компьютерном языке, конечно, можно представить обозначения для обоих, и это было сделано в ISBL и несколько языков, которые взяли пример с ISBL.
Практически идентичное понятие встречается в категории моноиды, называется струнная проекция, который заключается в удалении всех букв в нить которые не принадлежат данному алфавит.
При реализации в SQL стандартная "проекция по умолчанию" возвращает мультимножество вместо этого набор, а π проекция получается добавлением ОТЧЕТЛИВЫЙ
ключевое слово для устранения повторяющихся данных.
Пример
В качестве примера рассмотрим отношения, изображенные в следующих двух таблицах, которые являются отношениями Человек и его проекция на атрибуты (некоторые говорят "поверх") Возраст и Масса:
|
|
Предположим, что предикат Person - это "Имя является возраст лет и весит масса. "Тогда данная проекция представляет собой предикат". Существует Имя такой, что Имя является возраст лет и весит масса."
Обратите внимание, что Гарри и Питер имеют одинаковый возраст и вес, но поскольку результат является отношением и, следовательно, набором, эта комбинация появляется в результате только один раз.
Более формально семантика проекции определяется следующим образом:
куда это ограничение кортежа к набору так что
куда это значение атрибута, это имя атрибута, а является элементом домена этого атрибута - см. Отношение (база данных).
Результат проекции определяется, только если это подмножество из заголовок из .
Проекция без всяких атрибутов возможна, что дает отношение нулевой степени. В этом случае мощность результата равна нулю, если операнд пустой, в противном случае - единице. Два отношения нулевой степени - единственные, которые нельзя изобразить в виде таблиц.
Смотрите также
Рекомендации
- ^ «Реляционная алгебра». cs.rochester.edu. Получено 2014-07-28.
- ^ http://www.csee.umbc.edu/~pmundur/courses/CMSC661-02/rel-alg.pdf См. Проблему 3.8.B на стр.