O que são projeção e seleção?

96

Qual é a diferença entre projeção e seleção? É isso:

  • Projeção -> para selecionar as colunas da tabela; e
  • Seleção ---> para selecionar as linhas da tabela?

Portanto, a projeção e a seleção são divididas na vertical e na horizontal, respectivamente?

dreftymac
fonte

Respostas:

185

Exatamente.

Projeção significa escolher quais colunas (ou expressões) a consulta deve retornar.

Seleção significa quais linhas devem ser retornadas.

se a consulta é

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

então "a, b, c" é a parte da projeção, "onde x = 3" é a parte da seleção.

Erich Kitzmueller
fonte
4
De fato, uma explicação clara, mas acho esse aspecto do SQL confuso / enganoso: a SELECTcláusula realmente executa uma projeção (não uma seleção) e é a WHEREcláusula que realmente executa uma seleção .
flow2k
4
@ flow2k Bem observado, mas não coloque a culpa em mim ;-)
Erich Kitzmueller
2
@ErichKitzmueller Ha - fique tranquilo, não tive essa intenção; às vezes acho que chegar a um acordo / aceitar esses pontos sutis de uma definição, ou sintaxe, me faz lembrar melhor.
flow2k
13

Simplesmente PROJEÇÃO trata da eliminação ou seleção de colunas, enquanto SELEÇÃO trata da eliminação ou seleção de linhas.

Harimohan Pandey
fonte
6

Projeção: o que já foi digitado na cláusula select, ou seja, 'lista de colunas' ou '*' ou 'expressões' que se tornou sob projeção.

* seleção: * que tipo de condições estamos aplicando nessas colunas, ou seja, obtendo os registros que vêm sob seleção.

Por exemplo:

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

na consulta acima, as colunas "empno, ename, dno, job" estão sob projeção, "onde job = 'clerk'" vem sob seleção

AlluriReddy
fonte
5

Projeções e seleções são duas operações unárias em Álgebra Relacional e têm aplicações práticas em RDBMS (sistemas de gerenciamento de banco de dados relacional).

Em sentido prático, sim Projeção significa selecionar colunas específicas (atributos) de uma tabela e Seleção significa filtrar linhas (tuplas). Além disso, para uma mesa convencional, Projeção e Seleção podem ser denominadas como corte ou filtragem vertical e horizontal.

A Wikipedia fornece definições mais formais destes com exemplos e eles podem ser bons para leitura adicional sobre álgebra relacional:

Arnab
fonte