Was sind Projektion und Auswahl?

91

Was ist der Unterschied zwischen Projektion und Auswahl? Ist es:

  • Projektion -> zur Auswahl der Tabellenspalten; und
  • Auswahl ---> um die Tabellenzeilen auszuwählen?

Sind Projektion und Auswahl vertikal bzw. horizontal geschnitten?

dreftymac
quelle

Antworten:

177

Genau.

Projektion bedeutet, auszuwählen, welche Spalten (oder Ausdrücke) die Abfrage zurückgeben soll.

Auswahl bedeutet, welche Zeilen zurückgegeben werden sollen.

wenn die Abfrage ist

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

dann ist "a, b, c" der Projektionsteil, "wobei x = 3" der Auswahlteil.

Erich Kitzmüller
quelle
3
In der Tat eine klare Erklärung, aber ich finde diesen Aspekt von SQL verwirrend / irreführend: Die SELECTKlausel führt tatsächlich eine Projektion durch (keine Auswahl), und es ist die WHEREKlausel, die tatsächlich eine Auswahl ausführt .
flow2k
3
@ flow2k Gut beobachtet, aber gib mir nicht die Schuld
;-)
2
@ErichKitzmueller Ha - seien Sie versichert, ich hatte keine solche Absicht; Manchmal finde ich, dass ich mich besser daran erinnere, wenn ich mich mit diesen subtilen Punkten einer Definition oder Syntax abgefunden habe.
flow2k
13

Einfach PROJECTION befasst sich mit der Eliminierung oder Auswahl von Spalten, während SELECTION die Eliminierung oder Auswahl von Zeilen behandelt.

Harimohan Pandey
quelle
6

Projektion: Was auch immer in die Auswahlklausel eingegeben wurde, dh 'Spaltenliste' oder '*' oder 'Ausdrücke', die unter Projektion stehen.

* Auswahl: * Welche Art von Bedingungen wenden wir auf diese Spalten an, dh welche Datensätze werden ausgewählt?

Beispielsweise:

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

In der obigen Abfrage werden die Spalten "empno, ename, dno, job" unter Projektion gestellt, "wobei job = 'clerk'" unter Auswahl steht

AlluriReddy
quelle
5

Projektionen und Auswahlen sind zwei unäre Operationen in der relationalen Algebra und haben praktische Anwendungen in RDBMS (relationale Datenbankverwaltungssysteme).

Im praktischen Sinne bedeutet ja Projektion die Auswahl bestimmter Spalten (Attribute) aus einer Tabelle und Auswahl bedeutet das Filtern von Zeilen (Tupeln). Bei einer herkömmlichen Tabelle können Projektion und Auswahl auch als vertikales und horizontales Schneiden oder Filtern bezeichnet werden.

Wikipedia bietet formellere Definitionen dieser Beispiele und sie können für die weitere Lektüre der relationalen Algebra hilfreich sein:

Arnab
quelle