Из Википедии, бесплатной энциклопедии
  (Перенаправлен из Projection в реляционной алгебре )
Перейти к навигации Перейти к поиску

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

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

Прогнозы также могут изменять значения атрибутов. Например, если есть атрибуты , , , где значения являются числами, то все равно , но со всеми -значениями вдвое. [2]

Понятия, связанные с данным [ править ]

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

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

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

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

При реализации в стандарте SQL «проекция по умолчанию» возвращает мультимножество вместо набора, а проекция π получается добавлением DISTINCTключевого слова для устранения повторяющихся данных.

Пример [ править ]

В качестве примера рассмотрим отношения, изображенные в следующих двух таблицах, которые представляют собой отношение Person и его проекцию на (некоторые говорят «сверх») атрибуты Age и Weight :

Пусть предикат Person является « Имя в возрасте лет и весит вес .» Тогда данная проекция представляет собой предикат, «Там существует имя такого , что имя является возраст лет и весит вес

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

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

где это ограничение кортежа на множество , так что

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

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

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

См. Также [ править ]

Ссылки [ править ]

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