В чем разница между операциями выбора и проекта

Я имею в виду основные операторы реляционной алгебры здесь.
На мой взгляд, все, что можно сделать с проектом, можно сделать с помощью select.

Я не знаю, есть ли разница или определенный нюанс, который я пропустил.

10 ответов

Решение

Операция выбора: эта операция используется для выбора строк из таблицы (отношения), которая задает данную логику, которая называется predicate, Предикат - это пользовательское условие для выбора строк по выбору пользователя.

Операция проекта: если пользователь заинтересован в выборе значений нескольких атрибутов, а не в выборе всех атрибутов таблицы (отношение), то следует перейти к PROJECT Операция.

Подробнее: реляционная алгебра и ее операции

PROJECT удаляет столбцы, а SELECT удаляет строки.

В реляционной алгебре "Выделение" и "Проекция" - это разные операции, но SQL SELECT объединяет эти операции в одном выражении.

Select извлекает кортежи (строки) в отношении (таблице), для которых условие в разделе "предикат" (предложение WHERE) остается верным.

Проект извлекает указанные атрибуты (столбцы).

Следующий запрос SQL SELECT:

select field1,field2 from table1 where field1 = 'Value';

является комбинацией операций проекции и выбора реляционной алгебры.

Проект не является заявлением. Это возможность оператора select. Оператор select имеет три возможности. Это отбор, проекция, объединение. Выбор - это получает строки, которые удовлетворены данным запросом. Проекция - это выбирает столбцы, которые удовлетворены данным запросом. Join-it объединяет две или более таблицы

Project будет влиять на столбцы в таблице, пока Select влияет на ряды. с другой стороны Project используется для выбора столбцов со специальными свойствами, а не для выбора данных всех столбцов

Операция выбора используется для выбора подмножества кортежа из отношения, которое удовлетворяет условию выбора. Она отфильтровывает те кортежи, которые удовлетворяют условию. Операция выбора может быть визуализирована как горизонтальное разбиение на два набора кортежа - те кортежи, которые удовлетворяют условию, выбраны и те кортежи не выбирают условие, которое отбрасывается. Сигма (R) проекция используется для выбора атрибута из отношения, которое удовлетворяет условию выбора. Он отфильтровывает только те кортежи, которые удовлетворяют условию. Операция проецирования может быть визуализирована как вертикальное разделение на две части - если удовлетворены условия, выбраны другие отброшенные attribute (R) список атрибутов - это номер атрибута

Выберите извлекать строки из отношения с некоторым условием, а Project извлекает определенное количество атрибута / столбца из отношения с некоторым условием или без него.

select только меняет количество элементов в таблице результатов, но проект меняет как степень отношения, так и количество элементов.

Разница заключается в реляционной алгебре, где проект влияет на столбцы, а выбор влияет на строки. Однако в синтаксисе запроса выберите слово. Нет такого запроса как проект. Предполагается, что есть таблица с именем users с сотнями тысяч записей (строк), и таблица имеет 6 полей (userID, Fname,Lname,age,pword,salary). Допустим, мы хотим ограничить доступ к конфиденциальным данным (userID,pword и salary), а также ограничить объем данных, к которым осуществляется доступ. В mysql maria DB мы создаем представление следующим образом (Создайте представление user1 как выберите Fname,Lname, age from users limit 100;) из нашего представления, которое мы выдаем (выберите Fname из users1;) . Этот запрос является одновременно выбором и проектом

Разница между оператором проекта (π) в реляционной алгебре и ключевым словом SELECT в SQL состоит в том, что если в результирующей таблице / наборе имеется более одного вхождения одного и того же кортежа, то π вернет только один из них, а SQL SELECT вернет все.

Другие вопросы по тегам