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?

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.


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.


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


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:

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.