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:
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.
Simplesmente PROJEÇÃO trata da eliminação ou seleção de colunas, enquanto SELEÇÃO trata da eliminação ou seleção de linhas.
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
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:
SELECT
cláusula realmente executa uma projeção (não uma seleção) e é aWHERE
cláusula que realmente executa uma seleção .