Introducción
En el numero anterior, se conocieron conceptos y elementos que conforman la base de datos
Ahora, toca descubrir lo que se puede hacer con esa información, vamos mas allá de los "editar, agregar, borrar y actualizar", que bien son las acciones que podemos hacer, se le saca más partido si utilizamos el álgebra relacional. Y no solo eso, si no que también se utiliza para analizar la calidad de la base de datos. Así que es importante conocer el álgebra relacional, tal vez no dominarlo como un matemático super dotado (aquí somos "ingenieros"), pero si defendernos cuando lleguen problemas que se apoyen de este tema. Ya que no solo se usa en base de datos, también sirve para otras ramas de la ingeniería, una de ellas la optmizacion que se apoya de los programadores (pero eso es para otro tema).
Conjuntos
Unión
Dados los conjuntos A, B existe otro conjunto C tal que:
C contiene todos los elementos de A y BEjemplo de uniónComo se observa, no se repiten los elementos, solo aparecen una vez para indicar que el conjunto contiene ese elemento al realizar la unión
Intersección
Dados los conjuntos A, B existe otro conjunto C tal que:
C contiene los elementos comunes entre A y B
Ejemplo de intersección
Los elementos que son comunes en los elementos de intersección solicitados, son el resultado.
Complemento
Elementos que no están en A
Diferencia
Elementos que están en A pero no están en B
Ejemplo de diferencia
Diferencia simétrica
Elementos que están en A o en B, pero no en los dos conjuntos
Ejemplo de diferencia simetrica
Producto cartesiano
Todos los pares que se puedan formar combinando cada elemento de A con cada elemento de B
Ejemplo de producto cartesiano
Subconjunto
A es sub-conjunto de B,si todos los elementos de A también son elementos de B
Operaciones sobre relaciones
Selección
Tomar (seleccionar) un sub-conjuto de tuplas que cumplan una condición específica.
Por ejemplo
Permutación
Variar la disposición u orden en que estaban dos o más cosas
Por ejemplo
Proyección
Se refiere a tomar como base los atributos de una relación (tabla) para formar una relación diferente (una nueva tabla). Se denota con el signo de "pi" con los indices de la tabla que hacemos referencia para formar una nueva.
Por ejemplo
Unión Natural
Ahora vamos a voltear la tortilla. Si la proyección es formar una relación a partir de una. ¿Sera posible hacer la inversa? Es decir, JUNTAR LOS ATRIBUTOS DE VARIAS TABLAS para formar una nueva relacion "mas completa".
La diferencia con respecto con la proyección, es que aquí no dividimos los atributos para formar una relación, sino al contrario, juntamos atributos de varias relaciones (tablas) para formar una tabla mas completa.
Pregunta.
Si una proyección divide los atributos, y la unión natural junta los atributos.
¿Es posible reconstruir la información su hacemos su acción inversa?
La respuesta es no.
No todas las Proyecciones de una Relación pueden reconstruirse mediante una operación de Unión Natural porque no sabemos como eran las tuplas antes de deformarlos con estas operaciones.
Algo como cuando un niño es dado en adopción, sabemos que tenia unos padres, pero al separarse de ellos, lo único que se sabe es que era una mama y papa, SIN MAS INFORMACIÓN QUE NOS LLEVE (RELACIONE) A ELLOS, es imposible dejar a la familia como era antes (con sus padres originales).
Conclusiones
De igual forma, debes de llevarte bien claros estos conceptos, no es necesario que sepas al pie de la letra estos conceptos sin tener que revisar apuntes (o la entrada).
- Operaciones sobre conjuntos
- Union
- Interseccion
- Complemento
- Diferencia
- Diferencia simetrica
- Producto cartesiano
- Subconjuntos
- Operaciones sobre relaciones
- Permutaciones
- Seleccion
- Proyeccion
- Union natural
Estos conceptos tal vez ya se hallan visto en materias de formación básica para ingeniería, así que espero que estés algo familiarizado con estos conceptos, porque se pondrán en practica con cosas reales, base de datos. (Nunca me habían dicho las aplicaciones de estas cosas)