Основные операторы в реляционной алгебре
Основы реляционной модели: реляционная модель
Реляционная алгебра - это процедурный язык запросов, который принимает отношения в качестве входных данных и возвращает отношения в качестве выходных данных. Есть несколько основных операторов, которые можно применять к отношениям для получения требуемых результатов, которые мы обсудим один за другим. Мы будем использовать отношения 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. Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше.