Modelo relacional

7,587 views

Published on

Published in: Education
2 Comments
7 Likes
Statistics
Notes
  • que chingue a su madre el que lo creo, gracias por nada wey'
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • pinche autor mamon al no dejar descargar la presentación
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
7,587
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
1
Comments
2
Likes
7
Embeds 0
No embeds

No notes for slide

Modelo relacional

  1. 1. http://es.wikipedia.org/wiki/Álgebra_relacional BASES DE DATOSJOSÉ CUARTAS ALGEBRA RELACIONAL
  2. 2. 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
  3. 3. • 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:
  4. 4. • 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
  5. 5. • 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
  6. 6. • 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
  7. 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. 8. • 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
  9. 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. 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. 11. • 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
  12. 12. • 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
  13. 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. 14. • 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
  15. 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. 16. • 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
  17. 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. 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. 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. 20. • 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)
  21. 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. 22. • 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
  23. 23. • 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)
  24. 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. 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. 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. 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. 28. BASES DE DATOSJOSÉ CUARTAS Después de la teoría sigue la práctica Siguiente

×