Bbdd 03 - modelo relacional

12
El modelo relacional Juan Pablo Sarubbi [email protected] Octubre 2013 ”Existen 10 clases de personas, los que conocen los números binarios, y los que no”

description

Bbdd 03 - modelo relacional

Transcript of Bbdd 03 - modelo relacional

Page 1: Bbdd 03 - modelo relacional

El modelo relacional

Juan Pablo [email protected]

Octubre 2013

”Existen 10 clases de personas, los que conocen los números binarios,

y los que no”

Page 2: Bbdd 03 - modelo relacional

Estructura de las BBDD relacionales

Estructura Básica

Atributos como cabeceras. Dominio como conjunto de valores permitidos. Matemáticamente, se redefine table y fila como relacion y tupla.

Esquema de la BBDD

Por convenio, se utilizan nombres en minúscula para renotar las relaciones y 1er. letra en mayúscula para los esquemas de relación

Los conceptos de clave primaria, superclave y clave candidata tambien son aplicables en el modelo relacional.

Lenguajes de consulta procedimentales y no procedimentales (sin definir el procedimiento de obtención)

Page 3: Bbdd 03 - modelo relacional

Estructura de las BBDD relacionales

Diagramas de esquema

Page 4: Bbdd 03 - modelo relacional

El álgebra relacional

Operaciones fundamentales

Selección (sigma): Selecciona tuplas que satisfacen un predicado.

Proyección (pi): Selecciona los atributos a listar.

Composición de operaciones relacionales:

Unión: Sumatoria de los elementos de dos conjuntos

Diferencia: Quita los elementos de un conjunto que este en otro.

Page 5: Bbdd 03 - modelo relacional

El álgebra relacional

Conjunto de operaciones algebráicas que operan sobre tablas y devuelven tablas como resultados

Operaciones fundamentales

Producto cartesiano (x): Permite combinar información de dos relaciones.

Renombramiento (rho)

ej.

Otras operaciones

Intersección:

ej.

Page 6: Bbdd 03 - modelo relacional

El álgebra relacional

Otras operaciones

Reunión Natural:

División (/): Las tuplas de R1 que esten en todas las de R2.

Todos los clientes que tengan abierta una cuenta en todas las sucursales ubicadas en Arganzuela.

Asignación (←): Para asignar una relación a una variable temporal.

Page 7: Bbdd 03 - modelo relacional

El álgebra relacional

Operaciones del álgebra relacional extendida

Proyección generalizada: Amplia la proyección permitiendo definir operaciones aritméticas.

Funciones de agregación (G caligráfica): Permiten tomar una colección de valores y devolver un único resultado.

Reunión externa: Ampliación de la operacion reunión (join) para poder trabajar con información faltante en alguna de las relaciones. Esta operación tiene tres formas de donde se añaden tuplas adicionales dependiendo el caso (left join, right joinm inner join).

Page 8: Bbdd 03 - modelo relacional

El álgebra relacional

Casos de Reuniones Externas

Reunión externa por la izquierda( ): Toma todas las tuplas de la relación de la izquierda que no coinciden con las de la derecha y las rellena con valores nulos.

Page 9: Bbdd 03 - modelo relacional

El álgebra relacional

Reunión externa por la derecha( ): Es simétrica a la reunión externa por la izquierda.

Reunión externa completa( ): Realiza ambas operaciones, rellenando las tuplas que no coincidan de la derecha con la izquierda y las de la izquierda con las de la derecha.

Page 10: Bbdd 03 - modelo relacional

Modificación de la BBDD

Modificación de la Base de datos

Borrado: Se expresan igual que las consultas, solo que en lugar de mostrar las tuplas, se eliminan de la BBDD.

Inserción: Se deben especificar las tuplas a insertar o escribir una consulta cuyo resultado sea el conjunto de tuplas a agregar.

Actualización: Este operador se utiliza para reemplazar el valor de uno o varios atributos (junto con el operador proyección) de una o varias tuplas (selección).

Ej. Incrementar los saldos mayores a 10.000 un 6% y el resto un 5%.

Page 11: Bbdd 03 - modelo relacional

Vistas

Ya sea por seguridad o para adaptar el modelo lógico a un tipo de usuario en concreto, se pueden generar relaciones virtuales denominadas Vistas.

Definición: CREATE VIEW v AS <expresion de consulta> Actualizaciones mediante vistas: Dependiendo el motor y la

estructura de las vistas, son operaciones permitidas o que pueden llegar a generar un error.

Vistas definidas a partir de vistas: La definición de la misma se genera a partir de la expresión de la vista declarada, y no de la vista en si misma.

Page 12: Bbdd 03 - modelo relacional

Fin de la Presentación

Proximo Capítulo:

SQL