Рубрики

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

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

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

Таблица 1: STUDENT_SPORTS

ROLL_NOSPORTS
1Badminton
2Cricket
2Badminton
4Badminton

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

EMP_NONAMEADDRESSPHONEAGE
1RAMDELHI945512345118
5NARESHHISAR978291819222
6SWETARANCHI985261762121
4SURESHDELHI915676897118

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

ROLL_NONAMEADDRESSPHONEAGE
1RAMDELHI945512345118
2RAMESHGURGAON965243154318
3SUJITROHTAK915625313120
4SURESHDELHI915676897118

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

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

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

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

РЕЗУЛЬТАТ:

ROLL_NONAMEADDRESSPHONEAGE
3SUJITROHTAK915625313120

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

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

Извлеките ROLL_NO и NAME из отношения STUDENT, указанного в таблице 3

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

РЕЗУЛЬТАТ:

ROLL_NONAME
1RAM
2RAMESH
3SUJIT
4SURESH

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

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

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

Чтобы применить кросс-продукт для отношения STUDENT, указанного в таблице 1, и отношения STUDENT_SPORTS, указанного в таблице 2,

 STUDENT X STUDENT_SPORTS 

РЕЗУЛЬТАТ:

ROLL_NONAMEADDRESSPHONEAGEROLL_NOSPORTS
1RAMDELHI9455123451181Badminton
1RAMDELHI9455123451182Cricket
1RAMDELHI9455123451182Badminton
1RAMDELHI9455123451184Badminton
2RAMESHGURGAON9652431543181Badminton
2RAMESHGURGAON9652431543182Cricket
2RAMESHGURGAON9652431543182Badminton
2RAMESHGURGAON9652431543184Badminton
3SUJITROHTAK9156253131201Badminton
3SUJITROHTAK9156253131202Cricket
3SUJITROHTAK9156253131202Badminton
3SUJITROHTAK9156253131204Badminton
4SURESHDELHI9156768971181Badminton
4SURESHDELHI9156768971182Cricket
4SURESHDELHI9156768971182Badminton
4SURESHDELHI9156768971184Badminton

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

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

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

 СТУДЕНТ У РАБОТНИКА 

РЕЗУЛЬТАТ:

ROLL_NONAMEADDRESSPHONEAGE
1RAMDELHI945512345118
2RAMESHGURGAON965243154318
3SUJITROHTAK915625313120
4SURESHDELHI915676897118
5NARESHHISAR978291819222
6SWETARANCHI985261762121

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

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

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

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

РЕЗУЛЬТАТ:

ROLL_NONAMEADDRESSPHONEAGE
2RAMESHGURGAON965243154318
3SUJITROHTAK915625313120

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

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

Чтобы переименовать отношение STUDENT в STUDENT1, мы можем использовать оператор переименования, например:

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

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

 ρ (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. Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой теме

Рекомендуемые посты:

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

0.00 (0%) 0 votes