El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1...

148
Tema II: El modelo relacional de datos. (2.1)

Transcript of El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1...

Page 1: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

Tema II:

El modelo relacional de datos.(2.1)

Page 2: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

El modelo relacional de datos.

conocer las estructuras de datos del modelo: la tupla y la relación.conocer básicamente la forma de modelar la realidad utilizando el modelo relacional.conocer los mecanismos del modelo relacional para expresar restricciones de integridad.conocer los lenguajes de manipulación propuestos para este modelo de datos: Álgebra Relacional y Cálculo Relacional de Tuplas.

Objetivos:

Page 3: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1 Modelo relacional de datos (Aproximación algebraica).– 2.1.1 Estructuras de datos: tupla, relación.– 2.1.2 Operadores asociados a la estructura

relación: Álgebra Relacional.2.2 Esquema relacional: representación de la realidad.2.3 Modelo relacional de datos (Aproximación lógica)– 2.3.1 Interpretación lógica de una base de datos

relacional.– 2.3.2 Cálculo Relacional de Tuplas.

2.4 Restricciones de integridad.

El modelo relacional de datos.

Page 4: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

Reseñas históricas del Modelo Relacional de Datos

70’s: Propuesto por E. Codd en 1970

80’s: Se populariza en la práctica (Oracle, ...). ANSI define el estándar SQL.

90’s: Generalización y estandarización (SQL’92) y extensiones

Razones del éxito:

– Sencillez: una base de datos es “un conjunto de tablas”.

– Lenguaje declarativo.

Page 5: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

El MRD: Componentes y Perspectivas

MRD = Estructuras de datos + Operadores asociados

Estructuras de datos comunes:

– dominios– atributos– la tupla– la relación.

Dos grandes familias de operadores:– Algebraicos– Lógicos

Page 6: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

MRD: Terminología

Terminología Corriente (informática)

Tipos de datos

Campos / columnas

Registro / filas

Tabla

Terminología MRD (matemática)

Dominios

Atributos

Tupla

Relación

Page 7: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.1 Estructuras de datos: tupla, relación.

Tupla: tupla registro

Un esquema de tupla τ es un conjunto de pares de la forma:

τ = {(A1, D1), (A2, D2),…, (An, Dn)}

Un tupla de esquema τ= {(A1, D1), (A2, D2),…, (An, Dn)} es un conjunto de pares (nombre_atributo, valor) de la forma:

t = {(A1, v1), (A2, v2),…, (An, vn)} tal que ∀ i vi ∈ Di

Page 8: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.1 Estructuras de datos: tupla, relación

Consultar (t, Ai)

Asignar (t, Ai, wi)

t.Ait(Ai)

t.Ai ← wi t(Ai) ← wi

Operadores de la estructura tupla:

Consultar el valor de un atributo de una tupla:

Asignar un valor a un atributo de una tupla:

Page 9: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.1 Estructuras de datos: tupla, relaciónEjemplo:Dominios: dom_dni: entero

dom_nom: cadena (20)dom_dir: cadena (15)

Esquema de tupla:Persona = {(dni, dom_dni), (nombre, dom_nom), (dirección, dom_dir)}

Tuplat = {(dni, 12.345.678), (nombre, “Pepa Gómez”), (dirección, “Paz 10”)}

Operaciones:Consultar (t, nombre) = “Pepa Gómez”

Asignar (t, dirección, “Colón 15”) = {(dni, 12.345.678), (nombre, “Pepa Gómez”), (dirección, “Colón 15”)}

Ejercicio:¿Cómo quedarían las dos sentencias anteriores en notación punto y funcional?

Page 10: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.1 Estructuras de datos: tupla, relación

Una relación es un conjunto de tuplas del mismo esquema al que se denomina esquema de la relación

definición de una relación R de esquema {(A1, D1), (A2, D2),…, (An, Dn)}

R (A1:D1, A2:D2,…, An:Dn)

R = {t: t={(A1,v1), (A2,v2),…, (An,vn)} ∀ i vi ∈ Di}

esquema de R

relación R

definición de R

los dominios del esquema de una relación deben ser escalares

Page 11: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.1 Estructuras de datos: tupla, relación

Propiedades de una relación:

Grado de una relación: número de atributos de su esquema

Cardinalidad de una relación: número de tuplasque la forman

Compatibilidad: dos relaciones R y S son compatibles si sus esquemas son idénticos

Mismo conjunto de nombres de atributo y mismos dominios

Page 12: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.1 Estructuras de datos: tupla, relaciónEjemplo

Definición de una relación del esquema Persona:

Persona={ {(dni, 12.345.678), (nombre, “Pepa Gómez”), (dirección, “Colón 15”)}{(dni, 20.450.120),(nombre, “Juan Pérez”), (dirección, “Cuenca 20”) }{(nombre, “José Abad”),(dni, 12.904.569),(dirección, “Blasco Ibáñez 35)}{(nombre, “María Gutiérrez”),(dni, 35.784.843),(dirección, “Reina 7”)} }

• grado = 3• cardinalidad = 4 • compatible con relaciones de esquema

{(dni, dom_dni), (nombre, dom_nom), (dirección, dom_dir)}

Persona (dni: dom_dni, nombre:dom_nom, dirección:dom_dir)

Page 13: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.1 Estructuras de datos: tupla, relación

Representación tabular de una relación:

dni nombre dirección

20.450.120 Juan Pérez Cuenca 20

12.904.569 José Abad Blasco Ibáñez 35

35.784.843 María Gutiérrez Reina 7

12.345.678 Pepa Gómez Colón 15

Persona

Persona (dni: dom_dni, nombre:dom_nom, dirección:dom_dir)

Page 14: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.1 Estructuras de datos: tupla, relación

Representación tabular de una relación:

Concepción relacional

•relación

•atributo

•grado

•tupla

•cardinalidad

Concepción tabular

•tabla

•columna

•nº columnas

•fila

•nº filas

Page 15: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.1 Estructuras de datos: tupla, relación

se elige un orden para las tuplas: filas de la tabla.

se elige un orden para los atributos del esquema de la relación (dni, nombre, dirección): columnas de la tabla.

Representación tabular de una relación

{(nombre, “Juan Pérez”), (dni, 20.450.120), (dirección, “Cuenca 20”) }

(20.450.120, “Juan Pérez”, “Cuenca 20”)

Page 16: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.1 Estructuras de datos: tupla, relación

Representación tabular de una relación

El manejo de las relaciones no puede basarse en el orden elegido para los atributos, ni en el orden de las filas (es sólo una representación)

En una relación:

no existe un orden definido entre las tuplas

no existe un orden definido entre los atributos de una tupla

Page 17: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.1 Estructuras de datos: tupla, relación

Implementación de relaciones (estructuras proporcionadas por el S.O):– Ficheros indexados– Ficheros invertidos– Ficheros con direccionamiento calculado

por dispersión (hashing).

Page 18: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.1 Estructuras de datos: tupla, relación

Características fundamentales de una relación:– No existen tuplas repetidas.– No existe un orden entre las tuplas.– Los pares de una tupla no están

ordenados entre sí.– La estructura de datos relación admite

distintas implementaciones. RES

UM

EN

Page 19: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.1 Estructuras de datos: tupla, relación

Esquema relacional conjunto de definiciones de relaciones

Base de datos relacional

conjunto de relaciones (una por cada relación definida en el esquema)

RES

UM

EN

Page 20: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.1 Estructuras de datos: tupla, relación

Operadores de la estructura relación:insertar una tupla en una relación

borrar una tupla de una relación

seleccionar las tuplas de una relación que cumplen una condición

concatenar (unir) las tuplas de dos relaciones por el valor de uno (o varios) atributos.

unión de relaciones

diferencia de relaciones

intersección de relaciones

.....

Page 21: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.1 Estructuras de datos: tupla, relaciónPersona={ {(dni, 12.345.678), (nombre, “Pepa Gómez”), (dirección, “Colón 15”)}{(dni, 20.450.120), (nombre, “Juan Pérez”), (dirección, “Cuenca 20”) }{(nombre, “José Abad”),(dni, 12.904.569),(dirección, “Blasco Ibáñez 35)}{(nombre, “María Gutiérrez”),(dni, 35.784.843), (dirección, “Reina 7”)} }

Persona DONDE dni=12.345.678

t={(dni, 12.345.678), (nombre, “Pepa Gómez”), (dirección, “Colón 15”)}

t.nombre t.dirección

Pepa Gómez Colón 15

seleccionar tuplas de una relación

consultar un atributo de una tupla

Page 22: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.1 Estructuras de datos: tupla, relación

Operadores unarios o binarios -> Tienen como operandos 1 o dos relaciones y retornan otra relación.– Persona[dni,nombre]– Insertar(Persona, {(dni,44.564.876),(nombre,’Miguel

Donoso’),(dirección,’Blasco Ibañez 32’)})– Borrar(Persona, {(dni,44.564.876),(nombre,’Miguel

Donoso’),(dirección,’Blasco Ibañez 32’)})

Posibilidad de anidar operaciones.

– Persona DONDE dni > 20.000.000[nombre]

Page 23: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.1 Estructuras de datos: tupla, relaciónInformación desconocida:

¿Qué sucede cuando no se conoce el valor de un atributo para una tupla?

VALOR NULO

R (A1:D1, A2:D2,…, An:Dn)

R = {t: t={(A1,v1), (A2,v2),…, (An,vn)} ∀ i vi ∈ Di}

Page 24: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.1 Estructuras de datos: tupla, relaciónInformación desconocida:

t = {(dni, 11.940.861), (nombre, Eva López), (dirección, ?)}

• consultar(t,dni) → 11.940.861

• consultar (t, nombre) → “Eva López”

