Unidad 3. El Modelo de Bases de Datos Relacional

38
Módulo: Gestión de Bases de Datos Ciclo Formativo: Administración de Sistemas Informáticos y Redes Eva Tortosa Sánchez Dpto. Informática y Comunicaciones Diapositivas realizadas a partir de los apuntes elaborados por Eva Tortosa Sánchez para el módulo “Gestión de Bases de Datos” e inscritos en el Registro de la Propiedad Intelectual “SafeCreative” con todos los derechos reservados. Unidad 3: El Modelo de Bases de Datos Relacional 3.1 Introducción. 3.2 Estructura y elementos del modelo relacional. Conceptos básicos. 3.3 Restricciones. 3.4 Esquema de una relación. 3.5 Álgebra y cálculo relacional. 3.5.1 Operaciones básicas de Álgebra relacional. 3.6 Lenguajes relacionales. 3.7 Lenguaje de consulta estructurado o SQL.

description

El modelo de Bases de Datos Relacional. Estructura y elementos del modelo relacional. Restricciones. Álgebra relacional.

Transcript of Unidad 3. El Modelo de Bases de Datos Relacional

Page 1: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y Redes

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

Diapositivas realizadas a partir de los apuntes elaborados por Eva Tortosa Sánchez para el módulo “Gestión de Bases de Datos” e inscritos en el Registro de la Propiedad Intelectual “SafeCreative” con todos los derechos reservados.

Unidad 3: El Modelo de Bases de Datos Relacional

3.1 Introducción.3.2 Estructura y elementos del modelo relacional. Conceptos básicos.3.3 Restricciones.3.4 Esquema de una relación.3.5 Álgebra y cálculo relacional.

3.5.1 Operaciones básicas de Álgebra relacional.3.6 Lenguajes relacionales.3.7 Lenguaje de consulta estructurado o SQL.

Page 2: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Bases de Datos Relacionales.

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.1 IntroducciónComo vimos en la Unidad 2:==> Una Base de Datos es una colección de datos almacenados en un

soporte informático de acceso directo. Los datos de una base de datos están lógicamente relacionados entre sí y estructurados de acuerdo con un modelo capaz de recoger el máximo contenido semántico, describiendo, así, un modelo del mundo real.

==> Un Sistema Gestor de Bases de Datos es un conjunto coordinado de programas, procedimientos, lenguajes, etc.., que suministra, tanto a los usuarios informáticos, como no informáticos y al Administrador, los medios necesarios para describir, recuperar y manipular los datos integrados en la BD, asegurando su confidencialidad y seguridad.

Page 3: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Bases de Datos Relacionales.

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.1 Introducción

==> Las Bases de Datos se estructuran según un Modelo de Datos. Existen varios:

➢ Modelo Jerárquico (obsoleto)➢ Modelo en Red (obsoleto)➢ Modelo Relacional➢ Modelo Orientado a objtetos.➢ Modelo Relacional Orientado a Objetos➢ Modelo No Relacional o NoSQL

Page 4: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Bases de Datos Relacionales.

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.1 Introducción==> El modelo relacional se ha establecido como el principal modelo de datos para aplicaciones de procesamiento de datos y gestión de empresas, por lo que a partir de ahora nos centraremos en este modelo.

==> El modelo No Relacional (NoSQL) ==> Los datos en Internet tienen otras necesidades: Velocidad, Gran volumen de datos, ...

* Estas nuevas necesidades priman frente a la necesidad de Integridad y la No redundancia

Por tanto, hoy por hoy, si nuestro Sistema de Información es:1. Para gestionar datos de empresas, banca, etc. ==> Modelo relacional parece más adecuado2. Para gestionar empresa en Internet ==> Modelo No Relacional parece más adecuado

Page 5: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Bases de Datos Relacionales

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.2 Estructura y elementos del modelo relacionalEn el modelo Relacional:

DATOS ==> tablas organizadas en columnas (campos)RELACIONES ==> Asociaciones entre tablas a través de valores

