http://es.wikipedia.org/wiki/Álgebra_relacional
BASES DE DATOSJOSÉ CUARTAS
ALGEBRA RELACIONAL
Dr. Edgar Frank Codd,_(database) matemático y científico de la computación
publicó en 1970 el artículo A Relational Model of Data for Large Shared Data
Banks, algo así como Un modelo de datos relacional para grandes bancos de
datos compartidos, donde definió lo siguiente.
– Los sistemas de bases de datos deberían presentarse a los usuarios con una
visión de los datos organizados en estructuras llamadas relaciones,
definidas como conjuntos de tuplas (filas), una relación puede haber
cualquier estructura de datos compleja que permita una respuesta rápida a
una variedad de consultas.
– el usuario de un sistema relacional sólo debía preocuparse por el qué
consultar y no el cómo de las estructuras de almacenamiento.
“El contenido entero de una base de datos relacional se representa por
una y sola una forma, a saber: como valores de atributos en tuplas dentro
de relaciones” E. F. Codd
BASES DE DATOSJOSÉ CUARTAS
Historia
• Algebra: Sistema matématico que consite de:
• Los operandos --- variables o valores de los que los nuevos valores se
puede construir.
• Los operadores --- símbolos que denotan procedimientos que construyen
nuevos valores a partir de valores dado.
• http://es.wikipedia.org/wiki/Álgebra
• Algebra Relacional: Colección de operaciones que sirven para
manipular relaciones enteras.
• El resultado de una operación es una nueva relación, la cual también se
puede manipular.
• http://es.wikipedia.org/wiki/Álgebra_relacional
• Operandos: Relaciones o variables que representan las relaciones
• http://es.wikipedia.org/wiki/Operando
• Operadores: Son diseñados para hacer las cosas más comunes que con
las relaciones en una base de datos.
• El resultado es un álgebra que se puede utilizar como un lenguaje de
consulta para las relaciones (ejemplo SQL).
• http://es.wikipedia.org/wiki/Operador
BASES DE DATOSJOSÉ CUARTAS
Definamos los términos:
• Matemáticas de conjunto:
– La unión
– La intersección
– La diferencia
– producto cartesiano
BASES DE DATOSJOSÉ CUARTAS
• Operaciones especificas de las DB:
– Selección
– Proyectar
– Agregación
– Reunión (JOIN)
Unarias: operan con una sola tabla.
– Selección
– Proyección
Binarias o de conjunto: Operan con
dos tablas.
– Unión
– Diferencia
– Producto cartesiano
Operadores Relacionales
• Operaciones derivadas o adicionales: realizan en su proceso
llamadas a las operaciones básicas.
– Intersección
– Cociente o división
R1 / R2 = πC(R1) -πC(R2 x πC(R1) - R1)
– Join o reunión
BASES DE DATOSJOSÉ CUARTAS
Operadores Relacionales
• Selecciona un subconjunto que satisface una condición.
• Operador unitario , se aplica a una sola relación.
• la σ (sigma identifica el operador)
• La operación contiene los mismos atributos de la relación y se aplica a
cada tupla o fila de la relación.
• Operadores que se aplican
– Operadores comunes <,> =,<=,>= de la condición de selección o expresión booleana
– Puede conectarse con operadores lógicos AND,OR y NOT que permitan tener mas
cláusula en la condición de selección.
• R1 := σC (R2)
– C es una condición (Como una sentencia “IF”) que se refiere a los atributos de R2. R1
son todas las tuplas R2 que satisfacen a C.
BASES DE DATOSJOSÉ CUARTAS
Operadores Relacionales
Operador– SELECCIONAR
BASES DE DATOSJOSÉ CUARTAS
Operadores Relacionales
Operador– SELECCIONAR
Relación ventas:
Bar Licor Precio
La80 Oporto Vino Z 18000
La80 Sangria Z 15500
Licorcafe Sangria Z 15500
Licorcafe
Champaña
Casa Doma 11000
Ventas_LA80 :=σbar=“La80”(ventas):
bar Licor Precio
La80 Oporto Vino Z 18000
La80 Sangria Z 15500
• Selecciona los atributos de una relación, los proyecta y son dispuestos
en el mismo orden en que aparecen.
• la π (Pi identifica el operador)
• R1 := π L (R2)
– L es una lista de atributos que se deriva del esquema de R2.
– R1 se construye examinando a cada tupla o fila de R2, extrae los
atributos en la lista L, en el orden especificado, y proyecta esos
elementos en una tupla o fila de R1.
– Elimina tuplas o filas duplicadas, si es el caso.
BASES DE DATOSJOSÉ CUARTAS
Operadores Relacionales
Operador– PROYECTAR
BASES DE DATOSJOSÉ CUARTAS
Operadores Relacionales
Operador– PROYECTAR
Relación ventas:
Bar Licor Precio
La80 Oporto Vino Z 18000
La80 Sangria Z 15500
Licorcafe Sangria Z 15500
Licorcafe
Champaña Casa
Doma 11000
Ventas_precios :=π(licor,precio)(ventas):
Licor Precio
Oporto Vino Z 18000
Sangria Z 15500
Champaña Casa
Doma 11000
BASES DE DATOSJOSÉ CUARTAS
Operadores Relacionales
COMBINANCIÓN de operadores
Relación ventas:
Bar licor Precio
La80 Oporto Vino Z 18000
La80 Sangria Z 15500
Licorcafe Sangria Z 15500
Licorcafe
Champaña
Casa Doma 11000
Ventas_precios :=π(licor,precio)(σbar=“La80”(ventas)):
Licor Precio
Oporto Vino Z 18000
Sangria Z 15500
•π L (R2)(σC (R2))
• En el resultado de las operaciones algebraicas ( relaciones intermedias
o la resultante ) no tiene nombre, resulta útil poder usar un nombre para
referirse a ella,
• Los atributos o columnas de las relaciones también se les puede
renombrar.
• la ρ(identifica la operación)
• - ρ x(E)
– X: Nombre de la relación
BASES DE DATOSJOSÉ CUARTAS
Operadores Relacionales
Operador– RENOMBRAMIENTO
• Operación de la teoría de conjuntos, el resultado de esta operación es
una relación que incluye todas las tuplas o filas que están tanto en R
como en S o en ambas. Las tuplas repetidas se eliminan.
• La U(identifica la operación)
• Condiciones (compatibilidad de unión):
– Los dominios de los atributos i-enesimo, de las relaciones R y S deben ser iguales
para todo i y deben estar en el mismo orden.
– La Aridad debe ser la misma, es decir cada relación que es operando de la operación
unión debe tener la misma cantidad de atributos.
– Nota: No implica que los nombres de definición de tuplas o atributos sean iguales.
• R1 := R U S
– R es una relación y S es otra relación. R1 son todas las tuplas o filas que están tanto
en R como en S o en ambas. Las tuplas repetidas se eliminan.
BASES DE DATOSJOSÉ CUARTAS
Operadores Relacionales
Operador– UNIÓN
BASES DE DATOSJOSÉ CUARTAS
TBL Profesores TBL Estudiantes
idDocumento Nombre_profe IdDocumento Nombre_estu
1 Juan 7 Carlos
2 Jose 8 Catalina
3 Carlos 9 Natalia
7 Carlos
TBL Profesores UNION TBL Estudiantes
idDocumento Nombres
1 Juan
2 Jose
3 Carlos
7 Carlos
8 Catalina
9 Natalia
Operadores Relacionales
Operador– UNIÓN
• Operación de la teoría de conjuntos, el resultado de esta operación es
una relación que incluye las tuplas con los atributos combinados de 2
relaciones, es decir tiene una tupla por cada combinación de tuplas: una
de R y una de S.
• La X(identifica la operación)
• El producto cartesiano para las relaciones a las que se aplica no tiene
que ser compatibles con la condición compatibilidad de unión
• Se conoce también como PRODUCTO CRUZADO o REUNIÓN
CRUZADA
• R1 := R X S
– R es una relación y S es otra relación. R1 son todas las tuplas o filas
que combinan las relaciones de R y S.
BASES DE DATOSJOSÉ CUARTAS
Operadores Relacionales
Operador– PRODUCTO CARTESIANO
BASES DE DATOSJOSÉ CUARTAS
Operadores Relacionales
Operador– PRODUCTO CARTESIANO
R1( A, B )
1 2
3 4
R2( B, C )
5 6
7 8
9 10
R3( A, R1.B, R2.B, C )
1 2 5 6
1 2 7 8
1 2 9 10
3 4 5 6
3 4 7 8
3 4 9 10
R3 := R1 XR2
• Operación de la teoría de conjuntos, el resultado de esta operación es
una relación que incluye todas las tuplas que están en R pero no en S.
• la - (identifica la operación)
• Diferencia condiciones (compatibilidad de unión):
– Los dominios de los atributos i-enesimo, de las relaciones R y S deben ser iguales
para todo i y deben estar en el mismo orden.
– La Aridad debe ser la misma, es decir cada relación que es operando de la operación
unión debe tener la misma cantidad de atributos.
– Nota: No implica que los nombres de definición de tuplas sean iguales.
• R1 := R - S
• R es una relación y S es otra relación. R1 son todas las FILAS que
están en R pero no en S.
BASES DE DATOSJOSÉ CUARTAS
Operadores Relacionales
Operador– DIFERENCIA
BASES DE DATOSJOSÉ CUARTAS
Operadores Relacionales
Operador– DIFERENCIA
TBL Profesores TBL Estudiantes
idDocumento Nombre_profe IdDocumento Nombre_estu
1 Juan 7 Carlos
2 Jose 8 Catalina
3 Natalia 3 Natalia
7 Carlos
TBL Profesores - TBL Estudiantes
idDocumento Nombres
1 Juan
2 Jose
• La división (/) de una relación R1 (dividendo) por otra relación R2
(divisor) es una relación R (cociente) tal que, al realizarse su combinación
con el divisor, todas las tuplas o filas resultantes se encuentran en el
dividendo.
• La operación División se puede expresar como una secuencia de
operaciones π, × y −
• R1 / R2 = πC(R1) -πC(R2 x πC(R1) - R1)
• , o como sigue:
– T1 ← πY (R)
– T2 ← πY ((S × T1 ) − R)
– T ← T1 − T2
BASES DE DATOSJOSÉ CUARTAS
Operadores Relacionales
Operador– DIVISIÓN
BASES DE DATOSJOSÉ CUARTAS
Empleado
Nombre Apellido1 Apellido2 di F-Nac Dirección Sexo Salario Supervisor Num-Dept
José López Gómez 1245 21/01/1971 Calle 49 Varón 34000000 5544 2
Ana Moreira González 5874 25/07/1985 Car 80 Mujer 38000000 5544 2
María Pérez Mosquera 5544 21/08/1969 Calle 11 Mujer 50000000 Null 2
Pedro González Ruíz 8811 07/07/1979 Trasn 32 c Varón 25000000 1122 1
Luis Izquierdo Sánchez 1122 09/09/1970 Calle 55 Varón 30000000 Null 1
trabaja_en di_nump
Derivada de la
entidad
trabaja en nump_ana
document
o
di Num-Proy Horas di Num-Proy Num-Proy di
1245 1 10 1245 1 1 1245
1245 3 15 1245 3 3 5874
5874 1 20 5874 1 5544
5544 3 50 5544 3
5544 1 5 5544 1
8811 4 10 8811 4
1122 2 20 1122 2
5874 3 10 5874 3
• “obtener los datos de los empleados que trabajan en todos los proyectos en los
que trabaja Ana Moreira”.
Operadores Relacionales
Operador– DIVISIÓN
• Combina tuplas o filas relacionadas de dos relaciones que satisfagan
una condición de selección.
• La condición en este operador evalúa la combinación de tuplas, y
escoge la tupla para la cual la condición con los valores de atributos
produzca el resultado verdadero.
BASES DE DATOSJOSÉ CUARTAS
Operadores Relacionales
Operador– REUNIÓN NATURAL(JOIN)
BASES DE DATOSJOSÉ CUARTAS
Operadores Relacionales
Operador– REUNIÓN NATURAL(JOIN)
VENTAS
Bar Licor Precio
La80 Oporto Vino Z 18000
La80 Sangria Z 15500
Licorcafe Sangria Z 15500
Licorcafe
Champaña
Casa Doma 11000
BarInfo := Ventas JOIN Ventas.bar = Bares.nombre Bares
BARES
Nombre Dirección
La80 Crra 80 n 30-39
Licorcafe Calle 10 n 55-30
• No son operadores del algebra relacional.
• Se aplican enteramente sobre columnas y producen un solo resultado.
• Ejemplos mas comunes: SUM, AVG, COUNT, MIN y MAX.
• Otras GROUP BY, HAVING y DISTINC
• Ejemplo
BASES DE DATOSJOSÉ CUARTAS
Operadores Relacionales
Operador– FUNCIONES DE AGREGACIÓN
R = ( A B )
1 3
3 4
3 2
SUM(A) = 7
COUNT(A) = 3
MAX(B) = 4
AVG(B) = 3
• Es una ampliación de la operación reunión(JOIN) que utiliza la información
ausente.
• Las combinaciones externas combinan registros de dos tablas que cumplen la
condición, más los valores de los registros no coincidentes.
• los registros no coincidentes se rellenados con el valor desconocido(NULL).
• Hay tres tipos de combinaciones externas:
– Reunión externa izquierda(left outer join): Toma todas las tuplas que no coinciden
con ninguna tupla de la relación derecha y rellena con nulos todos los atributos de la
relación derecha y adicionas estas tuplas al resultado de la reunión natural.
– Reunión externa izquierda(right outer join): Toma todas las tuplas que no
coinciden con ninguna tupla de la relación izquierda y rellena con nulos todos los
atributos de la relación izquierda y adicionas estas tuplas al resultado de la reunión
natural.
– Reunión externa completa(full outer join): Realiza estas dos operaciones,
rellenándolas tuplas de la relación izquierda que no coinciden con ninguna tupla de
la relación derecha y las tuplas de la relación de la derecha que no coinciden con
ninguna tupla de la relación de la izquierda y adiciona al resultado de la reunión
natural.
BASES DE DATOSJOSÉ CUARTAS
Operadores Relacionales
Operador– REUNIÓN EXTERNA(outer join)
BASES DE DATOSJOSÉ CUARTAS
Operadores Relacionales
Operador– REUNIÓN EXTERNA(outer join)
R OUTERJOIN S =
R S
A B C D
1 2 2 3
4 5 6 7
A B C
1 2 3
4 5 NULL
NULL 6 7
Relaciones R y S:
BASES DE DATOSJOSÉ CUARTAS
Operadores Relacionales
Operador– LEFT OUTER JOIN
TBL Empleados TBL InfoSobreEmpleados
Nombre Direccion Ciudad Nombre Sucursal Sueldo
Jose Calle 80 Medellín Jose Centro $ 3.000.000
Natalia calle 10 Medellín Natalia Poblado $ 2.000.000
Juan jose Av 49 Medellín Alejandro Bello $ 2.500.000
Manuela Belen Medellín Manuela Itagui $ 2.800.000
Left Outer Join
Nombre Direccion Ciudad Sucursal Sueldo
Jose Calle 80 Medellín Centro $ 3.000.000
Natalia calle 10 Medellín Poblado $ 2.000.000
Juan jose Av 49 Medellín NULL NULL
Manuela Belen Medellín Itagui $ 2.800.000
BASES DE DATOSJOSÉ CUARTAS
Operadores Relacionales
Operador– RIGHT OUTER JOIN
TBL Empleados TBL InfoSobreEmpleados
Nombre Direccion Ciudad Nombre Sucursal Sueldo
Jose Calle 80 Medellín Jose Centro $ 3.000.000
Natalia calle 10 Medellín Natalia Poblado $ 2.000.000
Juan jose Av 49 Medellín Alejandro Bello $ 2.500.000
Manuela Belen Medellín Manuela Itagui $ 2.800.000
Right Outer Join
Nombre Direccion Ciudad Sucursal Sueldo
Jose Calle 80 Medellín Centro $ 3.000.000
Natalia calle 10 Medellín Poblado $ 2.000.000
Alejandro null null Bello $ 2.500.000
Manuela Belen Medellín Itagui $ 2.800.000
BASES DE DATOSJOSÉ CUARTAS
Operadores Relacionales
Operador– FULL OUTER JOIN
TBL Empleados TBL InfoSobreEmpleados
Nombre Direccion Ciudad Nombre Sucursal Sueldo
Jose Calle 80 Medellín Jose Centro $ 3.000.000
Natalia calle 10 Medellín Natalia Poblado $ 2.000.000
Juan jose Av 49 Medellín Alejandro Bello $ 2.500.000
Manuela Belen Medellín Manuela Itagui $ 2.800.000
Full Outer Join
Nombre Direccion Ciudad Sucursal Sueldo
Jose Calle 80 Medellín Centro $ 3.000.000
Natalia calle 10 Medellín Poblado $ 2.000.000
Alejandro null null Bello $ 2.500.000
Manuela Belen Medellín Itagui $ 2.800.000
Juan jose Av 49 Medellín null null
BASES DE DATOSJOSÉ CUARTAS
Después de la teoría sigue la práctica
Siguiente

