1. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
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.
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.
2. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Bases de Datos Relacionales.
3.1 Introducción
Como 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.
3. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Bases de Datos Relacionales.
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
4. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Bases de Datos Relacionales.
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 adecuado
2. Para gestionar empresa en Internet
==> Modelo No Relacional parece más adecuado
5. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Bases de Datos Relacionales
3.2 Estructura y elementos del modelo relacional
En 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 DDL
Nivel Conceptual ==> Definido mediante sentencias de DDL
Nivel Externo ==> Definido mediante sentencias de DML y objetos como vistas
6. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Bases de Datos Relacionales
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 entidad
Tupla.- Cada fila de una tabla relacional
Atributo.- Cada columna de una tabla relacional
Clave primaria.- Identificador de una sola fila de una tabla relacional
Vista.- Subconjunto de una o varias tablas relacionadas definida mediante
operaciones relacionales, servirá para definir los subesquemas externos
Dominio.- Conjunto de valores posibles de un atributo
Grado.- Número de atributos de una tabla relacional
Cardinalidad.- Número de tuplas de una tabla relacional
7. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Bases de Datos Relacionales
Características de una relación o tabla relacional
8. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
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
9. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
3.3 Restricciones
CLAVE PRIMARIA ==>
•
•
•
CLAVE FORÁNEA ==>
Una tabla ==> una clave primaria.
Menor núm. posible de atributos
Atributo/s de menor tamaño
posible
10. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
3.3 Restricciones
Ejercicio: 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)
11. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
3.3 Restricciones
Ejercicio: 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)
12. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
3.3 Restricciones
TIPOS
DE
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
13. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
3.3 Restricciones
PARA EL SEGUNDO
EJEMPLO
numexped
matricula
nummateria nota
1
1
1
2
1
5
2
2
2
3
2
5
2
87
codmateria
DE USUARIO
==> Impuestas por los usuarios de la BD
Ej// 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 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 alumno/a matriculado de
una materia que no exista
materias
nommateria ….
1 Matemáticas
2 Lengua
3 CCNN
4 CCSS
5 Inglés
6 Francés
14. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
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.
Podemos optar por
SOLUCIONES
A) RESTRINGIDA
distintas soluciones
ANTE
Para distintas tablas e
MODIFICACIÓN/
B) EN CASCADA
incluso en la misma tabla
ELIMINACIÓN
para modificación /
DE DATOS
C) ANULACIÓN
eliminación
RELACIONADOS
15. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
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 primaria
OPCIONES 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 departamento
OPCIÓ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
16. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
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 primaria
OPCIONES 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 cascada
EJ2// Eliminación en cascada y modificación en cascada
…...
17. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
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
18. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
3.4 Esquema de una Relación.
Ejercicios: Obtén los siguientes esquemas. Describe las claves foráneas
Ejercicio 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ú
19. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
EJERCICIO
En 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 NULL
2. No hay categorías sin proveedor
3. No se pueden modificar datos de proveedores
4. No puede haber un pedido sin producto
20. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
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
21. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
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
22. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
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
23. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
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.
R ==> Una relación (tabla relacional)
P ==> Expresion/es lógica/s (<, >, =, <>, …)
También combinadas con AND, OR
TAMBIÉN: R2 <---
(Cuando necesitemos reservar el resultado)
24. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
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.
R ==> Una relación (tabla relacional)
A1,A2, An ==> Atributo/s separados por ','
También expresiones (+, *, concatenac, ...)
TAMBIÉN: R2 <---
(Cuando necesitemos reservar el resultado)
25. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
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
26. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
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
27. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
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
28. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
3.5.1 Operaciones de Algebra Relacional (select – proyect - join)
EJEMPLO.- Nombre de alumnos matriculados en la materia 2
numexped
numexped
matricula
nummateria nota
1
1
1
2
1
5
2
2
2
3
2
5
2
87
nomalumno
1 Juán
2 María
3 Isabel
4 Lourdes
5 Julián
EN ÁLGEBRA RELACIONAL
1. R_AUX ←σ(1)(matricula)
2. R_AUX_2 ← alumnos
diralumno
…
C/ Agua
C/ Viento
C/ Luz
C/ Andalucía
Avda. Del Mar
RESULTADO
Juán
María
(2)
R_AUX
3. RESULTADO ←π (R_AUX_2)
(3)
DONDE:
(1) nummateria = 2
(2) alumnos.numexped = R_AUX.numexped
(3) nomalumno
En un solo paso:
RESULTADO ←π
(3)
(alumnos
(2)
σ(1)(matricula))
29. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
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”
materias
codmateria
matricula
numexped
nummateria nota
1
1
1
2
1
5
2
2
2
3
2
5
2
87
numexped
nomalumno
1 Juán
2 María
3 Isabel
4 Lourdes
5 Julián
ÁLGEBRA
RELACIONAL
diralumno
…
C/ Agua
C/ Viento
C/ Luz
C/ Andalucía
Avda. Del Mar
nommateria ….
1 Matemáticas
2 Lengua
3 CCNN
4 CCSS
5 Inglés
6 Francés
RESULTADO
Juán
María
30. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
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”
Reunimos la materia lengua con las
matriculas y los alumnos matriculados
VEÁMOSLO MÁS DESPACIO ==>
π(4)(σ(1)(materias)
ᄎ
RESULTADO <==
Por último, nos
quedamos solo con
el nombre del
alumnado que es
lo que nos interesa
(2)
matriculas
(3)
alumnos)
Buscamos la fila de
la materia lengua
(1) nommateria = 'Lengua'
(2) materias.codmateria = matriculas.nummateria
(3) matriculas.numexped = alumnos.numexped
(4) alumnos.nomalumno
31. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
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.
32. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
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”
numexped
nomalumno
1 Juán
2 María
3 Isabel
4 Lourdes
5 Julián
diralumno
…
C/ Agua
C/ Viento
C/ Luz
C/ Andalucía
Avda. Del Mar
alumnos←alumnos U (6,'Sonia','Avda. Del Sol nº 9','')
U
6 Sonia
numexped
EN ÁLGEBRA RELACIONAL
Avda. Del Sol, nº 9
alumnos
nomalumno diralumno
…
1 Juán
C/ Agua
2 María
C/ Viento
3 Isabel
C/ Luz
4 Lourdes
C/ Andalucía
5 Julián
Avda. Del Mar
6 Sonia
Avda. Del Sol, nº 9
33. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
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.
34. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
3.5.1 Operaciones de Algebra Relacional (diferencia)
EJEMPLO.- Nuestra alumna “Sonia” ha decidido darse de baja de nuestro centro.
numexped
alumnos
nomalumno diralumno
…
1 Juán
C/ Agua
2 María
C/ Viento
3 Isabel
C/ Luz
4 Lourdes
C/ Andalucía
5 Julián
Avda. Del Mar
6 Sonia
Avda. Del Sol, nº 9
6 Sonia
numexped
nomalumno
1 Juán
2 María
3 Isabel
4 Lourdes
5 Julián
Avda. Del Sol, nº 9
diralumno
…
C/ Agua
C/ Viento
C/ Luz
C/ Andalucía
Avda. Del Mar
EN ÁLGEBRA RELACIONAL
Primero ==> Debemos obtener la fila correspondiente
RAUX ←σ (alumnos)
(1)
Donde:
(1) nomalumno = 'Sonia'
Segundo ==> Le quitamos a alumnos la fila
almacenada en RAUX
alumnos←alumnos – RAUX
Si lo hacemos en un solo paso:
alumnos←alumnos – σ (alumnos)
(1)
Donde:
(1) nomalumno = 'Sonia'
35. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
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
36. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
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 ←σ (alumnos)
(1)
Donde:
(1) numexped = 1
Segundo ==> Quitamos de alumnos la fila correspondiente a dicho alumno
alumnos←alumnos – RAUX
Tercero ==> Añadimos a alumnos el contenido de RAUX con el nombre modificado
alumnos←alumnos U (π
Donde:
(2) numexpediente
(3) diralumno, ...
(2)
(RAUX), 'Juan Antonio',π (RAUX))
(3)
37. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
3.5.1 Operaciones de Algebra Relacional
CONTINUARÁ ...
38. Eva Tortosa Sánchez
Dpto. Informática y Comunicaciones
Módulo:
Gestión de Bases de Datos
Ciclo Formativo: Administración de Sistemas Informáticos y Redes
Unidad 3:
El Modelo de Base de Datos Relacional
BIBLIOGRAFÍA