comunes en ciertas columnas (Ej// codcliente de factura == codcliente de clientes)

Una BD Relacional ==> Colección de relaciones (tablas) normalizadas que varían en el tiempo.

Estructura de toda BD Relaciónal ==> Según mod. de ref. ANSI/SPARC

Nivel Interno ==> Definido mediante sentencias de DDLNivel Conceptual ==> Definido mediante sentencias de DDLNivel Externo ==> Definido mediante sentencias de DML y objetos como vistas

Page 6: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Bases de Datos Relacionales

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.2 Estructura y elementos del modelo relacional

Elementos del modelo Relacional:Entidad.- Objeto real o abstracto de interés para la empresa sobre la que se

almacena información Relación o Tabla relacional.- Estructura formada por filas y columnas que

sirve para almacenar los datos de una entidadTupla.- Cada fila de una tabla relacionalAtributo.- Cada columna de una tabla relacionalClave primaria.- Identificador de una sola fila de una tabla relacionalVista.- Subconjunto de una o varias tablas relacionadas definida mediante

operaciones relacionales, servirá para definir los subesquemas externosDominio.- Conjunto de valores posibles de un atributoGrado.- Número de atributos de una tabla relacionalCardinalidad.- Número de tuplas de una tabla relacional

Page 7: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Bases de Datos Relacionales

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

Características de una relación o tabla relacional

Page 8: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.3 Restricciones

Las RESTRICCIONES garantizan la INTEGRIDAD de los datos ==> Limitan los posibles valores de los datos.

NECESITAMOS SABER QUÉ ES:CLAVE PRIMARIA ==>

Campo o conjunto de campos que identifican univocamente a una sola fila de una tabla.

CLAVE FORÁNEA ==> Campo o conjunto de campos

que son clave primaria en la misma o en otra tabla

Page 9: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.3 RestriccionesCLAVE PRIMARIA ==>

CLAVE FORÁNEA ==>

• Una tabla ==> una clave primaria.• Menor núm. posible de atributos• Atributo/s de menor tamaño

posible

Page 10: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.3 RestriccionesEjercicio: Identifica

CLAVES PRIMARIAS ==> departamentos (numde)empleados (numem)alumnos (numexped)materias (codmateria)matriculas (codmateria,

numexped)CLAVES FORÁNEAS ==>

departamentos ---empleados (numde)alumnos ---materias ---matriculas (numexped)

(codmateria)

Page 11: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.3 RestriccionesEjercicio: Identifica

CLAVES PRIMARIAS ==> departamentos (numde)empleados (numem)alumnos (numexped)materias (codmateria)matriculas (codmateria,

numexped)CLAVES FORÁNEAS ==>

departamentos ---empleados (numde)alumnos ---materias ---matriculas (numexped)

(codmateria)

Page 12: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.3 Restricciones

TIPOSDE

RESTRICCIONES

DE USUARIO ==> Impuestas por los usuarios de la BD

Ej// Los empleados tienen un departamento

DE INTEGRIDAD DE CLAVE o ENTIDAD==> La clave primaria debe existir, es única y no

puede tomar valores nulos

Ej// El núm de empleado existe y es único para cada empleado, ya que lo identifica)

DE INTEGRIDAD REFERENCIAL==> No puede existir un valor donde es clave

foránea si no existe donde es clave primaria

Ej// No puede haber un empleado con un núm de depto que no exista en la tabla deptos

Page 13: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.3 Restricciones

PARA EL SEGUNDO EJEMPLO

DE USUARIO ==> Impuestas por los usuarios de la BDEj// Los alumnos se matriculan de 1 o más materias

DE INTEGRIDAD DE CLAVE o ENTIDAD==> La clave primaria debe existir, es única y no

puede tomar valores nulos Ej// El núm de expediente existe y es único para

cada alumno/a, ya que lo identificaDE INTEGRIDAD REFERENCIAL

==> No puede existir un valor donde es clave foránea si no existe donde es clave primaria

Ej// No puede haber un alumno/a matriculado de una materia que no exista

materiascodmateria nommateria ….

1 Matemáticas2 Lengua3 CCNN4 CCSS5 Inglés6 Francés

matriculanumexped nummateria nota

1 11 21 52 22 32 52 87

Page 14: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.3 Restricciones. EN LA RESTRIC DE INTEGR. REFERENCIAL SE PLANTEA:

OBJETIVO ==> Asegurar que después de la MODIFICACIÓN/ELIMINACIÓN de datos relacionados, la BD sigue siendo INTEGRA.

SOLUCIONES ==> Los SGBD Relacionales proponen varias posibilidades que utilizaremos según nuestras necesidades y la estructura de nuestra BD.

SOLUCIONES ANTE

MODIFICACIÓN/ ELIMINACIÓN

DE DATOS RELACIONADOS

A) RESTRINGIDA

