Que sont la projection et la sélection?

93

Quelle est la différence entre la projection et la sélection? Est-ce:

  • Projection -> pour sélectionner les colonnes du tableau; et
  • Sélection ---> pour sélectionner les lignes du tableau?

Alors, la projection et la sélection sont-elles respectivement un découpage vertical et horizontal?

dreftymac
la source

Réponses:

180

Exactement.

La projection signifie le choix des colonnes (ou expressions) que la requête doit renvoyer.

La sélection signifie quelles lignes doivent être renvoyées.

si la requête est

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

alors "a, b, c" est la partie de projection, "où x = 3" la partie de sélection.

Erich Kitzmueller
la source
3
En effet, une explication claire, mais je trouve cet aspect de SQL déroutant / trompeur: la SELECTclause effectue en fait une projection (pas une sélection), et c'est la WHEREclause qui effectue en fait une sélection .
flow2k
4
@ flow2k Bien observé, mais ne me blâmez pas ;-)
Erich Kitzmueller
2
@ErichKitzmueller Ha - soyez assuré que je n'avais pas une telle intention; Parfois, je trouve que le fait d'accepter ces points subtils d'une définition ou d'une syntaxe me permet de mieux m'en souvenir.
flow2k le
13

Simplement PROJECTION s'occupe de l'élimination ou de la sélection de colonnes, tandis que SELECTION s'occupe de l'élimination ou de la sélection de lignes.

Harimohan Pandey
la source
6

Projection: tout ce qui a été saisi dans la clause de sélection, c'est-à-dire «liste de colonnes» ou «*» ou «expressions» qui devient sous projection.

* sélection: * quel type de conditions nous appliquons sur ces colonnes, c'est-à-dire obtenir les enregistrements qui font l'objet de la sélection.

Par exemple:

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

dans la requête ci-dessus, les colonnes "empno, ename, dno, job", celles qui sont en cours de projection, "où job = 'clerk'" est sous sélection

AlluriReddy
la source
5

Les projections et les sélections sont deux opérations unaires en algèbre relationnelle et ont des applications pratiques dans le SGBDR (systèmes de gestion de bases de données relationnelles).

Dans le sens pratique, oui Projection signifie sélectionner des colonnes (attributs) spécifiques dans une table et Sélection signifie filtrer des lignes (tuples). De plus, pour un tableau conventionnel, la projection et la sélection peuvent être qualifiées de découpage ou filtrage vertical et horizontal.

Wikipédia en fournit des définitions plus formelles avec des exemples et elles peuvent être utiles pour une lecture plus approfondie sur l'algèbre relationnelle:

Arnab
la source