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

Опубликовано: 19 Августа, 2021

Основы реляционной модели: реляционная модель

Реляционная алгебра - это процедурный язык запросов, который принимает отношения в качестве входных данных и возвращает отношения в качестве выходных данных. Есть несколько основных операторов, которые можно применять к отношениям для получения требуемых результатов, которые мы обсудим один за другим. Мы будем использовать отношения STUDENT_SPORTS, EMPLOYEE и STUDENT, как указано в Таблице 1, Таблице 2 и Таблице 3 соответственно, чтобы понять различные операторы.

Таблица 1: STUDENT_SPORTS

ROLL_NO ВИДЫ СПОРТА
1 Бадминтон
2 Крикет
2 Бадминтон
4 Бадминтон

Таблица 2: СОТРУДНИК

EMP_NO НАЗВАНИЕ АДРЕС ТЕЛЕФОН ВОЗРАСТ
1 баран ДЕЛИ 9455123451 18
5 НАРЕШ HISAR 9782918192 22
6 SWETA РАНЧИ 9852617621 21 год
4 СЮРЕШ ДЕЛИ 9156768971 18

 Таблица 3: СТУДЕНТ

ROLL_NO НАЗВАНИЕ АДРЕС ТЕЛЕФОН ВОЗРАСТ
1 баран ДЕЛИ 9455123451 18
2 РАМЕШ ГУРГАОН 9652431543 18
3 СУДЖИТ РОХТАК 9156253131 20
4 СЮРЕШ ДЕЛИ 9156768971 18

Оператор выбора (σ): оператор выбора используется для выбора кортежей из отношения на основе некоторого условия. Синтаксис:

 σ (Cond) (Имя отношения)

Выделите учащихся старше 18 лет из отношения СТУДЕНТ, приведенного в таблице 1.

 σ (ВОЗРАСТ> 18) (СТУДЕНТ)

РЕЗУЛЬТАТ:

ROLL_NO НАЗВАНИЕ АДРЕС ТЕЛЕФОН ВОЗРАСТ
3 СУДЖИТ РОХТАК 9156253131 20

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

 (Столбец 1, Столбец 2…. Столбец n) (Имя отношения)

Извлеките ROLL_NO и NAME из отношения СТУДЕНТ, приведенного в таблице 3.

 (ROLL_NO, NAME) (СТУДЕНТ)

РЕЗУЛЬТАТ:

ROLL_NO НАЗВАНИЕ
1 баран
2 РАМЕШ
3 СУДЖИТ
4 СЮРЕШ

Примечание. Если результирующее отношение после проекции содержит повторяющиеся строки, оно будет удалено. Например: ∏ (ADDRESS) (STUDENT) удалит одну повторяющуюся строку со значением DELHI и вернет три строки.

Перекрестное произведение (X): Перекрестное произведение используется для соединения двух отношений. Для каждой строки Relation1 каждая строка Relation2 объединяется. Если Relation1 имеет m кортежей, а Relation2 имеет n кортежей, перекрестное произведение Relation1 и Relation2 будет иметь m X n кортежей. Синтаксис:

 Отношение1 X Отношение2

Чтобы применить перекрестный продукт к отношению СТУДЕНТ, приведенному в таблице 1, и отношению СТУДЕНТ_СПОРТ, приведенному в таблице 2,

 СТУДЕНТ X СТУДЕНТ_СПОРТ

Результат:

ROLL_NO Имя АДРЕС ТЕЛЕФОН ВОЗРАСТ ROLL_NO ВИДЫ СПОРТА
1 баран Дели 9455123451 18 1 бадминтон
1 баран Дели 9455123451 18 2 Крикет
1 баран Дели 9455123451 18 2 бадминтон
1 баран Дели 9455123451 18 4 бадминтон
2 РАМЕШ ГУРГАОН 9652431543 18 1 бадминтон
2 РАМЕШ ГУРГАОН 9652431543 18 2 Крикет
2 РАМЕШ ГУРГАОН 9652431543 18 2 бадминтон
2 РАМЕШ ГУРГАОН 9652431543 18 4 бадминтон
3 СУДЖИТ РОХТАК 9156253131 20 1 бадминтон
3 СУДЖИТ РОХТАК 9156253131 20 2 Крикет
3 СУДЖИТ РОХТАК 9156253131 20 2 бадминтон
3 СУДЖИТ РОХТАК 9156253131 20 4 бадминтон
4 СЮРЕШ Дели 9156768971 18 1 бадминтон
4 СЮРЕШ Дели 9156768971 18 2 Крикет
4 СЮРЕШ Дели 9156768971 18 2 бадминтон
4 СЮРЕШ Дели 9156768971 18 4 бадминтон

Объединение (U): объединение двух отношений R1 и R2 может быть вычислено только в том случае, если R1 и R2 совместимы с объединением (эти два отношения должны иметь одинаковое количество атрибутов, а соответствующие атрибуты в двух отношениях имеют одинаковый домен). Оператор объединения при применении к двум отношениям R1 и R2 даст отношение с кортежами, которые находятся либо в R1, либо в R2. Кортежи, которые находятся как в R1, так и в R2, появятся в отношении результата только один раз. Синтаксис:

 Отношение1 U Отношение2

Найдите человека, который является студентом или сотрудником, мы можем использовать оператора Union, например:

 СТУДЕНТ U СОТРУДНИК

Результат:

ROLL_NO Имя АДРЕС ТЕЛЕФОН ВОЗРАСТ
1 баран Дели 9455123451 18
2 РАМЕШ ГУРГАОН 9652431543 18
3 СУДЖИТ РОХТАК 9156253131 20
4 СЮРЕШ Дели 9156768971 18
5 НАРЕШ HISAR 9782918192 22
6 SWETA РАНЧИ 9852617621 21 год

Минус (-): Минус на двух отношениях R1 и R2 может быть вычислен, только если R1 и R2 совместимы с объединением . Оператор минус при применении к двум отношениям, поскольку R1-R2 даст отношение с кортежами, которые находятся в R1, но не в R2. Синтаксис:

 Отношение1 - Отношение2

Найдите человека, который является студентом, но не сотрудником, мы можем использовать оператор минус, например:

 СТУДЕНТ - СОТРУДНИК

РЕЗУЛЬТАТ:

ROLL_NO НАЗВАНИЕ АДРЕС ТЕЛЕФОН ВОЗРАСТ
2 РАМЕШ ГУРГАОН 9652431543 18
3 СУДЖИТ РОХТАК 9156253131 20

Rename (ρ): оператор Rename используется для присвоения отношения другому имени. Синтаксис:

 ρ (Отношение2, Отношение1)

Чтобы переименовать отношение СТУДЕНТ на СТУДЕНТ1, мы можем использовать оператор переименования, например:

 ρ (СТУДЕНТ1, СТУДЕНТ)

 Если вы хотите создать отношение STUDENT_NAMES с ROLL_NO и NAME из STUDENT, это можно сделать с помощью оператора переименования как:

 ρ (ИМЯ УЧАЩИХСЯ; ∏ (РОЛЛ_НО; ИМЯ) (УЧАЩИЕСЯ))

Операторы расширенной реляционной алгебры Обзор операторов реляционной алгебры

Вопросы по воротам за предыдущий год
http://quiz.geeksforgeeks.org/gate-gate-cs-2012-question-50/
http://quiz.geeksforgeeks.org/gate-gate-cs-2012-question-43/

Статья предоставлена Sonal Tuteja. Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше.