Jaka jest różnica między projekcją a wyborem? Czy to jest:
- Projekcja -> do wybierania kolumn tabeli; i
- Wybór ---> aby zaznaczyć wiersze tabeli?
Czy zatem rzutowanie i zaznaczanie są odpowiednio przekrojami pionowymi i poziomymi?
Odpowiedzi:
Dokładnie.
Projekcja oznacza wybór kolumn (lub wyrażeń), które ma zwrócić zapytanie.
Wybór oznacza, które wiersze mają zostać zwrócone.
jeśli zapytanie to
select a, b, c from foobar where x=3;
wtedy „a, b, c” to część rzutowania, „gdzie x = 3” to część zaznaczenia.
Simply PROJECTION zajmuje się eliminacją lub selekcją kolumn, podczas gdy SELECTION zajmuje się eliminacją lub selekcją wierszy.
Projekcja: wszystko, co kiedykolwiek zostało wpisane w klauzuli select, tj. „Lista kolumn”, „*” lub „wyrażenia”, co stanie się pod odwzorowaniem.
* selekcja: * jakiego typu warunki stosujemy w tych kolumnach, tj. pobieranie rekordów, które są objęte selekcją.
Na przykład:
SELECT empno,ename,dno,job from Emp
WHERE job='CLERK';
w powyższym zapytaniu kolumny „empno, ename, dno, job” są objęte projekcją, „gdzie job = 'clerk'” znajduje się w selekcji
Projekcje i selekcje to dwie jednoargumentowe operacje w algebrze relacyjnej i mają praktyczne zastosowania w RDBMS (systemy zarządzania relacyjnymi bazami danych).
W praktyce tak Projekcja oznacza wybieranie określonych kolumn (atrybutów) z tabeli, a Selekcja oznacza filtrowanie wierszy (krotek). Ponadto w przypadku konwencjonalnej tabeli rzutowanie i zaznaczanie można określić jako pionowe i poziome cięcie lub filtrowanie.
Wikipedia podaje bardziej formalne definicje z przykładami i mogą być przydatne do dalszego czytania algebry relacyjnej:
SELECT
klauzula faktycznie wykonuje projekcję (nie selekcję) i toWHERE
klauzula faktycznie dokonuje wyboru .