Modelo relacional

  • 1.
  • 2.
    Dr. Edgar FrankCodd,_(database) matemático y científico de la computación publicó en 1970 el artículo A Relational Model of Data for Large Shared Data Banks, algo así como Un modelo de datos relacional para grandes bancos de datos compartidos, donde definió lo siguiente. – Los sistemas de bases de datos deberían presentarse a los usuarios con una visión de los datos organizados en estructuras llamadas relaciones, definidas como conjuntos de tuplas (filas), una relación puede haber cualquier estructura de datos compleja que permita una respuesta rápida a una variedad de consultas. – el usuario de un sistema relacional sólo debía preocuparse por el qué consultar y no el cómo de las estructuras de almacenamiento. “El contenido entero de una base de datos relacional se representa por una y sola una forma, a saber: como valores de atributos en tuplas dentro de relaciones” E. F. Codd BASES DE DATOSJOSÉ CUARTAS Historia
  • 3.
    • Algebra: Sistemamatématico que consite de: • Los operandos --- variables o valores de los que los nuevos valores se puede construir. • Los operadores --- símbolos que denotan procedimientos que construyen nuevos valores a partir de valores dado. • http://es.wikipedia.org/wiki/Álgebra • Algebra Relacional: Colección de operaciones que sirven para manipular relaciones enteras. • El resultado de una operación es una nueva relación, la cual también se puede manipular. • http://es.wikipedia.org/wiki/Álgebra_relacional • Operandos: Relaciones o variables que representan las relaciones • http://es.wikipedia.org/wiki/Operando • Operadores: Son diseñados para hacer las cosas más comunes que con las relaciones en una base de datos. • El resultado es un álgebra que se puede utilizar como un lenguaje de consulta para las relaciones (ejemplo SQL). • http://es.wikipedia.org/wiki/Operador BASES DE DATOSJOSÉ CUARTAS Definamos los términos:
  • 4.
    • Matemáticas deconjunto: – La unión – La intersección – La diferencia – producto cartesiano BASES DE DATOSJOSÉ CUARTAS • Operaciones especificas de las DB: – Selección – Proyectar – Agregación – Reunión (JOIN) Unarias: operan con una sola tabla. – Selección – Proyección Binarias o de conjunto: Operan con dos tablas. – Unión – Diferencia – Producto cartesiano Operadores Relacionales
  • 5.
    • Operaciones derivadaso adicionales: realizan en su proceso llamadas a las operaciones básicas. – Intersección – Cociente o división R1 / R2 = πC(R1) -πC(R2 x πC(R1) - R1) – Join o reunión BASES DE DATOSJOSÉ CUARTAS Operadores Relacionales
  • 6.
    • Selecciona unsubconjunto que satisface una condición. • Operador unitario , se aplica a una sola relación. • la σ (sigma identifica el operador) • La operación contiene los mismos atributos de la relación y se aplica a cada tupla o fila de la relación. • Operadores que se aplican – Operadores comunes <,> =,<=,>= de la condición de selección o expresión booleana – Puede conectarse con operadores lógicos AND,OR y NOT que permitan tener mas cláusula en la condición de selección. • R1 := σC (R2) – C es una condición (Como una sentencia “IF”) que se refiere a los atributos de R2. R1 son todas las tuplas R2 que satisfacen a C. BASES DE DATOSJOSÉ CUARTAS Operadores Relacionales Operador– SELECCIONAR
  • 7.
    BASES DE DATOSJOSÉCUARTAS Operadores Relacionales Operador– SELECCIONAR Relación ventas: Bar Licor Precio La80 Oporto Vino Z 18000 La80 Sangria Z 15500 Licorcafe Sangria Z 15500 Licorcafe Champaña Casa Doma 11000 Ventas_LA80 :=σbar=“La80”(ventas): bar Licor Precio La80 Oporto Vino Z 18000 La80 Sangria Z 15500
  • 8.
    • Selecciona losatributos de una relación, los proyecta y son dispuestos en el mismo orden en que aparecen. • la π (Pi identifica el operador) • R1 := π L (R2) – L es una lista de atributos que se deriva del esquema de R2. – R1 se construye examinando a cada tupla o fila de R2, extrae los atributos en la lista L, en el orden especificado, y proyecta esos elementos en una tupla o fila de R1. – Elimina tuplas o filas duplicadas, si es el caso. BASES DE DATOSJOSÉ CUARTAS Operadores Relacionales Operador– PROYECTAR
  • 9.
    BASES DE DATOSJOSÉCUARTAS Operadores Relacionales Operador– PROYECTAR Relación ventas: Bar Licor Precio La80 Oporto Vino Z 18000 La80 Sangria Z 15500 Licorcafe Sangria Z 15500 Licorcafe Champaña Casa Doma 11000 Ventas_precios :=π(licor,precio)(ventas): Licor Precio Oporto Vino Z 18000 Sangria Z 15500 Champaña Casa Doma 11000
  • 10.
    BASES DE DATOSJOSÉCUARTAS Operadores Relacionales COMBINANCIÓN de operadores Relación ventas: Bar licor Precio La80 Oporto Vino Z 18000 La80 Sangria Z 15500 Licorcafe Sangria Z 15500 Licorcafe Champaña Casa Doma 11000 Ventas_precios :=π(licor,precio)(σbar=“La80”(ventas)): Licor Precio Oporto Vino Z 18000 Sangria Z 15500 •π L (R2)(σC (R2))
  • 11.
    • En elresultado de las operaciones algebraicas ( relaciones intermedias o la resultante ) no tiene nombre, resulta útil poder usar un nombre para referirse a ella, • Los atributos o columnas de las relaciones también se les puede renombrar. • la ρ(identifica la operación) • - ρ x(E) – X: Nombre de la relación BASES DE DATOSJOSÉ CUARTAS Operadores Relacionales Operador– RENOMBRAMIENTO
  • 12.
    • Operación dela teoría de conjuntos, el resultado de esta operación es una relación que incluye todas las tuplas o filas que están tanto en R como en S o en ambas. Las tuplas repetidas se eliminan. • La U(identifica la operación) • Condiciones (compatibilidad de unión): – Los dominios de los atributos i-enesimo, de las relaciones R y S deben ser iguales para todo i y deben estar en el mismo orden. – La Aridad debe ser la misma, es decir cada relación que es operando de la operación unión debe tener la misma cantidad de atributos. – Nota: No implica que los nombres de definición de tuplas o atributos sean iguales. • R1 := R U S – R es una relación y S es otra relación. R1 son todas las tuplas o filas que están tanto en R como en S o en ambas. Las tuplas repetidas se eliminan. BASES DE DATOSJOSÉ CUARTAS Operadores Relacionales Operador– UNIÓN
  • 13.
    BASES DE DATOSJOSÉCUARTAS TBL Profesores TBL Estudiantes idDocumento Nombre_profe IdDocumento Nombre_estu 1 Juan 7 Carlos 2 Jose 8 Catalina 3 Carlos 9 Natalia 7 Carlos TBL Profesores UNION TBL Estudiantes idDocumento Nombres 1 Juan 2 Jose 3 Carlos 7 Carlos 8 Catalina 9 Natalia Operadores Relacionales Operador– UNIÓN
  • 14.
    • Operación dela teoría de conjuntos, el resultado de esta operación es una relación que incluye las tuplas con los atributos combinados de 2 relaciones, es decir tiene una tupla por cada combinación de tuplas: una de R y una de S. • La X(identifica la operación) • El producto cartesiano para las relaciones a las que se aplica no tiene que ser compatibles con la condición compatibilidad de unión • Se conoce también como PRODUCTO CRUZADO o REUNIÓN CRUZADA • R1 := R X S – R es una relación y S es otra relación. R1 son todas las tuplas o filas que combinan las relaciones de R y S. BASES DE DATOSJOSÉ CUARTAS Operadores Relacionales Operador– PRODUCTO CARTESIANO
  • 15.
    BASES DE DATOSJOSÉCUARTAS Operadores Relacionales Operador– PRODUCTO CARTESIANO R1( A, B ) 1 2 3 4 R2( B, C ) 5 6 7 8 9 10 R3( A, R1.B, R2.B, C ) 1 2 5 6 1 2 7 8 1 2 9 10 3 4 5 6 3 4 7 8 3 4 9 10 R3 := R1 XR2
  • 16.
    • Operación dela teoría de conjuntos, el resultado de esta operación es una relación que incluye todas las tuplas que están en R pero no en S. • la - (identifica la operación) • Diferencia condiciones (compatibilidad de unión): – Los dominios de los atributos i-enesimo, de las relaciones R y S deben ser iguales para todo i y deben estar en el mismo orden. – La Aridad debe ser la misma, es decir cada relación que es operando de la operación unión debe tener la misma cantidad de atributos. – Nota: No implica que los nombres de definición de tuplas sean iguales. • R1 := R - S • R es una relación y S es otra relación. R1 son todas las FILAS que están en R pero no en S. BASES DE DATOSJOSÉ CUARTAS Operadores Relacionales Operador– DIFERENCIA
  • 17.
    BASES DE DATOSJOSÉCUARTAS Operadores Relacionales Operador– DIFERENCIA TBL Profesores TBL Estudiantes idDocumento Nombre_profe IdDocumento Nombre_estu 1 Juan 7 Carlos 2 Jose 8 Catalina 3 Natalia 3 Natalia 7 Carlos TBL Profesores - TBL Estudiantes idDocumento Nombres 1 Juan 2 Jose
  • 18.
    • La división(/) de una relación R1 (dividendo) por otra relación R2 (divisor) es una relación R (cociente) tal que, al realizarse su combinación con el divisor, todas las tuplas o filas resultantes se encuentran en el dividendo. • La operación División se puede expresar como una secuencia de operaciones π, × y − • R1 / R2 = πC(R1) -πC(R2 x πC(R1) - R1) • , o como sigue: – T1 ← πY (R) – T2 ← πY ((S × T1 ) − R) – T ← T1 − T2 BASES DE DATOSJOSÉ CUARTAS Operadores Relacionales Operador– DIVISIÓN
  • 19.
    BASES DE DATOSJOSÉCUARTAS Empleado Nombre Apellido1 Apellido2 di F-Nac Dirección Sexo Salario Supervisor Num-Dept José López Gómez 1245 21/01/1971 Calle 49 Varón 34000000 5544 2 Ana Moreira González 5874 25/07/1985 Car 80 Mujer 38000000 5544 2 María Pérez Mosquera 5544 21/08/1969 Calle 11 Mujer 50000000 Null 2 Pedro González Ruíz 8811 07/07/1979 Trasn 32 c Varón 25000000 1122 1 Luis Izquierdo Sánchez 1122 09/09/1970 Calle 55 Varón 30000000 Null 1 trabaja_en di_nump Derivada de la entidad trabaja en nump_ana document o di Num-Proy Horas di Num-Proy Num-Proy di 1245 1 10 1245 1 1 1245 1245 3 15 1245 3 3 5874 5874 1 20 5874 1 5544 5544 3 50 5544 3 5544 1 5 5544 1 8811 4 10 8811 4 1122 2 20 1122 2 5874 3 10 5874 3 • “obtener los datos de los empleados que trabajan en todos los proyectos en los que trabaja Ana Moreira”. Operadores Relacionales Operador– DIVISIÓN
  • 20.
    • Combina tuplaso filas relacionadas de dos relaciones que satisfagan una condición de selección. • La condición en este operador evalúa la combinación de tuplas, y escoge la tupla para la cual la condición con los valores de atributos produzca el resultado verdadero. BASES DE DATOSJOSÉ CUARTAS Operadores Relacionales Operador– REUNIÓN NATURAL(JOIN)
  • 21.
    BASES DE DATOSJOSÉCUARTAS Operadores Relacionales Operador– REUNIÓN NATURAL(JOIN) VENTAS Bar Licor Precio La80 Oporto Vino Z 18000 La80 Sangria Z 15500 Licorcafe Sangria Z 15500 Licorcafe Champaña Casa Doma 11000 BarInfo := Ventas JOIN Ventas.bar = Bares.nombre Bares BARES Nombre Dirección La80 Crra 80 n 30-39 Licorcafe Calle 10 n 55-30
  • 22.
    • No sonoperadores del algebra relacional. • Se aplican enteramente sobre columnas y producen un solo resultado. • Ejemplos mas comunes: SUM, AVG, COUNT, MIN y MAX. • Otras GROUP BY, HAVING y DISTINC • Ejemplo BASES DE DATOSJOSÉ CUARTAS Operadores Relacionales Operador– FUNCIONES DE AGREGACIÓN R = ( A B ) 1 3 3 4 3 2 SUM(A) = 7 COUNT(A) = 3 MAX(B) = 4 AVG(B) = 3
  • 23.
    • Es unaampliación de la operación reunión(JOIN) que utiliza la información ausente. • Las combinaciones externas combinan registros de dos tablas que cumplen la condición, más los valores de los registros no coincidentes. • los registros no coincidentes se rellenados con el valor desconocido(NULL). • Hay tres tipos de combinaciones externas: – Reunión externa izquierda(left outer join): Toma todas las tuplas que no coinciden con ninguna tupla de la relación derecha y rellena con nulos todos los atributos de la relación derecha y adicionas estas tuplas al resultado de la reunión natural. – Reunión externa izquierda(right outer join): Toma todas las tuplas que no coinciden con ninguna tupla de la relación izquierda y rellena con nulos todos los atributos de la relación izquierda y adicionas estas tuplas al resultado de la reunión natural. – Reunión externa completa(full outer join): Realiza estas dos operaciones, rellenándolas tuplas de la relación izquierda que no coinciden con ninguna tupla de la relación derecha y las tuplas de la relación de la derecha que no coinciden con ninguna tupla de la relación de la izquierda y adiciona al resultado de la reunión natural. BASES DE DATOSJOSÉ CUARTAS Operadores Relacionales Operador– REUNIÓN EXTERNA(outer join)
  • 24.
    BASES DE DATOSJOSÉCUARTAS Operadores Relacionales Operador– REUNIÓN EXTERNA(outer join) R OUTERJOIN S = R S A B C D 1 2 2 3 4 5 6 7 A B C 1 2 3 4 5 NULL NULL 6 7 Relaciones R y S:
  • 25.
    BASES DE DATOSJOSÉCUARTAS Operadores Relacionales Operador– LEFT OUTER JOIN TBL Empleados TBL InfoSobreEmpleados Nombre Direccion Ciudad Nombre Sucursal Sueldo Jose Calle 80 Medellín Jose Centro $ 3.000.000 Natalia calle 10 Medellín Natalia Poblado $ 2.000.000 Juan jose Av 49 Medellín Alejandro Bello $ 2.500.000 Manuela Belen Medellín Manuela Itagui $ 2.800.000 Left Outer Join Nombre Direccion Ciudad Sucursal Sueldo Jose Calle 80 Medellín Centro $ 3.000.000 Natalia calle 10 Medellín Poblado $ 2.000.000 Juan jose Av 49 Medellín NULL NULL Manuela Belen Medellín Itagui $ 2.800.000
  • 26.
    BASES DE DATOSJOSÉCUARTAS Operadores Relacionales Operador– RIGHT OUTER JOIN TBL Empleados TBL InfoSobreEmpleados Nombre Direccion Ciudad Nombre Sucursal Sueldo Jose Calle 80 Medellín Jose Centro $ 3.000.000 Natalia calle 10 Medellín Natalia Poblado $ 2.000.000 Juan jose Av 49 Medellín Alejandro Bello $ 2.500.000 Manuela Belen Medellín Manuela Itagui $ 2.800.000 Right Outer Join Nombre Direccion Ciudad Sucursal Sueldo Jose Calle 80 Medellín Centro $ 3.000.000 Natalia calle 10 Medellín Poblado $ 2.000.000 Alejandro null null Bello $ 2.500.000 Manuela Belen Medellín Itagui $ 2.800.000
  • 27.
    BASES DE DATOSJOSÉCUARTAS Operadores Relacionales Operador– FULL OUTER JOIN TBL Empleados TBL InfoSobreEmpleados Nombre Direccion Ciudad Nombre Sucursal Sueldo Jose Calle 80 Medellín Jose Centro $ 3.000.000 Natalia calle 10 Medellín Natalia Poblado $ 2.000.000 Juan jose Av 49 Medellín Alejandro Bello $ 2.500.000 Manuela Belen Medellín Manuela Itagui $ 2.800.000 Full Outer Join Nombre Direccion Ciudad Sucursal Sueldo Jose Calle 80 Medellín Centro $ 3.000.000 Natalia calle 10 Medellín Poblado $ 2.000.000 Alejandro null null Bello $ 2.500.000 Manuela Belen Medellín Itagui $ 2.800.000 Juan jose Av 49 Medellín null null
  • 28.
    BASES DE DATOSJOSÉCUARTAS Después de la teoría sigue la práctica Siguiente