Álgebra relacional
Es el conjunto de operaciones encargadas de la manipulación de operaciones encargadas de la manipulación de datos agrupados(relaciones).
Estas operaciones describen la manipulación de datos. Son en sí, una representación intermedia de una consulta a una base de datos.
Al aplicarse una operación a una tabla, tengo como resultado otra tabla.
Operadores
De comparación(=,<,>,>=,<=,<>).
Conjunción.( ^ )
Disyunción.( v )
Negación.
Operaciones Unitarias:
- Seleccionar
- Proyectar
- Eliminar duplicados
Seleccionar(σ)
Selecciona el valor de ciertas tuplas.
σcondición(R)={t∈ R: condición (t)escierto}
Selecciona filas completas.
Por ejemplo, los “materiales que sean de acero”.
Proyectar (π)
Se encarga de seleccionar el valor de ciertos atributos de todas las tuplas que estan en una relación.
Seleccionar las columnas completas.
Proyectar (π) en SQL
Composición de Seleccionar y Proyectar(σ,π)
Eliminar tuplas duplicadas en una relación.
Operaciones Binarias:
Producto cartesiano:Operación binaria en donde se va a poder obtener una nueva tabla con los atributos de las dos tablas anteriores:
Ejemplo:
A={s,t,u}
B={x,y,z}
AxB={s,t,u}x{x,y,z}
{(s,x),(s,y),(s,z),(t,x),(t,y),(t,z),(u,x),(u,y),(u,z)}
La cardinalidad es |A x B|=|A||B|
Producto Cartesiano en SQL: SELECT * FROM R1, R2
Operaciones de Conjuntos:
Se trabajan sobre dos o más relaciones que sean compatibles.
Que los campos deben tener características comunes.
Unión: Esta operación retorna un conjunto de tuplas que estén en una o ambas relaciones que se asocian.
Intersección: Entrega la cantidad de tuplas que están en las dos relaciones.
Diferencia(-): Cantidad de tuplas que se encuentran en la primera relación pero no en la segunda, es importante diferenciar que no es lo mismo A - B, que B - A.
Join: Es equivalente a seleccionar las combinaciones completas del productos cartesiano. Algunos autores indican poner la condición de igualdad.
Join en SQL: SELECT * FROM R1, R2 WHERE R1.k = R2.K
Join en MYSQL: SELECT * FROM R1 JOIN R2 USING (k)
Join en MSSQL: SELECT * FROM R1 INER JOIN R2 ON R1.k = R2.K
LEFT JOIN/ RIGHT JOIN
JOIN elimina algunos datos.
Los que no están en las dos tablas
LEFT JOIN reemplaza los eliminados por valores nulos en la tabla de la izquierda.
RIGHT JOIN reemplaza los eliminados por valores nulos en la tabla de la derecha.
Referencias:
- Franco G. Polanco. (2006). Álgebra relacional. Recuperado el 5 de noviembre de 2015 de http://eii.ucv.cl/pers/guidi/cursos/estructuras/pdf/BD-Algebra%20relacional.pdf
- Fuentes. J (2011)"Lectura 3 - Álgebra Relacional: Select, Project, Join ". Recuperado el 09-06-2016 de http://csrg.inf.utfsm.cl/~jfuentes/_build/html/lectures/week1/lecture3.html
- Date, C.J. (2001). Introducción a los sistemas de bases de datos (7ª ed.). Prentice-Hall
No hay comentarios.:
Publicar un comentario