• consultar (t, dirección) → ?

se asume que en todo dominio existe un valor nulo --> (?)VALOR NULO

Page 25: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.1 Estructuras de datos: tupla, relación

t = {(dni, 11.940.861), (nombre, Eva López), (dirección, ?)}

• t.dni = 11.940.861 cierto

• t.nombre = “Julian López” falso

• t.dirección = “Jesús 93” indefinido

• NULO (t.dirección) cierto

El VALOR NULO representa la ausencia de valor, ausencia de información.

La presencia de valores nulos exige el uso de una lógica trivaluada y de predicados especiales.

Page 26: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

Lógica trivaluada: cierto falso indefinido

G H F = G ∧ H F = G ∨ H G F = ¬ G

falso falso falso falso falso cierto

indefinido falso falso indefinido indefinido indefinido

cierto falso falso cierto cierto falso

falso indefinido falso indefinido

indefinido indefinido indefinido indefinido

cierto indefinido indefinido cierto

falso cierto falso cierto

indefinido cierto indefinido cierto

cierto cierto cierto cierto

2.1.1 Estructuras de datos: tupla, relación

Page 27: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1 Modelo relacional de datos (Aproximación algebraica).– 2.1.1 Estructuras de datos: tupla, relación.– 2.1.2 Operadores asociados a la estructura

relación: Álgebra Relacional (Más tarde).2.2 Esquema relacional: representación de la realidad.2.3 Modelo relacional de datos (Aproximación lógica)– 2.3.1 Interpretación lógica de una base de datos

relacional.– 2.3.2 Cálculo Relacional de Tuplas.

2.4 Restricciones de integridad.

El modelo relacional de datos.

Page 28: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.2. Esquema relacional: representación de la realidad.

Ejemplo 2: S.Información: Las Universidades

Requisitos de Información:

De cada Universidad: código, nombre, rector, ciudad, y escuelas que la forman.

De cada Escuela: código, nombre, director y universidad a la que pertenece.

De cada Alumno: código, nombre, edad, cual es su escuela, que asignaturas cursa y en que horarios. (No cursará 2 estudios simultaneamente)

De cada Asignatura: código, nombre, cuantos alumnos estanmatriculados y quienes son.

Page 29: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.2. Esquema relacional: representación de la realidad.

¿Cómo organizar los datos que aparecen en los

requisitos de información en un conjunto de

estructuras relación?

Page 30: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.2. Esquema relacional: representación de la realidad.

Directrices:

satisfacer los requisitos de información

evitar redundancias

ajustarse a las estructuras de datos del modelo (relación)

los dominios deben ser escalares

Page 31: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.2. Esquema relacional: representación de la realidad.

N

1 N

cod_asg

nombre

Asignatura

cod_uni

nombre

director

teléfono

Universidad

cod_alm

nombre

edad

Alumnos

cod_esc

nombre

director

Escuela

NN

1

horario

Page 32: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.2. Esquema relacional: representación de la realidad.

Escuela (cod_esc: tira(5), nombre: tira(50), director tira(30))

Escuela

cod_esc nombre Director

EUI Escuela Universitaria de Informática V. Botti

BBAA Facultad de Bellas Artes A. Crespo

EIA Escuela de Ingenieria Aeronaútica P. Pérez

ETSIA Escuela Técnica superior de IngenierosAgrónomos

J. Linares

Page 33: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.2. Esquema relacional: representación de la realidad.

Universidad

cod_uni nombre rector ciudad

UPV Universidad Politécnica Valencia Justo Nieto Valencia

UV Universitat Valencia Juan Perez Valencia

UPM Universidad Politécnica Madrid Fermin C. Madrid

UOC Universitat Oberta Catalunya Joan P. Barcelona

UJI Universitat Jaume I Javier F. Castellón

Universidad (cod_uni : tira(3), nombre : tira(40), rector: tira(10), ciudad:tira(20))

Page 34: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.2. Esquema relacional: representación de la realidad.

Universidad

cod_uni nom bre rector ciudad

U P V U niversidad P o litécn ica V alencia Justo N ieto V alencia

U V U niversitat V alencia Juan P erez V alencia

U P M U niversidad P o litécn ica M adrid Ferm in C . M adrid

U O C U niversitat O berta C atalunya Joan P . B arcelona

U JI U niversitat Jaum e I Javier F . C astellón

cod_esc nombre Director

EUI Escuela Universitaria de Informática V. Botti

BBAA Facultad de Bellas Artes A. Crespo

EIA Escuela de Ingenieria Aeronaútica P. Pérez

ETSIA Escuela Técnica superior de IngenierosAgrónomos

J. Linares

Escuela

Page 35: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.2. Esquema relacional: representación de la realidad.

¿y la información relativa a que universidad pertenece cada

escuela?

Ncod_uni

nombre

director

teléfono

Universidad

cod_esc

nombre

director

Escuela

1

Page 36: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.2. Esquema relacional: representación de la realidad.

Escuela

cod_esc nombre Director

EUI Escuela Universitaria de Informática V. Botti

BBAA Facultad de Bellas Artes A. Crespo

EIA Escuela de Ingenieria Aeronaútica P. Pérez

ETSIA Escuela Técnica superior de IngenierosAgrónomos

J. Linares

cod_uni

UPV

UPV

UPM

UJI

Page 37: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.2. Esquema relacional: representación de la realidad.

Escuela (cod_esc: tira(5), nombre: tira(50), director tira(30), cod_uni:tira(3))

Escuela

cod_esc nombre Director Cod_uni

EUI Escuela Universitaria de Informática V. Botti UPV

BBAA Facultad de Bellas Artes A. Crespo UPV

EIA Escuela de Ingenieria Aeronaútica P. Pérez UPM

ETSIA Escuela Técnica superior de IngenierosAgrónomos

J. Linares UJI

Page 38: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.2. Esquema relacional: representación de la realidad.

atributo de referencia

atributo identificadorEscuela

cod_esc nombre Director Cod_uni

EUI Escuela Universitaria de Informática V. Botti UPV

BBAA Facultad de Bellas Artes A. Crespo UPV

EIA Escuela de Ingenieria Aeronaútica P. Pérez UPM

ETSIA Escuela Técnica superior de IngenierosAgrónomos

J. Linares UJI

Universidad

cod_uni nom bre rector ciudad

U P V U niversidad P o litécn ica V alencia Justo N ieto V alencia

U V U niversitat V alencia Juan P erez V alencia

U P M U niversidad P olitécn ica M adrid Ferm in C . M adrid

U O C U niversitat O berta C atalunya Joan P . B arcelona

U JI U niversitat Jaum e I Javier F . C astellón

Page 39: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.2. Esquema relacional: representación de la realidad.

¿cuáles son los datos de la Univeridad de la escuela

EIA?

Se pueden satisfacer los requisitos de

información

Escuelacod_esc nombre Director Cod_uni

EUI Escuela Universitaria de Informática V. Botti UPV

BBAA Facultad de Bellas Artes A. Crespo UPV

EIA Escuela de Ingenieria Aeronaútica P. Pérez UPM

ETSIA Escuela Técnica superior de IngenierosAgrónomos

J. Linares UJI

Universidad

cod_uni nom bre rector ciudad

U P V U niversidad P o litécn ica V alencia Justo N ieto V alencia

U V U niversitat V alencia Juan P erez V alencia

U P M U niversidad P olitécn ica M adrid Ferm in C . M adrid

U O C U niversitat O berta C atalunya Joan P . B arcelona

U JI U niversitat Jaum e I Javier F . C astellón

Page 40: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.2. Esquema relacional: representación de la realidad.

¿cuáles son los escuelas que forman la UPV?

Se pueden satisfacer los requisitos de

información

Escuelacod_esc nombre Director Cod_uni

EUI Escuela Universitaria de Informática V. Botti UPV

BBAA Facultad de Bellas Artes A. Crespo UPV

EIA Escuela de Ingenieria Aeronaútica P. Pérez UPM

ETSIA Escuela Técnica superior de IngenierosAgrónomos

J. Linares UJI

Universidad

cod_uni nom bre rector ciudad

U P V U niversidad P o litécn ica V alencia Justo N ieto V alencia

U V U niversitat V alencia Juan P erez V alencia

U P M U niversidad P olitécn ica M adrid Ferm in C . M adrid

U O C U niversitat O berta C atalunya Joan P . B arcelona

U JI U niversitat Jaum e I Javier F . C astellón

Page 41: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.2. Esquema relacional: representación de la realidad.

N

1 N

cod_asg

nombre

Asignatura

cod_uni

nombre

director

teléfono

Universidad

cod_alm

nombre

edad

Alumnos

cod_esc

nombre

director

Escuela

NN

1

horario

Page 42: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.2. Esquema relacional: representación de la realidad.

atributo de referencia

atributo identificadorEscuelas

cod_esc nombre Director Cod_uni

EUI Escuela Universitaria de Informática V. Botti UPV

BBAA Facultad de Bellas Artes A. Crespo UPV

EIA Escuela de Ingenieria Aeronaútica P. Pérez UPM

ETSIA Escuela Técnica superior de IngenierosAgrónomos

J. Linares UJI

Alumnos

cod_al nom bre E dad C od_esc

221 A nton io E stabén R uiz 19 E U I

115 Ferm in C erezo 30 E IA

4451 A na tom ás M iralles 33 B B A A

874 C atalina sacarés 22 E U I

111 Juan Lopez 20 E TSIA

Page 43: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.2. Esquema relacional: representación de la realidad.Escuelas

cod_esc nombre Director Cod_uni

EUI Escuela Universitaria de Informática V. Botti UPV

BBAA Facultad de Bellas Artes A. Crespo UPV