B) EN CASCADA

C) ANULACIÓN

Podemos optar por distintas solucionesPara distintas tablas e incluso en la misma tabla para modificación / eliminación

Page 15: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.3 Restricciones. EJEMPLO

==> numde en la tabla EMPLEADOS es clave foranea ==> hace referencia a numde de la tabla DEPTOS

==> numde en la talba DEPTOS es clave primariaOPCIONES PARA LA RESTRICCIÓN DE INTEGRIDAD REFERENCIAL:OPCIÓN A)RESTRINGIDA en ELIMINACIÓN ==> No se permite eliminar un departamento si existen empleados de ese departamento

RESTRINGIDA en MODIFICACIÓN ==> No se permite modificar el código de departamento si existen empleados de ese departamentoOPCIÓN B) ELIMINACIÓN en CASCADA ==> Si eliminamos un departamento, se eliminarán en cascada todos los empleados de ese departamento

MODIFICACIÓN en CASCADA ==> Si modificamos el código de un departamento, se eliminarán en cascada todos los codigos de depto en la tabla empleados que tuvieran ese departamento

Page 16: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.3 Restricciones. SEGUIMOS CON NUESTRO EJEMPLO:

==> numde en la tabla EMPLEADOS es clave foranea ==> hace referencia a numde de la tabla DEPTOS

==> numde en la talba DEPTOS es clave primariaOPCIONES PARA LA RESTRICCIÓN DE INTEGRIDAD REFERENCIAL:OPCIÓN C)

ANULACIÓN en ELIMINACIÓN ==> Si eliminamos un departamento, se pondrá el valor NULL en todos números de deptos de los empleados de ese departamento

ANULACIÓN en MODIFICACIÓN ==> Si modificamos el código de un departamento, se pondrá el valor NULL en todos los codigos de depto en la tabla empleados que tuvieran ese departamento

NOTA ==> Podremos combinar las distintas opciones como creamos mejor, según el caso

EJ1// Eliminación restringida y modificación en cascadaEJ2// Eliminación en cascada y modificación en cascada…...

Page 17: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.4 Esquema de una Relación

➔ Es la estructura lógica de una tabla relacional en el esquema relacional.

➔ Para cada tabla relacional o relación, se representan todos sus atributos y sus dominios.

➔ Por simplicidad obviamos los dominios. ==> Suponemos que son evidentes dado su nombre

➔ La clave primaria se representará con un subrayado doble.

➔ Las claves foráneas se representarán mediante un asterisco (*) a la derecha del atributo o atributos que es o son clave foránea:

Ejercicio// Obtén el esquema de las relaciones de los ejemplos de las diapositivas anteriores

Page 18: Unidad 3. El Modelo de Bases de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional3.4 Esquema de una Relación. Ejercicios: Obtén los siguientes esquemas. Describe las claves foráneasEjercicio 1. Departamentos y Empleados

deptos(numde, nomde, presupuesto, ...)empleados(numem, numde*, nomem, extelem, fecnacim, fecingreso, …)

DESCRIPCIÓN DE CLAVES FORÁNEAS:deptos ==> no tiene empleados ==>

(numde) REFERENCES deptos(numde)

ON DELETE ON UPDATE

Ejercicio 2. Alumnos – Materias – Matrículas ==> Hazlo tú

Page 19: Unidad 3. El Modelo de Bases de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

EJERCICIOEn el siguiente Esquema de relaciones o relacional: elige las claves primarias y foráneas.Describe las claves foráneas teniendo en cuenta lo siguiente:

