Requisito previo: Modelo relacional en DBMS
El álgebra relacional es un lenguaje de consulta procedimental. El álgebra relacional proporciona principalmente una base teórica para bases de datos relacionales y SQL . El objetivo principal de utilizar el álgebra relacional es definir operadores que transforman una o más relaciones de entrada en una relación de salida. Dado que estos operadores aceptan relaciones como entrada y producen relaciones como salida, pueden combinarse y usarse para expresar consultas potencialmente complejas que transforman potencialmente muchas relaciones de entrada (cuyos datos se almacenan en la base de datos) en una única relación de salida (los resultados de la consulta). . Como se trata de matemáticas puras, no se utilizan palabras clave en inglés en álgebra relacional y los operadores se representan mediante símbolos.
Operadores fundamentales
Estos son los operadores básicos/fundamentales utilizados en Álgebra Relacional.
- Selección(σ)
- Proyección(π)
- Unión(U)
- Establecer diferencia(-)
- Establecer intersección (∩)
- Cambiar nombre(ρ)
- Producto cartesiano(X)
1. Selección(σ): Se utiliza para seleccionar las tuplas requeridas de las relaciones.
Ejemplo:
A | B | C |
---|---|---|
1 | 2 | 4 |
2 | 2 | 3 |
3 | 2 | 3 |
4 | 3 | 4 |
Para la relación anterior, σ(c>3)R seleccionará las tuplas que tengan c más de 3.
A | B | C |
---|---|---|
1 | 2 | 4 |
4 | 3 | 4 |
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.
2. Proyección (π): Se utiliza para proyectar datos de columna requeridos de una relación.
explicar la independencia de los datos
Ejemplo: Considere la Tabla 1. Supongamos que queremos las columnas B y C de la Relación R.
π(B,C)R will show following columns.>
B | C |
---|---|
2 | 4 |
2 | 3 |
3 | 4 |
Nota: De forma predeterminada, la proyección elimina los datos duplicados.
3. Unión(U): La operación de unión en álgebra relacional es la misma que la operación de unión en la teoría de conjuntos.
Ejemplo:
FRANCÉS
Nombre del estudiante | Número_rollo |
---|---|
RAM | 01 |
Mohán | 02 |
Vivek | 13 |
Geeta | 17 |
ALEMÁN
Nombre del estudiante | Número_rollo |
---|---|
Vivek | 13 |
Geeta | 17 |
sham | 21 |
rohan | 25 |
Considere la siguiente tabla de estudiantes que tienen diferentes materias opcionales en su curso.
π(Student_Name)FRENCH U π(Student_Name)GERMAN>
Nombre del estudiante |
---|
RAM |
Mohán |
Vivek |
Geeta |
sham |
rohan |
Nota: La única restricción en la unión de dos relaciones es que ambas relaciones deben tener el mismo conjunto de Atributos.
4. Establecer diferencia (-): La diferencia de conjuntos en álgebra relacional es la misma operación de diferencia de conjuntos que en la teoría de conjuntos.
Ejemplo: De la tabla anterior de FRANCÉS y ALEMÁN, la diferencia establecida se utiliza de la siguiente manera
π(Student_Name)FRENCH - π(Student_Name)GERMAN>
Nombre del estudiante |
---|
RAM |
Mohán |
Nota: La única restricción en el conjunto de diferencias entre dos relaciones es que ambas relaciones deben tener el mismo conjunto de atributos.
5. Establecer intersección (∩): La intersección de conjuntos en álgebra relacional es la misma operación de intersección de conjuntos en la teoría de conjuntos.
Ejemplo: De la tabla anterior de FRANCÉS y ALEMÁN, la intersección establecida se utiliza de la siguiente manera
π(Student_Name)FRENCH ∩ π(Student_Name)GERMAN>
Nombre del estudiante |
---|
Vivek |
Geeta |
Nota: La única restricción en el conjunto de diferencias entre dos relaciones es que ambas relaciones deben tener el mismo conjunto de atributos.
6. Cambiar nombre (ρ): Cambiar nombre es una operación unaria utilizada para cambiar el nombre de los atributos de una relación.
ρ(a/b)R will rename the attribute 'b' of the relation by 'a'.>
7. Producto cruzado (X): Producto cruzado entre dos relaciones. Digamos A y B, por lo que el producto cruzado entre A X B 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.
Ejemplo:
matriz java dinámica
A
Nombre | Edad | Sexo |
---|---|---|
RAM | 14 | METRO |
hasta el final | 15 | F |
kim | 20 | METRO |
B
IDENTIFICACIÓN | Curso |
---|---|
1 | DS |
2 | SGBD |
AXB
Nombre | Edad | Sexo | IDENTIFICACIÓN | Curso |
---|---|---|---|---|
RAM | 14 | METRO | 1 | DS |
RAM | 14 | METRO | 2 | SGBD |
hasta el final | 15 | F | 1 | DS |
hasta el final | 15 | F | 2 | SGBD |
kim | 20 | METRO | 1 | DS |
kim | 20 | METRO | 2 | SGBD |
Nota: Si A tiene 'n' tuplas y B tiene 'm' tuplas, entonces A X B tendrá 'n*m' tuplas.
Operadores derivados
Estos son algunos de los operadores derivados, que se derivan de los operadores fundamentales.
- Unión natural(⋈)
- Unión condicional
1. Unión natural (⋈): La unión natural es un operador binario. La unión natural entre dos o más relaciones dará como resultado un conjunto de todas las combinaciones de tuplas que tienen un atributo común igual.
Ejemplo:
PEM
Nombre | IDENTIFICACIÓN | Nombre_departamento |
---|---|---|
A | 120 | ÉL |
B | 125 | HORA |
C | 110 | Ventas |
D | 111 | ÉL |
DEPARTAMENTO
Nombre_departamento | Gerente |
---|---|
Ventas | Y |
Producción | CON |
ÉL | A |
Unión natural entre EMP y DEPT con condición:
EMP.Nombre_Depto = DEPTO.Nombre_Depto
EMP ⋈ DEPTO
Nombre | IDENTIFICACIÓN | Nombre_departamento | Gerente |
---|---|---|---|
A | 120 | ÉL | A |
C | 110 | Ventas | Y |
D | 111 | ÉL | A |
2. Unión condicional: La unión condicional funciona de manera similar a la unión natural. En la unión natural, por defecto la condición es igual entre atributos comunes, mientras que en la unión condicional podemos especificar cualquier condición como mayor que, menor que o no igual.
Ejemplo:
R
IDENTIFICACIÓN | Sexo | Marcas |
---|---|---|
1 | F | 45 |
2 | F | 55 |
3 | F | 60 |
S
javac no es reconocido
IDENTIFICACIÓN | Sexo | Marcas |
---|---|---|
10 | METRO | 20 |
11 | METRO | 22 |
12 | METRO | 59 |
Unir entre R y S con condición R.marcas>= S.marcas
R.ID | R.Sex | R.Marcas | S.ID | S.Sex | S.Marcas |
---|---|---|---|---|---|
1 | F | 45 | 10 | METRO | 20 |
1 | F | 45 | 11 | METRO | 22 |
2 | F | 55 | 10 | METRO | 20 |
2 | F | 55 | 11 | METRO | 22 |
3 | F | 60 | 10 | METRO | 20 |
3 | F | 60 | 11 | METRO | 22 |
3 | F | 60 | 12 | METRO | 59 |
Cálculo relacional
Como el álgebra relacional es un lenguaje de consulta procedimental, el cálculo relacional es un lenguaje de consulta no procedimental. Básicamente se trata de los resultados finales. Siempre me dice qué hacer pero nunca me dice cómo hacerlo.
Hay dos tipos de cálculo relacional
- Cálculo relacional de tuplas (TRC)
- Cálculo relacional de dominio (RDC)
Artículos en profundidad:
Operadores-básicos-en-álgebra-relacional
Operadores de álgebra relacional extendida