Що таке проекція та вибір?


93

У чому різниця між проекцією та виділенням? Є це:

  • Проекція -> для вибору стовпців таблиці; і
  • Виділення ---> для виділення рядків таблиці?

Тож чи є проекція та вибір вертикальним та горизонтальним нарізанням відповідно?

Відповіді:


180

Точно так.

Проекція означає вибір, які стовпці (або вирази) повертатиме запит.

Виділення означає, які рядки потрібно повернути.

якщо запит є

select a, b, c from foobar where x=3;

тоді "a, b, c" - частина проекції, "де x = 3" частина виділення.


3
Дійсно, це чітке пояснення, але я вважаю цей аспект SQL заплутаним / оманливим: SELECTпропозиція насправді виконує проекцію (а не виділення), і саме ця WHEREстаття фактично виконує виділення .
flow2k

4
@ flow2k Добре спостерігається, але не звинувачуй мене ;-)
Еріх Кіцмюллер

2
@ErichKitzmueller Ha - будьте впевнені, що я не мав такого наміру; інколи я виявляю, що примирення / прийняття цих тонких моментів визначення чи синтаксису змушує мене це краще запам’ятати.
flow2k

13

Просто PROJECTION займається вилученням або виділенням стовпців, тоді як SELECTION займається вилученням або виділенням рядків.


6

Проекція: те, що коли-небудь вводилося в реченні select, тобто "список стовпців", "*" або "вирази", що стає під проекцією.

* вибір: * який тип умов ми застосовуємо до цих стовпців, тобто отримання записів, які потрапляють під вибір.

Наприклад:

  SELECT empno,ename,dno,job from Emp 
     WHERE job='CLERK'; 

у наведеному вище запиті стовпці "empno, ename, dno, job" ті потрапляють під проекцію, "де job = 'clerk'" потрапляє під вибір


5

Проекції та виділення - це дві одинарні операції в реляційній алгебрі, які мають практичне застосування в СУБД (реляційні системи управління базами даних).

Практично, так, Проекція означає вибір конкретних стовпців (атрибутів) із таблиці, а Виділення означає фільтрування рядків (кортежів). Крім того, для звичайної таблиці проекція та вибір можна назвати вертикальним та горизонтальним нарізуванням або фільтруванням.

Вікіпедія надає більш офіційні визначення їх із прикладами, і вони можуть бути корисними для подальшого читання реляційної алгебри:

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.