El álgebra relacional es un lenguaje de consulta procedimental, que toma una relación como entrada y genera una relación como salida. El álgebra relacional proporciona principalmente una base teórica para las bases de datos relacionales y SQL.
Operadores en Álgebra Relacional
Proyección (π)
La proyección se utiliza para proyectar los datos de columna necesarios de una relación.
Ejemplo :
R (A B C) ---------- 1 2 4 2 2 3 3 2 3 4 3 4
π (BC) B C ----- 2 4 2 3 3 4
Nota: Por defecto, la proyección elimina los datos duplicados.
Selección (σ)
La selección se utiliza para seleccionar las tuplas requeridas de las relaciones.
para la relación anterior
σ (c>3)R
seleccionará las tuplas que tienen c más de 3.
Nota: el operador de selección solo selecciona las tuplas requeridas pero no las muestra. Para la visualización, se utiliza el operador de proyección de datos.
Para las tuplas seleccionadas anteriormente, para mostrar también necesitamos usar proyección.
π (σ (c>3)R ) will show following tuples. A B C ------- 1 2 4 4 3 4
Unión (U)
La operación de unión en el álgebra relacional es la misma que la operación de unión en la teoría de conjuntos, solo la restricción es para la unión de dos relaciones, ambas relaciones deben tener el mismo conjunto de atributos.
Diferencia de conjuntos (-)
La diferencia de conjuntos en álgebra relacional es la misma operación de diferencia de conjuntos que en la teoría de conjuntos con la restricción de que ambas relaciones deben tener el mismo conjunto de atributos.
Renombrar (ρ)
Renombrar es una operación unaria utilizada para renombrar atributos de una relación.
ρ (a/b)R cambiará el nombre del atributo ‘b’ de la relación por ‘a’.
Producto cruzado (X)
El producto cruzado entre dos relaciones, digamos A y B, por lo que el producto cruzado entre AXB dará como resultado todos los atributos de A seguidos de cada atributo de B. Cada registro de A se emparejará con cada registro de B.
a continuación se muestra el ejemplo
A B (Name Age Sex ) (Id Course) ------------------ ------------- Ram 14 M 1 DS Sona 15 F 2 DBMS kim 20 M A X B Name Age Sex Id Course --------------------------------- Ram 14 M 1 DS Ram 14 M 2 DBMS Sona 15 F 1 DS Sona 15 F 2 DBMS Kim 20 M 1 DS Kim 20 M 2 DBMS
Nota: si A tiene ‘n’ tuplas y B tiene ‘m’ tuplas, entonces AXB tendrá ‘n*m’ tuplas.
Unión natural (⋈)
La unión natural es un operador binario. La unión natural entre dos o más relaciones resultará del conjunto de todas las combinaciones de tuplas donde tengan igual atributo común.
Veamos a continuación el ejemplo
Emp Dep (Name Id Dept_name ) (Dept_name Manager) ------------------------ --------------------- A 120 IT Sale Y B 125 HR Prod Z C 110 Sale IT A D 111 IT Emp ⋈ Dep Name Id Dept_name Manager ------------------------------- A 120 IT A C 110 Sale Y D 111 IT A
Unión condicional
La combinación condicional funciona de manera similar a la combinación natural. En la combinación natural, la condición predeterminada es igual entre los atributos comunes, mientras que en la combinación condicional podemos especificar cualquier condición, como mayor que, menor que, no igual
Veamos a continuación el ejemplo
R S (ID Sex Marks) (ID Sex Marks) ------------------ -------------------- 1 F 45 10 M 20 2 F 55 11 M 22 3 F 60 12 M 59 Join between R And S with condition R.marks >= S.marks R.ID R.Sex R.Marks S.ID S.Sex S.Marks ----------------------------------------------- 1 F 45 10 M 20 1 F 45 11 M 22 2 F 55 10 M 20 2 F 55 11 M 22 3 F 60 10 M 20 3 F 60 11 M 22 3 F 60 12 M 59
Artículos detallados:
Operadores-básicos-en-álgebra- relacional Operadores de álgebra relacional extendida Los
siguientes son preguntas de puerta del año anterior
https://www.geeksforgeeks.org/gate-gate-cs-2012-question-50/
https://www .geeksforgeeks.org/gate-gate-cs-2012-question-43/
Referencias:
https://en.wikipedia.org/wiki/Relational_algebra
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