EIA Escuela de Ingenieria Aeronaútica P. Pérez UPM

ETSIA Escuela Técnica superior de IngenierosAgrónomos

J. Linares UJI

Alumnos

¿qué alumnos pertenecen a Bellas Artes?

cod_al nom bre E dad C od_esc

221 A nton io E stabén R uiz 19 E U I

115 Ferm in C erezo 30 E IA

4451 A na tom ás M iralles 33 B B A A

874 C atalina sacarés 22 E U I

111 Juan Lopez 20 E TSIA

Page 44: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.2. Esquema relacional: representación de la realidad.Escuelas

cod_esc nombre Director Cod_uni

EUI Escuela Universitaria de Informática V. Botti UPV

BBAA Facultad de Bellas Artes A. Crespo UPV

EIA Escuela de Ingenieria Aeronaútica P. Pérez UPM

ETSIA Escuela Técnica superior de IngenierosAgrónomos

J. Linares UJI

Alumnos

cod_al nom bre E dad C od_esc

221 A nton io E stabén R uiz 19 E U I

115 Ferm in C erezo 30 E IA

4451 A na tom ás M iralles 33 B B A A

874 C atalina sacarés 22 E U I

111 Juan Lopez 20 E TSIA

¿a qué escuela asiste Antonio Estabén?

Page 45: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.2. Esquema relacional: representación de la realidad.

N

1 N

cod_asg

nombre

Asignatura

cod_uni

nombre

director

teléfono

Universidad

cod_alm

nombre

edad

Alumnos

cod_esc

nombre

director

Escuela

NN

1

horario

Page 46: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.2. Esquema relacional: representación de la realidad.

Alumno

cod_alu nom bre E dad C od_esc

221 A nton io E stabén R uiz 19 E U I

115 Ferm in C erezo 30 E IA

4451 A na tom ás M iralles 33 B B A A

874 C atalina sacarés 22 E U I

111 Juan Lopez 20 E TSIA

Alumno (cod_alu: tira(5), nombre: tira(50), edad: entero, cod_esc:tira(5))

Page 47: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.2. Esquema relacional: representación de la realidad.

Asignatura

Asignatura (cod_asg: tira(5), nombre: tira(50))

cod_asg nombre

BDA Bases de Datos

AD1 Algoritmos y Estructuras de Datos 1

FCO Fundamentos de computadores

MAD Matemática Discreta

INT Inglés Técnico

FFI Fundamentos Físicos de la Informática

EC2 Estructuras de Computadores 2

Page 48: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.2. Esquema relacional: representación de la realidad.

Grupo

Grupo (cod_alu: tira(5),cod_asg: tira(3), horario: tira(10))

Cod_alu cod_asg Horario

115 BDA L- 08:30

225 AD1 L- 10:00

874 BDA L- 08:30

665 MAD X- 18:00

578 INT X– 18:00

14 FFI V- 12:00

952 INT X-18:00

Page 49: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.2. Esquema relacional: representación de la realidad.

Grupo (cod_alu: tira(5),cod_asg: tira(3), horario: tira(10))

Esquema relacional

Asignatura (cod_asg: tira(5), nombre: tira(50))

Alumno (cod_alu: tira(5), nombre: tira(50), edad: entero, cod_esc:tira(5))

Escuela (cod_esc: tira(5), nombre: tira(50), director tira(30),cod_uni:tira(3))

Universidad (cod_uni : tira(3), nombre : tira(40), rector: tira(10), ciudad:tira(20))

Page 50: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.2 Esquema relacional: representación de la realidad.

Más ejemplos:Esquema de información geográfica (Ríos y Provincias): Río, Provincia, Pasa_porPedidos en una empresa de construcción: Proveedor, Pieza, Proyecto, Pedido.Colección de discos: Compositor, Director, Obra, Disco, Está_en

Page 51: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

Esquema relacional: representación de la realidad.

Esquema de información geográfica (Ríos y Provincias): Río, Provincia, Pasa_por

Río(rcod: dom_rcod, nombre: dom_nom)Otros_Ríos(rcod: dom_rcod, nombre: dom_nom)Provincia( pcod: dom_pcod, nombre: dom_nom)Pasa_por (pcod: dom_pcod, rcod: dom_rcod)

Page 52: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

Esquema relacional: representación de la realidad.

Pedidos en una empresa de construcción: Proveedor, Pieza, Proyecto, Pedido.

Proveedor(vcod: dom_vcod, nombre: d_nom1, ciudad: d_ciu)Pieza (zcod: d_zcod, nombre: d_nom2, color: d_color, peso: d_peso, ciudad: d_ciu)Proyecto(ycod: d_ycod, nombre: d_nom3, ciudad: d_ciu)Pedido (vcod, zcod: d_zcod, ycod: d_ycod, cant: d_cant)

Page 53: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

Esquema relacional: representación de la realidad.

Colección de discos: Compositor, Director, Obra, Disco, Está_en

COMPOSITOR (nom_comp: d_nom, año: d_año, nación: d_nación)

OBRA (cod_obra: d_cod_obra, título: d_título, año: d_año, nom_comp: d_nom)

DISCO (ref: d_ref, nombre: d_nom, año: d_año, compañía: d_comp)

ESTÁ_EN (cod_obra: d_cod_obra, ref: d_ref, nom_dir: d_nom)

Page 54: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1 Modelo relacional de datos (Aproximación algebraica).– 2.1.1 Estructuras de datos: tupla, relación.– 2.1.2 Operadores asociados a la estructura

relación: Álgebra Relacional.2.2 Esquema relacional: representación de la realidad.2.3 Modelo relacional de datos (Aproximación lógica)– 2.3.1 Interpretación lógica de una base de datos

relacional.– 2.3.2 Cálculo Relacional de Tuplas.

2.4 Restricciones de integridad.

El modelo relacional de datos.

Page 55: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

Cood propuso dos lenguajes para su Modelo Relacional de Datos:– Algebra Relacional– Calculo Relacional

El Algebra Relacional consiste en un conjunto de operadores que actúan sobre las relaciones.

Page 56: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

R((Ai, Bi),…, (Aj, Bj)) =

{{(A1, v1),…, (Bi, vi),…, (Bj, vj),…, (An, vn)} |

{(A1, v1),…, (Ai, vi),…, (Aj, vj),…, (An, vn)} ∈ R}

Operador Renombrar:

Esquema de R: {(A1, D1),…, (Ai, Di),..., (Aj, Dj),..., (An, Dn) }

Equema de R((Ai, Bi),…, (Aj, Bj)):{(A1, D1),…, (Bi, Di),..., (Bj, Dj),..., (An, Dn) }

Cambiar temporalmente el nombre de un atributo en una relación.

Page 57: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

Compatibilidad de relaciones:

Dos relaciones R y S sin compatibles si sus esquemas son idénticos

Page 58: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

• inserción• borrado

• selección• proyección• concatenación• división

• unión• diferencia• intersección• producto cartesiano

operadores constructores

operadores consultores

operadores relacionales operadores conjuntistas

Page 59: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

• inserción• borrado

• selección• proyección• concatenación• división

• unión• diferencia• intersección• producto cartesiano

operadores constructores

operadores consultores

operadores relacionales operadores conjuntistas

Page 60: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

Operador Inserción:

Insertar(R, t) = R ∪ {t } (R y t han de tener el mismo esquema)

Insertar( Persona ,

{(nombre, “Manuel Sala”), (dni, 14.734.158), (dirección, “Cuenca 20”)} ),

2.1.2 Álgebra Relacional.

Page 61: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

{{(dni, 12.345.678), (nombre, “Pepa Gómez”), (dirección, “Colón 15”)}{(dni, 20.450.120), (nombre, “Juan Pérez”), (dirección, “Cuenca 20”) }{(nombre, “José Abad”), (dni, 12.904.569), (dirección, “Blasco Ibáñez 35)}{(nombre, “María Gutiérrez”), (dni, 35.784.843) (dirección, “Reina 7”)}{(nombre, “Manuel Sala”), (dni, 14.734.158), (dirección, “Cuenca 20”) } }

{{(dni, 12.345.678), (nombre, “Pepa Gómez”), (dirección, “Colón 15”)}{(dni, 20.450.120), (nombre, “Juan Pérez”), (dirección, “Cuenca 20”) }{(nombre, “José Abad”), (dni, 12.904.569), (dirección, “Blasco Ibáñez 35)}{(nombre, “María Gutiérrez”), (dni, 35.784.843), (dirección, “Reina 7”)}} ,

{(nombre, “Manuel Sala”), (dni, 14.734.158), (dirección, “Cuenca 20”)}

Insertar (

)

,

2.1.2 Álgebra Relacional.

Page 62: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

dni nombre dirección

20.450.120 Juan Pérez Cuenca 20

12.904.569 José Abad Blasco Ibáñez 35

35.784.843 María Gutiérrez Reina 7

12.345.678 Pepa Gómez Colón 15

Persona

(14.734.158, “Manuel Sala”,“Cuenca 20”)

INSERTAR

2.1.2 Álgebra Relacional.

Page 63: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

dni nombre dirección

20.450.120 Juan Pérez Cuenca 20

12.904.569 José Abad Blasco Ibáñez 35

35.784.843 María Gutiérrez Reina 7

12.345.678 Pepa Gómez Colón 15

147343158 Manuel Sala Cuenca 20

Persona

2.1.2 Álgebra Relacional.

Page 64: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

Operador Borrado:

Borrar(R, t) = R − {t } (R y t han de tener el mismo esquema)

Borrar(Persona,

{(nombre, “Manuel Sala”), (dni, 14.734.158), (dirección, “Cuenca 20”)} )

2.1.2 Álgebra Relacional.

Page 65: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

{{(dni, 12.345.678), (nombre, “Pepa Gómez”), (dirección, “Colón 15”)}{(dni, 20.450.120), (nombre, “Juan Pérez”), (dirección, “Cuenca 20”) }{(nombre, “José Abad”), (dni, 12.904.569), (dirección, “Blasco Ibáñez 35)}{(nombre, “María Gutiérrez”), (dni, 35.784.843), (dirección, “Reina 7”)}}

{{(dni, 12.345.678), (nombre, “Pepa Gómez”), (dirección, “Colón 15”)}{(dni, 20.450.120), (nombre, “Juan Pérez”), (dirección, “Cuenca 20”) }{(nombre, “José Abad”), (dni, 12.904.569), (dirección, “Blasco Ibáñez 35)}{(nombre, “María Gutiérrez”), (dni, 35.784.843), (dirección, “Reina 7”)}{(nombre, “Manuel Sala”), (dni, 14.734.158), (dirección, “Cuenca 20”)} }

{ (nombre, “Manuel Sala”), (dni, 14.734.158) (dirección, “Cuenca 20”)}

Borrar(

)

2.1.2 Álgebra Relacional.

Page 66: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

dni nombre dirección

20.450.120 Juan Pérez Cuenca 20

12.904.569 José Abad Blasco Ibáñez 35

35.784.843 María Gutiérrez Reina 7

12.345.678 Pepa Gómez Colón 15

147343158 Manuel Sala Cuenca 20

(14.734.158, “Manuel Sala”,“Cuenca 20”)

Borrar

Persona

2.1.2 Álgebra Relacional.

Page 67: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

dni nombre dirección

20.450.120 Juan Pérez Cuenca 20

12.904.569 José Abad Blasco Ibáñez 35

35.784.843 María Gutiérrez Reina 7

12.345.678 Pepa Gómez Colón 15

Persona

2.1.2 Álgebra Relacional.

Page 68: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

• inserción• borrado

• selección• proyección• concatenación• división

• unión• diferencia• intersección• producto cartesiano

operadores constructores

operadores consultores

operadores relacionales operadores conjuntistas

Page 69: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

Operador Selección:

R DONDE F = { t | t ∈ R y F(t) se evalúa a cierto}

Seleccionar las tuplas de una relación que cumplen una condición .

Esquema de R: {(A1, D1),…, (An, Dn)}

F es una expresión lógica.

Esquema de R DONDE F: {(A1, D1),…, (An, Dn)}

Sintaxis: Selección: Relaciónp X Condición -> Relaciónp

Page 70: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

Las condiciones son fórmulas que expresan propiedades sobre tuplas y se contruyen a partir de comparaciones.Las condiciones se construyen aplicando:– Toda comparación es una condición– Si F es una condición, entonces (F) también lo es.– Si F y G son condiciones, entonces también lo

son F v G, F ^ G y ¬ F– Nada más es una condición

Page 71: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

Asignatura DONDE cod_dep="DSIC"

2.1.2 Álgebra Relacional.

cod_asg nombre semestre teoría prac cod_dep

BDA Bases de Datos 2B 3 3 DSIC

AD1 Algoritmos y Estructuras de Datos 1 1A 4 2 DSIC

FCO Fundamentos de computadores 1A 4,5 4,5 DISCA

MAD Matemática Discreta 1A 3 3 MAT

INT Inglés Técnico 1B 3 3 IDM

FFI Fundamentos Físicos de laInformática

1A 3 3 FIS

EC2 Estructuras de Computadores 2 2A 3 3 DISCA

Asignatura

“Obtener las asignaturas adscritas al DSIC”

Page 72: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

cod_asg nombre semestre teoría prac cod_dep

BDA Bases de Datos 2B 3 3 DSIC

AD1 Algoritmos y Estructuras de Datos 1 1A 4 2 DSIC

2.1.2 Álgebra Relacional.

Asignatura DONDE cod_dep="DSIC"

Asignaturac o d _ a s g n o m b r e s e m e s tr e te o r ía p r a c c o d _ d e p

B D A B a s e s d e D a to s 2 B 3 3 D S IC

A D 1 A lg o r i tm o s y E s tru c tu ra s d e D a to s 1 1 A 4 2 D S IC

F C O F u n d a m e n to s d e c o m p u ta d o re s 1 A 4 ,5 4 ,5 D IS C A

M A D M a te m á tic a D is c re ta 1 A 3 3 M A T

IN T In g lé s T é c n ic o 1 B 3 3 ID M

F F I F u n d a m e n to s F ís ic o s d e laIn fo rm á t ic a

1 A 3 3 F IS

E C 2 E s tru c tu ra s d e C o m p u ta d o re s 2 2 A 3 3 D IS C A

Page 73: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

Asignatura DONDE semestre=“1A” ∨ semestre=“1B”

2.1.2 Álgebra Relacional.

cod_asg nombre semestre teoría prac cod_dep

BDA Bases de Datos 2B 3 3 DSIC

AD1 Algoritmos y Estructuras de Datos 1 1A 4 2 DSIC

FCO Fundamentos de computadores 1A 4,5 4,5 DISCA

MAD Matemática Discreta 1A 3 3 MAT

INT Inglés Técnico 1B 3 3 IDM

FFI Fundamentos Físicos de laInformática

1A 3 3 FIS

EC2 Estructuras de Computadores 2 2A 3 3 DISCA

Asignatura

“Obtener las asignaturas de primer curso”

Page 74: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

Asignatura DONDE semestre=“1A” ∨ semestre=“1B”

Asignaturac o d _ a s g n o m b r e s e m e s tr e te o r ía p r a c c o d _ d e p

B D A B a s e s d e D a to s 2 B 3 3 D S IC

A D 1 A lg o r i tm o s y E s tru c tu ra s d e D a to s 1 1 A 4 2 D S IC

F C O F u n d a m e n to s d e c o m p u ta d o re s 1 A 4 ,5 4 ,5 D IS C A

M A D M a te m á tic a D is c re ta 1 A 3 3 M A T

IN T In g lé s T é c n ic o 1 B 3 3 ID M

F F I F u n d a m e n to s F ís ic o s d e laIn fo rm á t ic a

1 A 3 3 F IS

E C 2 E s tru c tu ra s d e C o m p u ta d o re s 2 2 A 3 3 D IS C A

Page 75: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

cod_asg nombre semestre teoría prac cod_dep

AD1 Algoritmos y Estructuras de Datos 1 1A 4 2 DSIC

FCO Fundamentos de computadores 1A 4,5 4,5 DISCA

MAD Matemática Discreta 1A 3 3 MAT

INT Inglés Técnico 1B 3 3 IDM

FFI Fundamentos Físicos de laInformática

1A 3 3 FIS

2.1.2 Álgebra Relacional.

Page 76: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

Operador Proyección:

Esquema de R: {(A1, D1),…, (An, Dn)}

{Ai, Aj,…, Ak} es un subconjunto de atributo de R .

Esquema de R[Ai, Aj,…, Ak]: {(Ai, Di), (Aj, Dj),…,(Ak, Dk)}

R[Ai, Aj,…, Ak] = {{(Ai, vi), (Aj, vj),…, (Ak, vk)} |

∃ t ∈ R tal que {(Ai, vi), (Aj, vj),…,(Ak, vk)} ∈ t }

Obtener los valores de uno (o varios) atributos en una relación.

Page 77: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

Asignatura

cod_asg nombre semestre teoría prac cod_dep

BDA Bases de Datos 2B 3 3 DSIC

AD1 Algoritmos y Estructuras de Datos 1 1A 4 2 DSIC

FCO Fundamentos de computadores 1A 4,5 4,5 DISCA

MAD Matemática Discreta 1A 3 3 MAT

INT Inglés Técnico 1B 3 3 IDM

FFI Fundamentos Físicos de laInformática

1A 3 3 FIS

EC2 Estructuras de Computadores 2 2A 3 3 DISCA

Asignatura [cod_dep]

“Obtener los departamentos que tienen adscritas asignaturas”

Page 78: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

cod_dep

DSIC

MAT

IDM

FIS

DISCA

Asignatura [cod_dep]

Asignaturacod _asg n om b re sem estre teor ía p rac cod _d ep

B D A B ases de D atos 2B 3 3 D S IC

A D 1 A lgoritm os y E struc tu ras de D atos 1 1A 4 2 D S IC

F C O F undam en tos de com putadores 1A 4 ,5 4 ,5 D IS C A

M A D M atem ática D isc re ta 1A 3 3 M A T

IN T Ing lés T écn ico 1B 3 3 ID M

F F I F undam entos F ísicos de laIn fo rm ática

1A 3 3 F IS

E C 2 E struc tu ras de C om putadores 2 2A 3 3 D IS C A

Page 79: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

Esquema de ejemplo:

Río (rcod:dom_rcod, nombre: dom_nom)Otros_Ríos(rcod:dom_rcod, nombre:dom_nom)Provincia(pcod: dom_pcod, nombre: dom_nom)Pasa_Por(pcod: dom_pcod, rcod: dom_rcod)

Page 80: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

Obtener los códigos de las provincias por las que pasa algún río)

Pasa_por[pcod]

Page 81: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

los operadores del Álgebra Relacional se pueden combinar para satisfacer

consultas a la base de datos

expresiones de Álgebra Relacional

Page 82: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

Asignatura

cod_asg nombre semestre teoría prac cod_dep

BDA Bases de Datos 2B 3 3 DSIC

AD1 Algoritmos y Estructuras de Datos 1 1A 4 2 DSIC

FCO Fundamentos de computadores 1A 4,5 4,5 DISCA

MAD Matemática Discreta 1A 3 3 MAT