1. Podemos tener productos cuya categoría sea NULL2. No hay categorías sin proveedor3. No se pueden modificar datos de proveedores4. No puede haber un pedido sin producto

Page 20: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.5 Algebra y Cálculo RelacionalÁlgebra relacional==> Conj. de operaciones que opera con relaciones (tablas relacionales)==> El resultado de las operaciones siempres es otra relación (tab. Relacion.)==> Las operaciones se pueden anidar.

Cálculo relacional==> Mediante fórmulas, se opera sobre conjuntos de tuplas o vistas.==> El resultado es un conjunto de filas o vistas.Ejemplos de cálculo relacional http://users.dsic.upv.es/~emarzal/bda/PDF%20Anteriores/Tema2b_ejer.pdf

Page 21: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.5.1 Operaciones de Algebra Relacional

Operaciones básicas ==> SELECCIÓN PROYECCIÓN PRODUCTO CARTESIANO UNIÓN DIFERENCIA

Operaciones derivadas ==> INTERSECCIÓN REUNIÓN NATURAL (JOIN) DIVISIÓN AGRUPACIÓN

TODAS ==> Operan con 1 o 2 relaciones y como resultado obtienen otra relación

SON IMPRESCINDIBLES

SE PODRÍAN OBTENER COMBINANDO LAS BÁSICAS

Page 22: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.5.1 Operaciones de Algebra Relacional

0. OPERADOR DE ASIGNACIÓN (←)

Cuando necesitamos guardar el resultado de efectuar una o varias operaciones, de forma que podamos reutilizar dicho reusltado usaremos el operador de asignación:

RAUX ← R1 U R2

Esto es, la relación o tabla relacional RAUX contendrá el resultado de la operación

R1 U R2

Nota.- Tanto R1 como R2 son relaciones o tablas relacionales

Page 23: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.5.1 Operaciones de Algebra Relacional

1. SELECCIÓN – SELECT ==> SELECCIÓN DE FILAS QUE CUMPLAN UNA CONDICIÓN

➢ Operación unaria ==> Opera con una relación.

TAMBIÉN: R2 <--- (Cuando necesitemos reservar el resultado)

R ==> Una relación (tabla relacional)

P ==> Expresion/es lógica/s (<, >, =, <>, …) También combinadas con AND, OR

Page 24: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.5.1 Operaciones de Algebra Relacional

2. PROYECCIÓN – PROYECT ==> NOS QUEDAMOS CON LA/S COLUMNAS QUE NOS INTERESEN

➢ Operación unaria ==> Opera con una relación.

TAMBIÉN: R2 <--- (Cuando necesitemos reservar el resultado)

R ==> Una relación (tabla relacional)

A1,A2, An ==> Atributo/s separados por ',' También expresiones (+, *, concatenac, ...)

Page 25: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.5.1 Operaciones de Algebra Relacional

3. REUNIÓN NATURAL – JOIN ==> REUNIMOS 2 Ó MAS TABLAS HORIZONTALMENTE (columna a columna)

CADA FILA O TUPLA DE LA TABLA RESULTANTE ==>

SE REUNEN UNA FILA O TUPLA DE CADA TABLA PARA LAS QUE SE CUMPLE ==> COINCIDE EL VALOR DE LAS COLUMNAS

POR LAS QUE HACEMOS LA REUNIÓN

Operación binaria ==> Opera con más de una relación.Operación derivada ==> Podríamos obtener el mismo resultado combinando varias

operaciones básicas

Es una de las operaciones más útiles del modelo relacional

TAMBIÉN: R2 <--- (Cuando necesitemos reservar el resultado)

Page 26: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.5.1 Operaciones de Algebra Relacional

3. REUNIÓN NATURAL – JOIN ==> REUNIMOS 2 Ó MAS TABLAS HORIZONTALMENTE (columna a columna)

CADA FILA O TUPLA DE LA TABLA RESULTANTE ==>

SE REUNEN UNA FILA O TUPLA DE CADA TABLA PARA LAS QUE SE CUMPLE ==> COINCIDE EL VALOR DE LAS COLUMNAS

POR LAS QUE HACEMOS LA REUNIÓN

