10. [Introducción a base de datos] - Introducción al Álgebra Relacional | Operaciones en las bases de datos

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 B
Ejemplo de unión

Como 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
Ejemplo de complemento


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


Ejemplo de subconjunto




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).
  1. Operaciones sobre conjuntos
    1. Union
    2. Interseccion
    3. Complemento
    4. Diferencia
    5. Diferencia simetrica
    6. Producto cartesiano
    7. Subconjuntos
  2. Operaciones sobre relaciones
    1. Permutaciones
    2. Seleccion
    3. Proyeccion
    4. 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)

Nube de imagenes