INT Inglés Técnico 1B 3 3 IDM

FFI Fundamentos Físicos de laInformática

1A 3 3 FIS

EC2 Estructuras de Computadores 2 2A 3 3 DISCA

“Obtener el nombre de las asignaturas adscritas al DSIC”

Asignatura DONDE cod_dep="DSIC” [nombre ]

2.1.2 Álgebra Relacional.

Page 83: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

nombre

Bases de Datos

Algoritmos y Estructuras de Datos 1

2.1.2 Álgebra Relacional.Asignatura

Asignatura DONDE cod_dep="DSIC” [nombre ]

c o d _ a s g n o m b r e s e m e s tr e te o r ía p r a c c o d _ d e p

B D A B a s e s d e D a to s 2 B 3 3 D S IC

A D 1 A lg o r i tm o s y E s tru c tu ra s d e D a to s 1 1 A 4 2 D S IC

F C O F u n d a m e n to s d e c o m p u ta d o re s 1 A 4 ,5 4 ,5 D IS C A

M A D M a te m á tic a D is c re ta 1 A 3 3 M A T

IN T In g lé s T é c n ic o 1 B 3 3 ID M

F F I F u n d a m e n to s F ís ic o s d e laIn fo rm á t ic a

1 A 3 3 F IS

E C 2 E s tru c tu ra s d e C o m p u ta d o re s 2 2 A 3 3 D IS C A

Page 84: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

R S ={{(A1,v1),…,(An,vn),(B1,w1),…,(Bm,wm), (C1,y1),…,(Cp,yp)}|

{(A1, v1),…, (An, vn), (B1, w1),…, (Bm, wm)} ∈ R y{(B1, w1),…, (Bm, wm), (C1, y1),…, (Cp, yp)} ∈ S }

Operador Concatenación (join) (I):

Esquema de R: {(A1,D1),…, (An, Dn), (B1, E1),…, (Bm, Em)}

Esquema de S: {(B1, E1),…, (Bm, Em), (C1, F1),…, (Cp, Fp)}

Unir tuplas de dos relaciones en función del valor de atributos comunes. atributos del mismo

nombre y dominio

Esquema de R S:

{(A1, D1),…, (An, Dn), (B1, E1),…, (Bm, Em), (C1, F1),…, (Cp, Fp)}

Page 85: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.Operador Concatenación (join) (II):

Asociativa y conmutativa.

Sintaxis: Concatenación: RelacionR X RelaciónS -> Relación(R U S)

Es derivado de Producto cartesiano, Selección y Proyección.

R S= (R X S ((B1, G1),.., (Bm, Gm))) DONDE (B1 = G1 ^ … ^ Bm = Gm)[A1,.,An, B1,.,Bm, C1,.,Cp]

Ejemplo: Pasa_Por Provincia

Page 86: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

pcod nombre

44 Teruel

46 Valencia

16 Cuenca

12 Castellón

=

pcod rcod

44 r1

46 r2

30 r2

20 r1

44 r3

12 r1

pcod nombre rcod

44 Teruel r1

46 Valencia r2

44 Teruel r3

12 Castellón r1

Operador Concatenación (join) (III) Ejemplo:

Page 87: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

pcod Nom

44 Terol

46 València

16 Conca

12 Castelló

=pcod rcod

43 r1

50 r2

30 r2

pcod Nom rcod

pcod Nom

44 Terol

46 València

16 Conca

scod rcod

44 r1

50 r2

=

pcod Nom scod rcod

44 Terol 44 r1

44 Terol 50 r2

46 València 44 r1

46 València 50 r2

16 Conca 44 r1

16 Conca 50 r2

2.1.2 Álgebra Relacional.Operador Concatenación (join) (IV) Ejemplo:

Page 88: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

en un esquema relacional las asociaciones entre relaciones se establecen por medio de referencias

explícitas

el operador concatenación permite unir tuplasde dos relaciones a través de los atributos de

referencia

2.1.2 Álgebra Relacional.

atributos de referencia

Page 89: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

cod_pro

nombre

teléfono

cod_dep

Profesor

cod_dep

nombre

director

teléfono

Departamento

cod_asg

nombre

semestre

teoría

prac

cod_dep

Asignatura

Esquema relacional

cod_pro

cod_asg

gteo

gpra

Docencia

2.1.2 Álgebra Relacional.atributos identificadores atributos de referencia

Page 90: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

“Obtener información sobre la docencia de BDA: nombre de los profesores y grupos asignados”

Ejemplo 1

Page 91: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

cod_asg nom bre sem estre teoría prac cod_dep

B D A B ases de D atos 2B 3 3 D SIC

A D 1 A lgoritm os yE structu ras de D atos 1

1A 4 2 D SIC

F C O Fundam entos decom putadores

1A 4,5 4 ,5 D ISC A

M A D M atem ática D iscreta 1A 3 3 M A T

IN T Inglés Técn ico 1B 3 3 ID M

FFI Fundam entos F ísicosde la In fo rm ática

1A 3 3 FIS

E C 2 E structu ras deC om putadores 2

2A 3 3 D ISC A

cod_pro nombre teléfono cod_dep

JCC Juan C. Casamayor Ródenas 7796 DSIC

RFC Robert Fuster i Capilla 6789 MAT

JBD José V. Benlloch Dualde 5760 DISCA

MAF María Alpuente Frasnedo 3560 DSIC

CPG Cristina Pérez Guillot 7439 IDM

JTM José M. Torralba Martínez 4590 OEM

IGP Ignacio Gil Pechuán 3423 OEM

DGT Daniel Gil Tomás 5679 DISCA

MCG Matilde Celma Giménez 7756 DSIC

cod_asg cod_pro gteo gpra

BDA JCC 2 4

MAD RFC 1 2

FCO DGT 2 2

AD1 MAF 1 1

INT CPG 1 0

EC2 JBD 2 0

BDA MCG 1 3

AD1 JCC 1 1

FCO JBD 2 2

AD1 MCG 1 1

2.1.2 Álgebra Relacional.

Docencia

Asignatura

Profesor

Page 92: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

cod_asg cod_pro gteo gpra

BDA JCC 2 4

MAD RFC 1 2

FCO DGT 2 2

AD1 MAF 1 1

INT CPG 1 0

EC2 JBD 2 0

BDA MCG 1 3

AD1 JCC 1 1

FCO JBD 2 2

AD1 MCG 1 1

cod_asg cod_pro gteo gpra

B D A JC C 2 4

B D A M C G 1 3

Docencia DONDE cod_asg = “BDA”

Docencia

Page 93: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

cod_asg cod_pro gteo gpra

B D A JC C 2 4

B D A M C G 1 3

Docencia DONDE cod_asg = “BDA”

cod_pro nombre teléfono cod_dep

JCC Juan C. Casamayor Ródenas 7796 DSIC

RFC Robert Fuster i Capilla 6789 MAT

JBD José V. Benlloch Dualde 5760 DISCA

MAF María Alpuente Frasnedo 3560 DSIC

CPG Cristina Pérez Guillot 7439 IDM

JTM José M. Torralba Martínez 4590 OEM

IGP Ignacio Gil Pechuán 3423 OEM

DGT Daniel Gil Tomás 5679 DISCA

MCG Matilde Celma Giménez 7756 DSIC

Profesor

cod_asg cod_pro nombre teléfono cod_dep gteo gpra

BDA JCC Juan C. CasamayorRódenas

7796 DSIC 2 4

BDA MCG Matilde CelmaGiménez

7756 DSIC 1 3

2.1.2 Álgebra Relacional.

Page 94: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

(Docencia DONDE cod_asg = “BDA” Profesor) [nombre, gteo, gpra ]

2.1.2 Álgebra Relacional.

cod_asg cod_pro nombre teléfono cod_dep gteo gpra

BDA JCC Juan C. CasamayorRódenas

7796 DSIC 2 4

BDA MCG Matilde CelmaGiménez

7756 DSIC 1 3

n om b re g teo gp raJu an C . C asam ayo r

R ó d en as2 4

M atild e C elm aG im én ez

1 3

(Docencia DONDE cod_asg = “BDA” Profesor)

Page 95: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

“Obtener información sobre la docencia de BDA: nombre de los profesores y grupos asignados”

( Docencia DONDE cod_asg = “BDA” Profesor) [nombre, gteo, gpra ]

2.1.2 Álgebra Relacional.

Page 96: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

“Obtener el código y el nombre de los departamentos que imparten asignaturas en el semestre 1A”

Ejemplo 2

Page 97: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

cod_dep nombre director teléfono

DSIC Sistemas Informáticos yComputación

V. Botti 3500

DISCA Ingeniería de Sistemas,Computadores y Automática

A. Crespo 5700

MAT Matemática Aplicada P. Pérez 6600

FIS Física Aplicada J. Linares 5200

IDM Idiomas B. Montero 5300

EIO Estadística e InvestigaciónOperativa

L. Barceló 4900

OEM Org. de Empresas, EconomíaFinanc. y Contabilidad

M. Pérez 6800

Asignatura

Departamento

cod_asg nombre semestre teoría prac cod_dep

BD A Bases de D atos 2B 3 3 D SIC

AD 1 Algoritm os yEstructuras de D atos 1

1A 4 2 D SIC

FC O Fundamentos decomputadores

1A 4,5 4,5 D ISCA

M AD M atem ática D iscreta 1A 3 3 M AT

IN T Inglés Técnico 1B 3 3 ID M

FFI Fundamentos Físicosde la Informática

1A 3 3 FIS

EC2 Estructuras deComputadores 2

2A 3 3 D ISCA

Page 98: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

cod_dep

DSIC

DISCA

MAT

FIS