Operación binaria ==> Opera con más de una relación.Operación derivada ==> Podríamos obtener el mismo resultado combinando varias

operaciones básicas

Es una de las operaciones más útiles del modelo relacional

TAMBIÉN: R2 <--- (Cuando necesitemos reservar el resultado)

Page 27: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.5.1 Operaciones de Algebra Relacional

2. REUNIÓN NATURAL – JOIN a relación.EJEMPLO

R y S==> Relaciones (tablas relacionales)

REUNIMOS CADA FILA DE EMPLEADOS CON CADA FILA DE DEPTOS EN LAS QUE COINCIDA LOS CAMPOS DE REUNIÓN

Page 28: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.5.1 Operaciones de Algebra Relacional (select – proyect - join)

EJEMPLO.- Nombre de alumnos matriculados en la materia 2

matriculanumexped nummateria nota

1 11 21 52 22 32 52 87

numexped nomalumno diralumno …1 Juán C/ Agua2 María C/ Viento3 Isabel C/ Luz4 Lourdes C/ Andalucía5 Julián Avda. Del Mar

RESULTADOJuánMaría

1. R_AUX ←σ(1)(matricula)

2. R_AUX_2 ← alumnos (2) R_AUX

3. RESULTADO ←π(3) (R_AUX_2)

DONDE: (1) nummateria = 2 (2) alumnos.numexped = R_AUX.numexped (3) nomalumno

EN ÁLGEBRA RELACIONAL

En un solo paso:

RESULTADO ←π(3) (alumnos

(2) σ

(1)(matricula))

Page 29: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.5.1 Operaciones de Algebra Relacional (select – proyect - join)

EJEMPLO 2.- Dado el esquema relacional de nuestro centro, averigua el nombre de los alumnos matriculados en “Lengua”

materiascodmateria nommateria ….

1 Matemáticas2 Lengua3 CCNN4 CCSS5 Inglés6 Francés

matriculanumexped nummateria nota

1 11 21 52 22 32 52 87

numexped nomalumno diralumno …1 Juán C/ Agua2 María C/ Viento3 Isabel C/ Luz4 Lourdes C/ Andalucía5 Julián Avda. Del Mar

RESULTADOJuánMaría

ÁLGEBRARELACIONAL

Page 30: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.5.1 Operaciones de Algebra Relacional

EJEMPLO 2.- Dado el esquema relacional de nuestro centro, averigua el nombre de los alumnos matriculados en “Lengua”

VEÁMOSLO MÁS DESPACIO ==>

RESULTADO <== π(4)(σ

(1)(materias)

(2)matriculas

(3)alumnos)

(1) nommateria = 'Lengua'(2) materias.codmateria = matriculas.nummateria(3) matriculas.numexped = alumnos.numexped(4) alumnos.nomalumno

Buscamos la fila de la materia lengua

Reunimos la materia lengua con las matriculas y los alumnos matriculados

Por último, nos quedamos solo con el nombre del alumnado que es lo que nos interesa

Page 31: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.5.1 Operaciones de Algebra Relacional

4. UNIÓN ==> UNIMOS 2 Ó MAS TABLAS (VERTICALMENTE)

LAS TABLAS QUE QUERAMOS UNIR DEBEN CUMPLIR:

==> MISMO NÚMERO DE COLUMNAS (MISMO GRADO) ==> LAS COLUMNAS QUE OCUPEN LA MISMA POSICIÓN EN LAS

DISTINTAS TABLAS, DEBEN CONTENER EL MISMO TIPO DE DATOS(MISMO DOMINIO)

Operación binaria ==> Opera con más de una relación.Operación básica ==> No podemos obtener el mismo resultado combinando otras.

➢ Esta operación tiene muchas aplicaciones, por ejemplo nos va a permitir añadir filas nuevas a una tabla relacional, por ejemplo un alumno nuevo a la tabla alumnos.

Page 32: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.5.1 Operaciones de Algebra Relacional (union)

EJEMPLO.- Se acaba de matricular en nuestro centro “Sonia” cuya dirección es “Avda. Del Sol nº 9”

