В чем разница между проекцией и выбором? Это:
- Проекция -> для выбора столбцов таблицы; а также
- Выделение ---> выбрать строки таблицы?
Так являются ли проекция и выделение вертикальным и горизонтальным разрезом соответственно?
Ответы:
В яблочко.
Проекция означает выбор столбцов (или выражений), которые должен вернуть запрос.
Выбор означает, какие строки должны быть возвращены.
если запрос
select a, b, c from foobar where x=3;
тогда «a, b, c» - это часть проекции, «где x = 3» - часть выбора.
Просто ПРОЕКЦИЯ занимается удалением или выбором столбцов, а ВЫБОР занимается удалением или выбором строк.
Проекция: все, что когда-либо вводилось в предложении выбора, например, «список столбцов», «*» или «выражения», которое становится под проекцией.
* выбор: * какие условия мы применяем к этим столбцам, т. е. получаем записи, которые попадают под выбор.
Например:
SELECT empno,ename,dno,job from Emp
WHERE job='CLERK';
в приведенном выше запросе столбцы «empno, ename, dno, job» попадают под проекцию, «где job = 'clerk'» выбирается
Проекции и выборки - это две унарные операции в реляционной алгебре, которые имеют практическое применение в РСУБД (системах управления реляционными базами данных).
В практическом смысле да. Проекция означает выбор определенных столбцов (атрибутов) из таблицы, а Выбор означает фильтрацию строк (кортежей). Кроме того, для обычной таблицы «Проецирование и выделение» можно назвать вертикальным и горизонтальным нарезанием или фильтрацией.
Википедия предоставляет более формальные определения этих терминов с примерами, и они могут быть полезны для дальнейшего чтения по реляционной алгебре:
SELECT
предложение фактически выполняет проекцию (а не выбор), и именноWHERE
предложение фактически выполняет выбор .