Asignatura DONDE semestre=“1A” [cod_dep]

Asignaturacod _asg n om b re sem estre teor ía p rac cod _d ep

B D A B ases de D atos 2B 3 3 D S IC

A D 1 A lgoritm os y E struc tu ras de D atos 1 1A 4 2 D S IC

F C O F undam en tos de com putadores 1A 4 ,5 4 ,5 D IS C A

M A D M atem ática D isc re ta 1A 3 3 M A T

IN T Ing lés T écn ico 1B 3 3 ID M

F F I F undam entos F ísicos de laIn fo rm ática

1A 3 3 F IS

E C 2 E struc tu ras de C om putadores 2 2A 3 3 D IS C A

Page 99: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

Asignatura DONDE semestre=“1A” [cod_dep]

cod_dep nombre director teléfono

DSIC Sistemas Informáticos yComputación

V. Botti 3500

DISCA Ingeniería de Sistemas,Computadores y Automática

A. Crespo 5700

MAT Matemática Aplicada P. Pérez 6600

FIS Física Aplicada J. Linares 5200

IDM Idiomas B. Montero 5300

EIO Estadística e InvestigaciónOperativa

L. Barceló 4900

OEM Org. de Empresas, EconomíaFinanc. y Contabilidad

M. Pérez 6800

Departamento

Departamento

cod_dep

DSIC

DISCA

MAT

FIS

Asignatura DONDE semestre=“1A” [cod_dep]

Page 100: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

Asignatura DONDE semestre=“1A” [cod_dep] Departamento

cod_dep nombre director teléfono

DSIC Sistemas Informáticos yComputación

V. Botti 3500

DISCA Ingeniería de Sistemas,Computadores y Automática

A. Crespo 5700

MAT Matemática Aplicada P. Pérez 6600

FIS Física Aplicada J. Linares 5200

(Asignatura DONDE semestre=“1A” [cod_dep] Departamento )[cod_dep, nombre ]

cod_dep nombre

DSIC Sistemas Informáticos yComputación

DISCA Ingeniería de Sistemas,Computadores y Automática

MAT Matemática Aplicada

FIS Física Aplicada

2.1.2 Álgebra Relacional.

Page 101: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

“Obtener el código y el nombre de los departamentos que imparten asignaturas en el semestre 1A”

(Asignatura DONDE semestre=“1A” [cod_dep] Departamento )[cod_dep, nombre ]

2.1.2 Álgebra Relacional.

Page 102: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

R ÷ S ={{(A1,v1),…,(An,vn) | ∀ s ∈ S(s={B1,w1),…,(Bm,wm)} -> ∃ t ∈ R(t= {(A1, v1),…, (An, vn), (B1, w1),…, (Bm, wm)}))}

2.1.2 Álgebra Relacional.Operador División (I):

Esquema de R: {(A1,D1),…, (An, Dn), (B1, E1),…, (Bm, Em)}

Esquema de S: {(B1, E1),…, (Bm, Em)}

Unir tuplas de dos relaciones en función del valor de atributos comunes. atributos del mismo

nombre y dominio

Esquema de R ÷ S: {(A1, D1),…, (An, Dn)}Sintaxis: División: Relaciónp X Relacionλ -> Relaciónp-λ

Page 103: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.Operador División (II):

No cumple las propiedades asociativa ni conmutativa.

Sintaxis: División: Relaciónp X Relacionδ -> Relaciónp-δ

Es derivado de Producto cartesiano, Diferencia y Proyección.

R ÷ S= R[A1,…,An] – ((R[A1,…,An] X S) – R) [A1,…,An]

Ejemplo: Pasa_Por ÷ Provincia

Page 104: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

• inserción• borrado

• selección• proyección• concatenación• división

• unión• diferencia• intersección• producto cartesiano

operadores constructores

operadores consultores

operadores relacionales operadores conjuntistas

Page 105: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

R - S = { t : t ∈ R y t ∉ S } R y S deben ser compatibles

Operador Diferencia:

Esquema de R: {(A1,D1),…, (An, Dn) }

Esquema de S: {(A1,D1),…, (An, Dn) }

Equema de R - S: {(A1, D1),…, (An, Dn) }

Sintaxis: Diferencia: Relacionp X Relacionp -> Relacionp

Ejemplo: Río – Otros_Ríos

Obtener las tuplas que aparecen en una relación y no aparecen en la otra.

Page 106: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.“Obtener el código de los departamentos que no tienen adscritas asignaturas”

cod_dep nombre director teléfono

DSIC Sistemas Informáticos yComputación

V. Botti 3500

DISCA Ingeniería de Sistemas,Computadores y Automática

A. Crespo 5700

MAT Matemática Aplicada P. Pérez 6600

FIS Física Aplicada J. Linares 5200

IDM Idiomas B. Montero 5300

EIO Estadística e InvestigaciónOperativa

L. Barceló 4900

OEM Org. de Empresas, EconomíaFinanc. y Contabilidad

M. Pérez 6800

Departamento

Departamento [cod_dep]

cod_dep

DSIC

DISCA

MAT

FIS

IDM

EIO

OEM

códigos de todos los departamentos

Page 107: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.códigos de los departamentos que tienen adscritas asignaturas

cod_dep

DSIC

MAT

IDM

FIS

DISCA

Asignatura [cod_dep]

Asignaturacod _asg n om b re sem estre teor ía p rac cod _d ep

B D A B ases de D atos 2B 3 3 D S IC

A D 1 A lgoritm os y E struc tu ras de D atos 1 1A 4 2 D S IC

F C O F undam en tos de com putadores 1A 4 ,5 4 ,5 D IS C A

M A D M atem ática D isc re ta 1A 3 3 M A T

IN T Ing lés T écn ico 1B 3 3 ID M

F F I F undam entos F ísicos de laIn fo rm ática

1A 3 3 F IS

E C 2 E struc tu ras de C om putadores 2 2A 3 3 D IS C A

Page 108: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

-cod_dep

EIO

OEM=

cod_dep

DSIC

MAT

IDM

FIS

DISCA

Asignatura [cod_dep]

cod_dep

DSIC

DISCA

MAT

FIS

IDM

EIO

OEM

Departamento [cod_dep]

Departamento [cod_dep] - Asignatura [cod_dep]

“Obtener el código de los departamentos que no tienen adscritas asignaturas”

Page 109: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

pcod Nombre

44 Teruel

46 Valencia

12 Castellón

pcod Nombre

44 Teruel

46 Valencia

16 Cuenca

12 Castellón

45 Toledo

28 Madrid

12 Castelló

=

pcod Nombre

16 Cuenca

45 Toledo

28 Madrid

12 Castelló

Operador Diferencia Ejemplo:

Page 110: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

R ∪ S = { t : t ∈ R o t ∈ S } R y S han de ser compatibles

Operador Unión:

Esquema de R: {(A1,D1),…, (An, Dn) }

Esquema de S: {(A1,D1),…, (An, Dn) }

Esquema de R ∪ S: {(A1, D1),…, (An, Dn) }

Sintaxis: Unión: Relaciónp X Relaciónp -> Relaciónp

Asociativa y conmutativa

Ejemplo: Río U Otros_Ríos

Obtener las tuplas que aparecen en una o en otra relación.

Page 111: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

cod_dep nombre director teléfono

DSIC Sistemas Informáticos yComputación

V. Botti 3500

DISCA Ingeniería de Sistemas,Computadores y Automática

A. Crespo 5700

MAT Matemática Aplicada P. Pérez 6600

FIS Física Aplicada J. Linares 5200

IDM Idiomas B. Montero 5300

EIO Estadística e InvestigaciónOperativa

L. Barceló 4900

OEM Org. de Empresas, EconomíaFinanc. y Contabilidad

M. Pérez 6800

Departamento

“Añadir a la relación Departamento los departamentos que aparecenen la relación Nuevos_dpto”

cod_dep nombre director teléfono

DISA Ingenieria de Sistemas yAutomática

P.Albertos 3345

LSI Lenguajes y SistemasInformáticos

O.Pastor 5701

Nuevos_dpto

Page 112: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

cod_dep nombre director teléfono

DSIC Sistemas Informáticos yComputación

V. Botti 3500

DISCA Ingeniería de Sistemas,Computadores y Automática

A. Crespo 5700

MAT Matemática Aplicada P. Pérez 6600

FIS Física Aplicada J. Linares 5200

IDM Idiomas B. Montero 5300

EIO Estadística e InvestigaciónOperativa

L. Barceló 4900

OEM Org. de Empresas, EconomíaFinanc. y Contabilidad

M. Pérez 6800

DISA Ingeniería de Sistemas yAutomática

P.Albertos 3345

LSI Lenguajes y SistemasInformáticos

O.Pastor 5701

Departamento ∪ Nuevos_dpto

Page 113: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

pcod Nombre

44 Teruel

46 Valencia

16 Cuenca

12 Castellón

pcod Nombre

44 Teruel

46 Valencia

16 Cuenca

12 Castellón

45 Toledo

28 Madrid

12 Castelló

=

pcod Nombre

16 Cuenca

45 Toledo

28 Madrid

12 Castelló

Operador Unión Ejemplo:

Page 114: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

R ∩ S = { t | t ∈ R y t ∈ S} R y S han de ser compatibles

Operador Intersección:

Esquema de R: {(A1, D1),…, (An, Dn) }

Esquema de S: {(A1, D1),…, (An, Dn) }

Equema de R ∩ S: {(A1, D1),…, (An, Dn) }

Sintaxis: Intersección: Relaciónp X Relaciónp -> Relaciónp

Asociativa y conmutativa

Derivada: R∩ S = R – (R - S)

Obtener las tuplas que aparecen en una y en otra relación.

Page 115: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

“Obtener los departamentos que tienen adscritos profesores y asignaturas”

2.1.2 Álgebra Relacional.

Asignaturacod _asg n om b re sem estre teor ía p rac cod _d ep

B D A B ases de D atos 2B 3 3 D S IC

A D 1 A lgoritm os y E struc tu ras de D atos 1 1A 4 2 D S IC

F C O F undam en tos de com putadores 1A 4 ,5 4 ,5 D IS C A

M A D M atem ática D isc re ta 1A 3 3 M A T

IN T Ing lés T écn ico 1B 3 3 ID M

F F I F undam entos F ísicos de laIn fo rm ática

1A 3 3 F IS

E C 2 E struc tu ras de C om putadores 2 2A 3 3 D IS C A

departamentos que tienen adscritas asignaturas Asignatura [cod_dep]

cod_dep

DSIC

DISCA

MAT

IDM

FIS

Page 116: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

Profesor [cod_dep]

2.1.2 Álgebra Relacional.departamentos que tienen adscritos profesorescod_pro nombre teléfono cod_dep

JCC Juan C. Casamayor Ródenas 7796 DSIC

RFC Robert Fuster i Capilla 6789 MAT

JBD José V. Benlloch Dualde 5760 DISCA

MAF María Alpuente Frasnedo 3560 DSIC

CPG Cristina Pérez Guillot 7439 IDM

JTM José M. Torralba Martínez 4590 OEM

IGP Ignacio Gil Pechuán 3423 OEM

DGT Daniel Gil Tomás 5679 DISCA

MCG Matilde Celma Giménez 7756 DSIC

Profesor

cod_dep

MAT

DISCA

DSIC

IDM

OEM

Page 117: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

cod_dep

DSIC

DISCA

MAT

IDM

FIS

Asignatura [cod_dep]

cod_dep

MAT

DISCA

DSIC

IDM

OEM

Profesor [cod_dep]

cod_dep

DSIC

DISCA

MAT

IDM

DISCA

2.1.2 Álgebra Relacional.

Asignatura [cod_dep] ∩ Profesor [cod_dep]

“Obtener los departamentos que tienen adscritos profesores y asignaturas”

Page 118: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

pcod Nombre

44 Teruel

46 Valencia

16 Cuenca

12 Castellón

∩pcod Nombre

16 Cuenca=

pcod Nombre

16 Cuenca

45 Toledo

28 Madrid

12 Castelló

Operador Intersección Ejemplo:

Page 119: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

R × S =

{{(A1,v1), (A2,v2),…, (An,vn), (B1, w1), (B2, w2),…, (Bm, wm)}:

{(A1, v1), (A2, v2), …, (An, vn)} ∈ R y

{(B1, w1), (B2, w2), …, (Bm, wm)} ∈ S}

R y S no pueden tener nombre de atributos comunes

Operador Producto Cartesiano:

Esquema de R: {(A1,D1),…, (An, Dn) }

Esquema de S: {(B1, E1),…, (Bm, Em)}.

Esquema de R × S: {(A1, D1),…, (An, Dn), (B1, E1),…, (Bm, Em)}.

Sintaxis: Producto Cartesiano: Relaciónp x Relacións -> RelaciónRUS

Asociativa y conmutativa

Ejemplo: Río (nombre, nom_rio) X Provincia (npombre,nom_prov)

Unir tuplas de dos relaciones.

Page 120: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

A

a1

a2

a5

RB

b6

b3

S

x =A B

a1 b6

a1 b3

a2 b6

a2 b3

a5 b6

a5 b3

R x S

2.1.2 Álgebra Relacional.

Page 121: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

pcod nomprov

44 Teruel

46 Valencia

16 Cuenca

12 Castellón

×

pcod nomprov rcod nombre

44 Teruel r1 Sénia

44 Teruel r2 Túria

44 Teruel r3 Xúquer

46 Valencia r1 Sénia

46 Valencia r2 Túria

46 Valencia r3 Xúquer

16 Cuenca r1 Sénia

16 Cuenca r2 Túria

16 Cuenca r3 Xúquer

12 Castellón r1 Sénia

12 Castellón r2 Túria

12 Castellón r3 Xúquer

=

rcod nombre

r1 Sénia

r2 Túria

r3 Xúquer

Operador Producto Cartesiano Ejemplo:

Page 122: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

“Obtener el nombre de las asignaturas del semestre 1A y el nombre del departamento responsable de su docencia”

2.1.2 Álgebra Relacional.

Ejemplo 3

Page 123: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

Asignaturacod _asg n om b re sem estre teor ía p rac cod _d ep

B D A B ases de D atos 2B 3 3 D S IC

A D 1 A lgoritm os y E struc tu ras de D atos 1 1A 4 2 D S IC

F C O F undam en tos de com putadores 1A 4 ,5 4 ,5 D IS C A

M A D M atem ática D isc re ta 1A 3 3 M A T

IN T Ing lés T écn ico 1B 3 3 ID M

F F I F undam entos F ísicos de laIn fo rm ática

1A 3 3 F IS

E C 2 E struc tu ras de C om putadores 2 2A 3 3 D IS C A

Asignatura DONDE semestre=“1A” [nombre, cod_dep]

nombre cod_dep

Algoritmos y Estructuras de Datos 1 DSIC

Fundamentos de computadores DISCA

Matemática Discreta MAT

Fundamentos Físicos de laInformática

FIS

2.1.2 Álgebra Relacional.

Page 124: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

nombre cod_dep

Algoritmos y Estructuras de Datos 1 DSIC

Fundamentos de computadores DISCA

Matemática Discreta MAT

Fundamentos Físicos de laInformática

FIS

Asignatura DONDE semestre=“1A” [nombre, cod_dep]

cod_dep nombre director teléfono

DSIC Sistemas Informáticos yComputación

V. Botti 3500

DISCA Ingeniería de Sistemas,Computadores y Automática

A. Crespo 5700

MAT Matemática Aplicada P. Pérez 6600

FIS Física Aplicada J. Linares 5200

IDM Idiomas B. Montero 5300

EIO Estadística e InvestigaciónOperativa

L. Barceló 4900

OEM Org. de Empresas, EconomíaFinanc. y Contabilidad

M. Pérez 6800

Departamento

Page 125: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

nombre cod_dep

Algoritmos y Estructuras de Datos 1 DSIC

Fundamentos de computadores DISCA

Matemática Discreta MAT

Fundamentos Físicos de laInformática

FIS

Asignatura DONDE semestre=“1A” [nombre, cod_dep]

nom_asg cod_dep

Algoritmos y Estructuras de Datos 1 DSIC

Fundamentos de computadores DISCA

Matemática Discreta MAT

Fundamentos Físicos de laInformática

FIS

(Asignatura DONDE semestre=“1A” [nombre, cod_dep]) ((nombre, nom_asg))

Page 126: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

nom_asg cod_dep

Algoritmos y Estructuras de Datos 1 DSIC

Fundamentos de computadores DISCA

Matemática Discreta MAT

Fundamentos Físicos de laInformática

FIS

(Asignatura DONDE semestre=“1A” [nombre, cod_dep]) ((nombre, nom_asg))

cod_dep nombre director teléfono

DSIC Sistemas Informáticos yComputación

V. Botti 3500

DISCA Ingeniería de Sistemas,Computadores y Automática

A. Crespo 5700

MAT Matemática Aplicada P. Pérez 6600

FIS Física Aplicada J. Linares 5200

IDM Idiomas B. Montero 5300

EIO Estadística e InvestigaciónOperativa

L. Barceló 4900

OEM Org. de Empresas, EconomíaFinanc. y Contabilidad

M. Pérez 6800

Departamento

2.1.2 Álgebra Relacional.

Page 127: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

nom_asg cod_dep nombre director teléfono

Algoritmos yEstructuras de Datos 1

DSIC Sistemas Informáticos yComputación

V. Botti 3500

Fundamentos deComputadores

DISCA Ingeniería de Sistemas,Computadores y

Automática

A. Crespo 5700

Matemática Discreta MAT Matemática Aplicada P. Pérez 6600

Fundamentos Físicosde la Informática

FIS Física Aplicada J. Linares 5200

(Asignatura DONDE semestre=“1A” [nombre, cod_dep]) ((nombre, nom_asg)) Departamento

((Asignatura DONDE semestre=“1A” [nombre, cod_dep]) ((nombre, nom_asg))Departamento ) [nom_asg, nombre]

n o m _ a s g n o m b r e

A l g o r i t m o s yE s t r u c t u r a s d e D a t o s 1

S i s t e m a s I n f o r m á t i c o s yC o m p u t a c i ó n

F u n d a m e n t o s d eC o m p u t a d o r e s

I n g e n i e r í a d e S i s t e m a s ,C o m p u t a d o r e s y

A u t o m á t i c a

M a t e m á t i c a D i s c r e t a M a t e m á t i c a A p l i c a d a

F u n d a m e n t o s F í s i c o sd e l a I n f o r m á t i c a

F í s i c a A p l i c a d a

2.1.2 Álgebra Relacional.

Page 128: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

“Obtener el nombre de las asignaturas del semestre 1A y el nombredel departamento responsable de su docencia”

((Asignatura DONDE semestre=“1A”

[nom_asg, nombre]

2.1.2 Álgebra Relacional.

[nombre, cod_dep]) ((nombre, nom_asg))

Departamento )

Page 129: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

Prioridad en los operadores de Algebra Relacional:– Mayor prioridad: operadores unarios (Renombrar,

Selección y Proyección)– Menor prioridad: Unión, Intersección, Diferencia,

Concatenación, Producto Cartesiano y División.– Los operadores de igual nivel se evalúan de

izquierda a derecha.La prioridad se puede modificar haciendo uso de los paréntesis.Ejemplo:

Page 130: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

Ejemplo: Obtener el nombre de los ríos que sólo pasan por una provincia.

1º Obtenemos todos los ríos que pasan por alguna provincia.

Pasa_por[rcod]

Page 131: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

2º Obtenemos todos los ríos que pasan por al menos, dos provincias.

((Pasa_por(pcod, px) ►◄ Pasa_por) DONDE pcod ≠ px)[rcod]

Page 132: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

3º Restamos 1-2(Pasa_por[rcod] - ((Pasa_por(pcod, px) ►◄

Pasa_por) DONDE pcod ≠ px)[rcod])

Finalmente concatenamos con Río para obtener el nombre del río

((Pasa_por[rcod] - ((Pasa_por(pcod, px) ►◄Pasa_por) DONDE pcod ≠ px)[rcod]) ►◄

Río)[nombre]

Page 133: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

Ejercicios:1. Obtener el código de los profesores que imparten asignaturas que no son de su departamento.

2. Obtener el nombre de los profesores que tienen toda su docencia en la misma asignatura

Page 134: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

1. Obtener el código de los profesores que imparten asignaturas que no son de su departamento.

Ejercicio 1

Page 135: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

cod_asg nom bre sem estre teoría prac cod_dep

B D A B ases de D atos 2B 3 3 D SIC

A D 1 A lgoritm os yE structu ras de D atos 1

1A 4 2 D SIC

F C O Fundam entos decom putadores

1A 4,5 4 ,5 D ISC A

M A D M atem ática D iscreta 1A 3 3 M A T

IN T Inglés Técn ico 1B 3 3 ID M

FFI Fundam entos F ísicosde la In fo rm ática

1A 3 3 FIS

E C 2 E structu ras deC om putadores 2

2A 3 3 D ISC A

cod_pro nombre teléfono cod_dep

JCC Juan C. Casamayor Ródenas 7796 DSIC

RFC Robert Fuster i Capilla 6789 MAT

JBD José V. Benlloch Dualde 5760 DISCA

MAF María Alpuente Frasnedo 3560 DSIC

CPG Cristina Pérez Guillot 7439 IDM

JTM José M. Torralba Martínez 4590 OEM

IGP Ignacio Gil Pechuán 3423 OEM

DGT Daniel Gil Tomás 5679 DISCA

MCG Matilde Celma Giménez 7756 DSIC

cod_asg cod_pro gteo gpra

BDA JCC 2 4

MAD RFC 1 2

FCO DGT 2 2

AD1 MAF 1 1

INT CPG 1 0

EC2 JBD 2 0

BDA MCG 1 3

AD1 JCC 1 1

FCO JBD 2 2

AD1 MCG 1 1

2.1.2 Álgebra Relacional.

Docencia

Asignatura

Profesor

Page 136: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.Asignatura [cod_asg,cod_dep]

((cod_dep, dep_asg))

cod_asg dep_asg

BDA DSIC

MAD MAT

FCO DISCA

AD1 DSIC

INT IDM

EC2 DISCA

BDA DSIC

AD1 DSIC

FCO DISCA

AD1 DSIC

Profesor [cod_pro, cod_dep]

((cod_dep, dep_pro))

cod_pro dep_pro

JCC DSIC

RFC MAT

DGT DISCA

MAF DSIC

CPG IDM

JBD DISCA

MCG DSIC

JCC DSIC

JBD DISCA

MCG DSIC

Page 137: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

Asignatura [cod_asg,cod_dep]

((cod_dep, dep_asg))

cod_asg dep_asg

BDA DSIC

MAD MAT

FCO DISCA

AD1 DSIC

INT IDM

EC2 DISCA

BDA DSIC

AD1 DSIC

FCO DISCA

AD1 DSIC

Profesor [cod_pro, cod_dep]

((cod_dep, dep_pro))

cod_pro dep_pro

JCC DSIC

RFC MAT

DGT DISCA

MAF DSIC

CPG IDM

JBD DISCA

MCG DSIC

JCC DSIC

JBD DISCA

MCG DSIC

cod_asg cod_pro

BDA JCC

MAD RFC

FCO DGT

AD1 MAF

INT CPG

EC2 JBD

BDA MCG

AD1 JCC

FCO JBD

AD1 MCG

Docencia [cod_asg,cod_pro]

2.1.2 Álgebra Relacional.

Page 138: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

Docencia [cod_asg,cod_pro]

Profesor [cod_pro, cod_dep] ((cod_dep, dep_pro))

Asignatura [cod_asg,cod_dep] ((cod_dep, dep_asg))

2.1.2 Álgebra Relacional.

cod_asg dep_asg cod_pro dep_pro

BDA DSIC JCC DSIC

MAD MAT RFC MAT

FCO DISCA DGT DISCA

AD1 DSIC MAF DSIC

INT IDM CPG IDM

EC2 DISCA JBD DISCA

BDA DSIC MCG DSIC

AD1 DSIC JCC DSIC

FCO DISCA JBD DISCA

AD1 DSIC MCG DSIC

Page 139: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.cod_asg dep_asg cod_pro dep_pro

BDA DSIC JCC DSIC

MAD MAT RFC MAT

FCO DISCA DGT DISCA

AD1 DSIC MAF DSIC

INT IDM CPG IDM

EC2 DISCA JBD DISCA

BDA DSIC MCG DSIC

AD1 DSIC JCC DSIC

FCO DISCA JBD DISCA

AD1 DSIC MCG DSIC

Docencia [cod_asg,cod_pro]

Profesor [cod_pro, cod_dep] ((cod_dep, dep_pro)))

(Asignatura [cod_asg,cod_dep] ((cod_dep, dep_asg))

DONDE dep_pro ≠dep_asg

c o d _ a s g d e p _ a s g c o d _ p r o d e p _ p r o

Page 140: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

1. Obtener el código de los profesores que imparten asignaturas que no son de su departamento.

Docencia [cod_asg,cod_pro]

Profesor [cod_pro, cod_dep] ((cod_dep, dep_pro)))

(Asignatura [cod_asg,cod_dep] ((cod_dep, dep_asg))

DONDE dep_pro ≠dep_asg [cod_pro ]

Page 141: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2. Obtener el código de los profesores que tienen toda su docencia en la misma asignatura

2.1.2 Álgebra Relacional.

Ejercicio 2

Page 142: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.Docencia

cod_asg cod_pro gteo gpra

BDA JCC 2 4

MAD RFC 1 2

FCO DGT 2 2

AD1 MAF 1 1

INT CPG 1 0

EC2 JBD 2 0

BDA MCG 1 3

AD1 JCC 1 1

FCO JBD 2 2

AD1 MCG 1 1

Page 143: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

asg1 cod_pro

BDA JCC

MAD RFC

FCO DGT

AD1 MAF

INT CPG

EC2 JBD

BDA MCG

AD1 JCC

FCO JBD

AD1 MCG

Docencia [cod_asg,cod_pro] ((cod_asg, asg1))

asg2 cod_pro

BDA JCC

MAD RFC

FCO DGT

AD1 MAF

INT CPG

EC2 JBD

BDA MCG

AD1 JCC

FCO JBD

AD1 MCG

Docencia [cod_asg,cod_pro] ((cod_asg, asg2)))

(Docencia [cod_asg,cod_pro] ((cod_asg, asg1))

Docencia [cod_asg,cod_pro] ((cod_asg, asg2))) DONDE asg1 ≠ asg2

Page 144: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

asg1 cod_pro asg2

BDA JCC AD1

EC2 JBD FCO

BDA MCG AD1

DONDE asg1≠ asg2 [cod_pro ]

(Docencia [cod_asg,cod_pro] ((cod_asg, asg1))

Docencia [cod_asg,cod_pro] ((cod_asg, asg2)))

c o d _ p r o

J C C

J B D

M C Gprofesores que tienen docencia en al menos dos asignaturas

2.1.2 Álgebra Relacional.

Page 145: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

cod_pro

JCC

RFC

DGT

MAF

CPG

JBD

MCG

Docencia [cod_pro]

cod_asg cod_pro gteo gpra

BDA JCC 2 4

MAD RFC 1 2

FCO DGT 2 2

AD1 MAF 1 1

INT CPG 1 0

EC2 JBD 2 0

BDA MCG 1 3

AD1 JCC 1 1

FCO JBD 2 2

AD1 MCG 1 1

Docencia

2.1.2 Álgebra Relacional.

profesores que tienen docencia

Page 146: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

cod_pro

JCC

RFC

DGT

MAF

CPG

JBD

MCG

Docencia [cod_pro]

c o d _ p r o

J C C

J B D

M C G

(Docencia [cod_asg,cod_pro] ((cod_asg, asg1))

Docencia [cod_asg,cod_pro] ((cod_asg, asg2)))

DONDE asg1≠ asg2 [cod_pro ]

-

cod_pro

RFC

DGT

MAF

CPG

profesores que tienen toda la docencia en la misma asignatura

Page 147: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

2.1.2 Álgebra Relacional.

Docencia [cod_pro]

-

2. Obtener el código de los profesores que tienen toda su docencia en la misma asignatura

(Docencia [cod_asg,cod_pro] ((cod_asg, asg1))

Docencia [cod_asg,cod_pro] ((cod_asg, asg2)))

DONDE asg1≠ asg2 [cod_pro ]

Page 148: El modelo relacional de datos. (2.1) - users.dsic.upv.esusers.dsic.upv.es/~jdonoso/BDA/TEMA2-1 Miguel.pdf · El modelo relacional de datos. 9conocer las estructuras de datos del modelo:

A continuación…

EJERCICIOS