EN ÁLGEBRA RELACIONAL

alumnos←alumnos U (6,'Sonia','Avda. Del Sol nº 9','')

numexped nomalumno diralumno …1 Juán C/ Agua2 María C/ Viento3 Isabel C/ Luz4 Lourdes C/ Andalucía5 Julián Avda. Del Mar

U6 Sonia Avda. Del Sol, nº 9

alumnosnumexped nomalumno diralumno …

1 Juán C/ Agua2 María C/ Viento3 Isabel C/ Luz4 Lourdes C/ Andalucía5 Julián Avda. Del Mar

6 Sonia Avda. Del Sol, nº 9

Page 33: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.5.1 Operaciones de Algebra Relacional

5. DIFERENCIA ==> La diferencia entre dos tablas: R – S será una tabla que contendrá todas las filas de R que no estén en S.

R y S DEBEN CUMPLIR: ==> MISMO NÚMERO DE COLUMNAS (MISMO GRADO)

==> LAS COLUMNAS QUE OCUPEN LA MISMA POSICIÓN EN LAS DISTINTAS TABLAS, DEBEN CONTENER EL MISMO TIPO DE DATOS(MISMO DOMINIO)

Operación binaria ==> Opera con más de una relación.Operación básica ==> No podemos obtener el mismo resultado combinando otras.

➢ Esta operación tiene muchas aplicaciones, por ejemplo nos va a permitir eliminar filas filas de una tabla relacional, por ejemplo un alumno que se da de baja en nuestro centro.

Page 34: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.5.1 Operaciones de Algebra Relacional (diferencia)

EJEMPLO.- Nuestra alumna “Sonia” ha decidido darse de baja de nuestro centro.

EN ÁLGEBRA RELACIONAL

Primero ==> Debemos obtener la fila correspondiente

RAUX ←σ(1)(alumnos)

Donde:(1) nomalumno = 'Sonia'

Segundo ==> Le quitamos a alumnos la fila almacenada en RAUX

alumnos←alumnos – RAUXSi lo hacemos en un solo paso:

alumnos←alumnos – σ(1)(alumnos)

Donde:(1) nomalumno = 'Sonia'

numexped nomalumno diralumno …1 Juán C/ Agua2 María C/ Viento3 Isabel C/ Luz4 Lourdes C/ Andalucía5 Julián Avda. Del Mar

-6 Sonia Avda. Del Sol, nº 9

alumnosnumexped nomalumno diralumno …

1 Juán C/ Agua2 María C/ Viento3 Isabel C/ Luz4 Lourdes C/ Andalucía5 Julián Avda. Del Mar

6 Sonia Avda. Del Sol, nº 9

Page 35: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.5.1 Operaciones de Algebra Relacional Modificaciones = Union + Diferencia

En álgebra relacional no existe una operación de actualización o modificación, si no que una actualización implica:

1. Eliminar el registro, fila o tupla original

2. Insertar el regisro modificado

Page 36: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.5.1 Operaciones de Algebra Relacional Modificaciones = Union + Diferencia

EJEMPLO.- Hay un error en el nombre del alumno 1, ya que no se llama “Juan” sino “Juan Antonio”.

Primero ==> Debemos obtener la fila correspondiente al alumno 1

RAUX ←σ(1)(alumnos)

Donde:(1) numexped = 1

Segundo ==> Quitamos de alumnos la fila correspondiente a dicho alumno

alumnos←alumnos – RAUXTercero ==> Añadimos a alumnos el contenido de RAUX con el nombre modificado

alumnos←alumnos U (π(2)(RAUX), 'Juan Antonio',π

(3)(RAUX))

Donde:(2) numexpediente(3) diralumno, ...

Page 37: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

3.5.1 Operaciones de Algebra Relacional

CONTINUARÁ ...

Page 38: Unidad 3. El Modelo de Bases de Datos Relacional

Módulo: Gestión de Bases de DatosCiclo Formativo: Administración de Sistemas Informáticos y RedesUnidad 3: El Modelo de Base de Datos Relacional

Eva Tortosa Sánchez

Dpto. Informática y Comunicaciones

BIBLIOGRAFÍA