Operadores básicos en álgebra relacional

Conceptos básicos del modelo relacional: modelo relacional 

El álgebra relacional es un lenguaje de consulta procedimental que toma relaciones como entrada y las devuelve como salida. Hay algunos operadores básicos que se pueden aplicar en las relaciones para producir los resultados requeridos que discutiremos uno por uno. Usaremos las relaciones ESTUDIANTE_DEPORTES, EMPLEADO y ESTUDIANTE como se indica en la Tabla 1, Tabla 2 y Tabla 3 respectivamente para comprender los diversos operadores. 

Tabla 1: ESTUDIANTE_DEPORTES

ROLLO_NO DEPORTES
1 Bádminton
2 Grillo
2 Bádminton
4 Bádminton

 Tabla 2: EMPLEADO

EMP_NO NOMBRE DIRECCIÓN TELÉFONO AÑOS
1 RAM DELHI 9455123451 18
5 NARESH HISAR 9782918192 22
6 SWETA RANCHI 9852617621 21
4 SEGURO DELHI 9156768971 18

Tabla 3: ESTUDIANTE 

ROLLO_NO NOMBRE DIRECCIÓN TELÉFONO AÑOS
1 RAM DELHI 9455123451 18
2 RAMESH GURGAÓN 9652431543 18
3 SUJIT ROHTAK 9156253131 20
4 SEGURO DELHI 9156768971 18

El operador de selección se usa para seleccionar tuplas de una relación basada en alguna condición. Sintaxis: 

σ (Cond)(Relation Name)

Extraer estudiantes cuya edad sea mayor de 18 años de la relación ESTUDIANTE dada en la Tabla 3  

σ (AGE>18)(STUDENT)

[Nota: el operador SELECCIONAR no muestra ningún resultado, el operador de proyección debe llamarse antes que el operador de selección para generar o proyectar el resultado. Entonces, la sintaxis correcta para generar el resultado es : ∏(σ (EDAD>18)(ESTUDIANTE))]

RESULTADO: 

ROLLO_NO NOMBRE DIRECCIÓN TELÉFONO AÑOS
3 SUJIT ROHTAK 9156253131 20

El operador de proyección se usa para proyectar columnas particulares de una relación. Sintaxis:  

(Column 1,Column 2….Column n)(Relation Name)

Extraiga ROLL_NO y NAME de la relación ESTUDIANTE dada en la Tabla 3  

(ROLL_NO,NAME)(STUDENT)

RESULTADO:  

ROLLO_NO NOMBRE
1 RAM
2 RAMESH
3 SUJIT
4 SEGURO

Nota: Si la relación resultante después de la proyección tiene filas duplicadas, se eliminará. Por ejemplo, ∏ (DIRECCIÓN) (ESTUDIANTE) eliminará una fila duplicada con el valor DELHI y devolverá tres filas. 

El producto cruzado se utiliza para unir dos relaciones. Para cada fila de Relación1, cada fila de Relación2 se concatena. Si Relación1 tiene m tuplas y Relación2 tiene n tuplas, el producto cruzado de Relación1 y Relación2 tendrá m X n tuplas. Sintaxis: 

Relation1 X Relation2

Para aplicar el Producto Cruzado en la relación ESTUDIANTE dada en la Tabla 1 y la relación ESTUDIANTE_DEPORTES dada en la Tabla 2,  

STUDENT X STUDENT_SPORTS

RESULTADO: 

ROLLO_NO NOMBRE DIRECCIÓN TELÉFONO AÑOS ROLLO_NO DEPORTES
1 RAM DELHI 9455123451 18 1 Bádminton
1 RAM DELHI 9455123451 18 2 Grillo
1 RAM DELHI 9455123451 18 2 Bádminton
1 RAM DELHI 9455123451 18 4 Bádminton
2 RAMESH GURGAÓN 9652431543 18 1 Bádminton
2 RAMESH GURGAÓN 9652431543 18 2 Grillo
2 RAMESH GURGAÓN 9652431543 18 2 Bádminton
2 RAMESH GURGAÓN 9652431543 18 4 Bádminton
3 SUJIT ROHTAK 9156253131 20 1 Bádminton
3 SUJIT ROHTAK 9156253131 20 2 Grillo
3 SUJIT ROHTAK 9156253131 20 2 Bádminton
3 SUJIT ROHTAK 9156253131 20 4 Bádminton
4 SEGURO DELHI 9156768971 18 1 Bádminton
4 SEGURO DELHI 9156768971 18 2 Grillo
4 SEGURO DELHI 9156768971 18 2 Bádminton
4 SEGURO DELHI 9156768971 18 4 Bádminton

La unión en dos relaciones R1 y R2 solo se puede calcular si R1 y R2 son compatibles con la unión (estas dos relaciones deben tener el mismo número de atributos y los atributos correspondientes en dos relaciones tienen el mismo dominio). El operador de unión cuando se aplica en dos relaciones R1 y R2 dará una relación con tuplas que están en R1 o en R2. Las tuplas que están tanto en R1 como en R2 aparecerán solo una vez en la relación de resultados. Sintaxis: 

 Relation1 U Relation2

Encuentre una persona que sea estudiante o empleado, podemos usar operadores de la Unión como: 

STUDENT U EMPLOYEE

RESULTADO:  

ROLLO_NO NOMBRE DIRECCIÓN TELÉFONO AÑOS
1 RAM DELHI 9455123451 18
2 RAMESH GURGAÓN 9652431543 18
3 SUJIT ROHTAK 9156253131 20
4 SEGURO DELHI 9156768971 18
5 NARESH HISAR 9782918192 22
6 SWETA RANCHI 9852617621 21

El menos en dos relaciones R1 y R2 solo se puede calcular si R1 y R2 son compatibles con la unión . El operador menos cuando se aplica en dos relaciones como R1-R2 dará una relación con tuplas que están en R1 pero no en R2. Sintaxis: 

 Relation1 - Relation2

Encuentre una persona que sea estudiante pero no empleado, podemos usar el operador menos como:  

STUDENT - EMPLOYEE

RESULTADO:  

ROLLO_NO NOMBRE DIRECCIÓN TELÉFONO AÑOS
2 RAMESH GURGAÓN 9652431543 18
3 SUJIT ROHTAK 9156253131 20

El operador de cambio de nombre se utiliza para dar otro nombre a una relación. Sintaxis:  

ρ(Relation2, Relation1)

Para cambiar el nombre de la relación ESTUDIANTE a ESTUDIANTE1, podemos usar el operador de cambio de nombre como:  

ρ(STUDENT1, STUDENT)

Si desea crear una relación STUDENT_NAMES con ROLL_NO y NAME from STUDENT, puede hacerlo usando el operador de cambio de nombre como:  

ρ(STUDENT_NAMES, ∏(ROLL_NO, NAME)(STUDENT))

Operadores de álgebra relacional extendida                                         Descripción general de los operadores de álgebra relacional

Preguntas de Gate del año anterior 
https://www.geeksforgeeks.org/gate-gate-cs-2012-question-50/  
https://www.geeksforgeeks.org/gate-gate-cs-2012-question-43/

Artículo aportado por Sonal Tuteja. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *