Upload
ngocong
View
235
Download
0
Embed Size (px)
Citation preview
Tema II:
El modelo relacional de datos.(2.1)
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:
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.
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.
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
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
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
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:
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?
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
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
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)
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)
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
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”)
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
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).
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
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
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
.....
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
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]
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}
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
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.
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
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.
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.
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?
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
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
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
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))
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
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
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
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
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
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
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
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
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
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
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?
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
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))
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
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
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))
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
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)
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)
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)
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.
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.
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.
2.1.2 Álgebra Relacional.
Compatibilidad de relaciones:
Dos relaciones R y S sin compatibles si sus esquemas son idénticos
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
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
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.
{{(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.
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.
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.
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.
{{(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.
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.
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.
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
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
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
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”
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
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”
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
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.
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.
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”
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
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)
2.1.2 Álgebra Relacional.
Obtener los códigos de las provincias por las que pasa algún río)
Pasa_por[pcod]
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
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.
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
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)}
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
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:
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:
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
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
2.1.2 Álgebra Relacional.
“Obtener información sobre la docencia de BDA: nombre de los profesores y grupos asignados”
Ejemplo 1
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
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
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.
(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)
“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.
2.1.2 Álgebra Relacional.
“Obtener el código y el nombre de los departamentos que imparten asignaturas en el semestre 1A”
Ejemplo 2
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
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
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]
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.
“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.
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-λ
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
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
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.
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
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
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”
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:
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.
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
∪
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
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:
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.
“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
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
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”
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:
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.
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.
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:
“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
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.
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
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))
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.
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.
“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 )
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:
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]
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]
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]
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
2.1.2 Álgebra Relacional.
1. Obtener el código de los profesores que imparten asignaturas que no son de su departamento.
Ejercicio 1
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
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
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.
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
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
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 ]
2. Obtener el código de los profesores que tienen toda su docencia en la misma asignatura
2.1.2 Álgebra Relacional.
Ejercicio 2
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
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
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.
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
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
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 ]
A continuación…
EJERCICIOS