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

Правила для auto по большей части такие же, как и для вывода типа шаблона. Приведенный пример работает по той же причине, когда вы можете передавать объекты частных типов в функции шаблона:

template <typename T>
void fun(T t) {}

int main() {
    Foo f;
    fun(f.Baz());         // ok
}

И почему мы можем передавать объекты частных типов в функции шаблона, спросите вы? Потому что только имя типа недоступно. Сам тип все еще можно использовать, поэтому вы можете вообще вернуть его к клиентскому коду.

29
задан DaveyDaveDave 9 November 2018 в 14:40
поделиться

9 ответов

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

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

См. Также: Реляционная алгебра и ее операции

46
ответ дан sgokhales 9 November 2018 в 14:40
поделиться

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

45
ответ дан Krishna Pal 9 November 2018 в 14:40
поделиться

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

1
ответ дан akanksha malik 9 November 2018 в 14:40
поделиться

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

0
ответ дан rashedcs 9 November 2018 в 14:40
поделиться

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

8
ответ дан user4980372 9 November 2018 в 14:40
поделиться

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

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

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

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

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

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

19
ответ дан EmergeStronger 9 November 2018 в 14:40
поделиться

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

0
ответ дан Malala Victor 9 November 2018 в 14:40
поделиться

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

0
ответ дан Binod Regmi 9 November 2018 в 14:40
поделиться

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

0
ответ дан Shaykh Aawmir 9 November 2018 в 14:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: