Проекция (реляционная алгебра) - Projection (relational algebra)

В реляционная алгебра, а проекция это унарная операция написано как куда представляет собой набор имен атрибутов. Результат такой проекции определяется как набор получается, когда компоненты кортеж ограничены набором - Это отбрасывает (или же исключает) другие атрибуты.[1]

С практической точки зрения это можно примерно представить как выбор подмножества всех доступных столбцов. Например, если атрибуты (имя, возраст), то проекция отношения {(Алиса, 5), (Боб, 8)} на список атрибутов (возраст) дает {5,8} - мы отбросили имена, и знать только, какой возраст присутствует.

Кроме того, проекция может использоваться для изменения значения атрибута: если отношение R имеет атрибуты a, b и c, а b является числом, тогдавернет отношение, почти такое же, как R, но все значения для 'b' уменьшатся вдвое.[2]

Связанные понятия

Тесно связанная концепция в теория множеств (видеть: проекция (теория множеств) ) отличается от реляционная алгебра в этом, в теории множеств, проектируют на упорядоченные компоненты, а не на атрибуты. Например, проектирование на второй компонент дает 7.

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

Из-за соответствия с экзистенциальной количественной оценкой некоторые авторитеты предпочитают определять проекцию в терминах исключенных атрибутов. На компьютерном языке, конечно, можно представить обозначения для обоих, и это было сделано в ISBL и несколько языков, которые взяли пример с ISBL.

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

При реализации в SQL стандартная "проекция по умолчанию" возвращает мультимножество вместо этого набор, а π проекция получается добавлением ОТЧЕТЛИВЫЙ ключевое слово для устранения повторяющихся данных.

Пример

В качестве примера рассмотрим отношения, изображенные в следующих двух таблицах, которые являются отношениями Человек и его проекция на атрибуты (некоторые говорят "поверх") Возраст и Масса:

ИмяВозрастМасса
Гарри34180
Салли28164
Джордж28170
Елена54154
Питер34180
ВозрастМасса
34180
28164
28170
54154

Предположим, что предикат Person - это "Имя является возраст лет и весит масса. "Тогда данная проекция представляет собой предикат". Существует Имя такой, что Имя является возраст лет и весит масса."

Обратите внимание, что Гарри и Питер имеют одинаковый возраст и вес, но поскольку результат является отношением и, следовательно, набором, эта комбинация появляется в результате только один раз.

Более формально семантика проекции определяется следующим образом:

куда это ограничение кортежа к набору так что

куда это значение атрибута, это имя атрибута, а является элементом домена этого атрибута - см. Отношение (база данных).

Результат проекции определяется, только если это подмножество из заголовок из .

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

Смотрите также

Рекомендации

  1. ^ «Реляционная алгебра». cs.rochester.edu. Получено 2014-07-28.
  2. ^ http://www.csee.umbc.edu/~pmundur/courses/CMSC661-02/rel-alg.pdf См. Проблему 3.8.B на стр.