1 / 60

Bases de Datos Heterogéneas CI6318

Bases de Datos Heterogéneas CI6318. Agenda. Introducción al curso. Conceptos Básicos. Modelos de Datos Modelo ER, ERE, Relacional. DBMS. Funcionalidades Evaluación y Optimización de consultas en bases de datos centralizadas. Objetivos del Curso. Fundamentos Lógicos de Bases de Datos:

Télécharger la présentation

Bases de Datos Heterogéneas CI6318

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bases de Datos HeterogéneasCI6318

  2. Agenda • Introducción al curso. • Conceptos Básicos. • Modelos de Datos • Modelo ER, ERE, Relacional. • DBMS. • Funcionalidades • Evaluación y Optimización de consultas en bases de datos centralizadas.

  3. Objetivos del Curso • Fundamentos Lógicos de Bases de Datos: • Lógica de Predicados. • Complejidad del Problema de responder una consulta contra una BD. • Problema de Evaluación y Optimización de Consultas en ambientes centralizados. • Problemas de Integración de Datos en Ambientes Heterogéneos. • Arquitectura de Mediadores-Adaptadores. • Principales Soluciones. • Optimización de Consultas. • Evaluación de Consultas.

  4. Evaluaciones • Exámen: 25%. • Tareas: 25% 5-tareas, c/u 5 puntos. • Proyecto: 50% • 25% optimizador centralizado • Diseño: 10% • Resultados Experimentales: 15% • 25% optimizador con capacidades limitadas • Diseño: 10% • Resultados Experimentales: 15%

  5. Cronograma • Semana 1: • Introducción al curso. • Introducción a Bases de datos- Conceptos Básicos. • Introducción al problema de integración de datos. • Semana 2: • Fundamentos Lógicos de las BD. • Tarea 1: Problemas de Lógica. • Semana 3: • Evaluación de Consultas en Ambientes Centralizados. • Nested-Loop Join, Block Nested Loop Join, Index Nested Loop Join, Hash Join, etc. • Semana 4-5: • Optimización de Consultas en Ambientes Centralizados. • Optimización basada en heurísticas. • Optimización basada en costos. • Sistema R. Programación Dinámica. • Optimizadores Aleatorios. • Tarea2: Optimización de Consultas en Ambientes centralizados.

  6. Cronograma • Semana 6: Integración de Datos • Arquitectura de Mediadores y Adaptores (Mediators and Wrappers). • Funcionalidad de los mediadores. Funcionalidad de los adaptatores/wrappers. Cómo se generan? • Exposiciones sobre la arquitectura del optimizador de consultas en ambientes centralizados. • Semana 7: • El problema de reescritura en base a las capacidades de las fuentes de datos. • Resolución de conflictos semánticos/sintácticos. • Lenguaje para la descripción de fuentes de datos (XML,RDF). • Tarea 3: Reescritura de Consultas. • Semana 8: • El problema de optimización de consultas en ambientes heterogéneos con capacidades liitadas. • Caracterización del espacio de planes de ejecución. • Garlic-Extensión al algoritmo de optimización propuesto por el Sistema R. • Optimizadores aleatorios. • Tarea 4: Optimización de Consultas en Ambientes con Capacidades Limitadas-Garlic. • Semana 9: • Exposiciones optimizador de consultas en ambientes centralizados y arquitectura para soportar capacidades limitadas. • Semana 10: • Evaluación de consultas en ambientes heterogéneos. • Dependent Join. • XJoin. • Query Scrambling • Tarea 5: Evaluacion de consultas en ambientes heterogeneos. • Semana 11: • Examen • Semana 12: • Exposiciones optimizador de consultas en ambientes con capacidades limitadas

  7. Referencias • Database Management Systems, Ramakrishnan and Gehrke. • Foundations of Databases Abiteboul, Hull, Vianu. Addison-Wesley. • Artículos

  8. Qué es una Base de Datos? Universo de Discurso: porción del mundo real a ser modelado. Bases de Datos: colección de datos relacionados. Modelo de Datos: herramienta de especificación de bases de datos. Los datos son definidos en función de: • Propiedades estructurales, dinámicas y de comportamiento. Esquema Conceptual: representación de un situación haciendo uso de un modelo de datos particular.

  9. Modelos de Datos • Fuertemente Tipeados versus Debilmente Tipeados. • Relacional, ER versus Datalog • Semánticos versus poco semánticos • Orientados por Objetos (UML), Ontologías, ERE versus Relacional.

  10. Restricciones de Integridad • Inherentes: expresiones que representan las propiedades de las estructuras ofrecidas por el modelo de datos. • Implícitas: expresiones que representan las propiedades especificadas explicitamente a través del modelo. • Explícitas: propiedades que no pueden ser modelados directamente a través del modelo. Se requiere de un lenguaje lógico para representar estas propiedades.

  11. Lógica de Primer Orden-Esquema de Datos • Un esquema de datos puede ser formalizado como un conjunto de restricciones que deben ser respetados. • Desde el punto de vista formal, un esquema de datos corresponde a un conjunto de fórmulas de la Lógica de Primer Orden. Ese conjunto de fórmulas se denominan teoría. • La interpretación de un esquema de datos es definida como una colección de todas las estructuras que respetan el conjunto de restricciones impuestas. • Las interpretaciones legales de un esquema de datos son todos los modelos de la teoría de la Lógica de Primer Orden.

  12. Esquema de Datos-Sistema Axiomático Teoría Teoremas Axiomas Un esquema de datos o teoría se compone de un conjunto de axiomas y reglas de inferencia que caracterizan a un conjunto de teoremas.

  13. Ejemplo de una axiomatización de un Esquema ERE Comunidad Universitaria Carnet s Profesor Estudiante Empleado Obrero (1,3) (3,6) Cursar (1,100) (1,N) Cod-Trim Trimestre Materia Cod-Mat

  14. Conocimiento Representado en el esquema • Comunidad Universitaria conjunto de elementos que representan a la comunidad universitaria. • Profesor conjunto de elementos de la comunidad universitaria que representan a los profesores. • Estudiante conjunto de elementos de la comunidad universitaria que representan a los estudiantes. • Empleado conjunto de elementos de la comunidad universitaria que representan a los empleados administrativos. • Obrero conjunto de elementos de la comunidad universitaria que representan a los obreros. • Materia conjunto de elementos que representan a las materias. • Trimestre conjunto de elementos que representan a los trimestres.

  15. Restricciones Inherentes • Si A es un conjunto: • No existen repeticiones • El orden es irrelevante. • En ERE los elementos de un conjunto se diferencian por su clave: • x( x  A and clave(B,A))  not ( x1( x1  A and x1x and x.B=x1.B))) Cursar: • es una relación que representa a la asoción entre Profesor Estudiante Materia Trimestre • es un conjunto. • Cursar  Profesor X Estudiante X Materia X Trimestre

  16. Restricciones Inherentes-Axiomas • x( x  ComunidadUniversitaria  not ( x1( x1  ComunidadUniversitaria and x1x and x.Carnet=x1.Carnet))) • x( x  Profesor  not ( x1( x1  Profesor and x1x and x.Carnet=x1.Carnet))) • x( x  Estudiante  not ( x1( x1  Estudiante and x1x and x.Carnet=x1.Carnet))) • x( x  Empleado  not ( x1( x1  Empleado and x1x and x.Carnet=x1.Carnet))) • x( x  Obrero  not ( x1( x1  Obrero and x1x and x.Carnet=x1.Carnet)))

  17. Restricciones Inherentes • Comunidad Universitaria se especializa de forma solapada en: • Profesor • Estudiante • Obrero • Empleado • Profesor U Estudiante U Obrero U Empleado  Comunidad Universitaria

  18. Restricciones Implícitas Cardinalidades en Cursar: • Card(Profesor, Cursar)=(1,3) • x( x  Profesor  1  |{(x,y,z,j)/ (x,y,z,j)  Cursar}|  3) • Card(Estudiante, Cursar)=(3,6) • x( x  Estudiante  3  |{(y,x,z,j)/ (y,x,z,j)  Cursar}|  6) • Card(Materia, Cursar)=(1,100) • x( x  Materia  1  |{(y,z,x,j)/ (y,z,x,j)  Cursar}|  100) • Card(Trimestre, Cursar)=(1,N) • x( x  Trimestre  1  |{(y,z,j,x)/ (y,z,j,x)  Cursar}|)

  19. Restricciones Implícitas-Axiomas • Cursar  Profesor X Estudiante X Materia X Trimestre x( x  Profesor  1  |{(x,y,z,j)/ (x,y,z,j)  Cursar}|  3) • x( x  Estudiante  3  |{(y,x,z,j)/ (y,x,z,j)  Cursar}|  6) • x( x  Materia  1  |{(y,z,x,j)/ (y,z,x,j)  Cursar}|  100) • x( x  Trimestre  1  |{(y,z,j,x)/ (y,z,j,x)  Cursar}|) • Profesor U Estudiante U Obrero U Empleado  Comunidad Universitaria |Comunidad Universitaria| = |Profesor| + |Estudiante| + |Materia| + |Trimestre| - (|Profesor Estudiante| + | Profesor Empleado| + |Profesor Obrero| + |Estudiante Empleado| + |Estudiante Obrero| + |Empleado Obrero|)

  20. Instancias de un Esquema de Datos-Informalmente • Bases de Datos: • Consistentes. • No consistentes. • Transacciones. • Qué significa contestar una consulta? • Complejidad.

  21. Sistema Formal o Cálculo Un sistema formal es una 4-tupla: S=(,F,A,R), donde : es un alfabeto. F: es un conjunto recursivo *, llamado conjunto de fórmulas, F  *, A: es un conjunto recursivo *, llamado conjunto de axiomas, A  *, R: es un conjunto finito de reglas de inferencia: Ri(x1,x2,…,xm;y) cuyas variables toman valores en F. Indica que la fórmula y se obtiene a partir de la fórmulas x1,x2,…,xm aplicando la regla Ri

  22. Lógica-Cálculo Proposicional • Cálculo Proposicional-Definición Informal: • Unidad mínima de formalización: proposición o afirmación. • Cada proposición básica o atómica se modela como una variable. • Proposiciones compuestas se modelan como conexiones de proposiciones atómicas. Las conexiones se realizan a través de conectores que modelan preposiciones del lenguaje natural.

  23. Lógica-Cálculo Proposicional • Toda variable p,q,r,…, con o sin subíndice es una fórmula del cálculo proposicional. • Las constantes: true y false, son fórmulas del cálculo proposicional. • Si B1 y B2 son fórmulas del cálculo proposicional, entonces: • ¬B1 es una fórmula del cálculo proposicional. • B1 * B2 es una fórmula del cálculo proposicional, donde, *  {v,,,,} • (B1) es una fórmula del cálculo proposicional. • No existe ninguna otra expresión que sea una fórmula del cálculo proposicional.

  24. Lógica-Cálculo Proposicional Dado un conjunto de variables del cálculo proposicional, una asignación  es una función, : V->{true,false}. El valor de verdad de una fórmula del cálculo proposicional  bajo la asignación  ([]) para las variables que ocurren en  se define como sigue: • true[]=true; false[]=false • Si =p para alguna variable p, entonces []= (p) • Si =¬, entonces []=true ssi  []=false • Si = (1 v 2) y (1 v 2) []=true ssi 1[]=true o 2[]=true

  25. Lógica-Cálculo Proposicional • Una fórmula  es satisfactible ssi existe al menos una asignación  y []=true. • Una fórmula  es válida ssi para cualquier asignación , []=true. • Una fórmula 1 implica logicamente a la fórmula 2, 1|= 2, si para cualquier asignación  donde 1[]=true, entonces 2[]=true • Una fórmula del cálculo proposicional  está en forma normal conjuntiva (CNF) si tiene la forma 1 & 2 & 3 & … & n, donde cada i es una disjunción de literales. • Determinar si una fórmula del cálculo proposicional  en forma normal conjuntiva, en la cual cada conjuntor tiene a los mas tres literales, (3-SAT) es un problema NP-completo.

  26. Teoría de Modelos versus Teoría de Prueba. • Sea  un conjunto de fórmulas y  una fórmula de cálculo proposicional: •  |- , si haciendo uso de los axiomas de cálculo y las reglas de inferencia, se puede derivar o probar  a partir de . (Teoría de Prueba). •  |= , si toda asignación que sea satisfaga  también satisface . • Un cálculo es sólido y completo ssi: •  |=  ssi  |- , intuitivamente, todo lo que se puede derivar es verdad, y todo lo que es verdad, se puede derivar.

  27. Lógica-Cálculo de Predicados • Cálculo Predicadosl-Definición Informal: • Unidad mínima de formalización: predicados que describen el sujeto de una oración o afirmación. • Cada predicado se modela como relación sobre un conjunto de dominios en el universo de discurso. • Variables en los predicados representan a cualquier elemento en el universo de disucrso. Variables pueden estar cuantificadas. • Afirmaciones compuestas se modelan como conexiones de afirmaciones atómicas. Las conexiones se realizan a través de conectores que modelan preposiciones del lenguaje natural.

  28. Lógica-Cálculo de Predicados • Sea P un símbolo de predicado de aridad n, y sean t1,..,tn términos, entonces, P(t1,..,tn) es una fórmula del cálculo de predicados. • Las constantes true y false son fórmulas del cálculo de predicados. • Sean 1 y 2 fórmulas del cálculo de predicados, entonces: • ¬ 1 es una fórmula del cálculo de predicados. • 1 * 2 es una fórmula del cálculo de predicados, donde *  {v,,,,}. • (1) es una fórmula del cálculo de predicados. • (i| 1: 2) es una fórmula del cálculo de predicados. • ( i| 1: 2) es una fórmula del cálculo de predicados. Axiomas básicos: (i| 1: 2)  (i|: 1-> 2) ( i| 1: 2)  ( i|: 1 & 2)

  29. Lógica-Cálculo de Predicados-Términos • Si c es una constante, entonces c es un término. • Si x es una variable, entonces x es un término. • Si F es un símbolo funcional de aridad n y t1,..,tn son términos, entonces, F(t1,…,tn) es un término.

  30. Lógica-Cálculo de Predicados-Variables Libres • Variable libre: • Si P es un predicado entonces la variable i ocurre libre en P. • La variable i ocurre libre en true y false. • Sea i una variable que ocurre libre en E. Entonces, i es libre en: • (E) • ¬E • E * E1 • (x| 1: 2) o ( x| 1: 2) ssi i no pertenece a las variables en x

  31. Lógica-Cálculo de Predicados-Variables Limitadas • Variable limitada: • Sea i una variable que ocurre libre en E. Entonces, i está limitada en las expresiones: • (x| E: F) o (x| F: E) o ( x| E: F) o ( x| F: E) ssi i pertenece a las variables en x. • Si i está limitada en E1, entonces, i está limitada en: • (E1) • (y| E1: F) o (y| F: E1) o ( y| E1: F) o ( y| F: E1) • Una fórmula es cerrada si no tiene ocurrencias de variables libres.

  32. Lógica-Cálculo de Predicados • Una interpretación de un lenguaje del cálculo de Predicados es un 4-tupla: I=(U,C,P,F), donde: U: es un conjunto no vacío de elementos llamado universo de discurso. C: es una función de las constantes a elementos en U. P: hace corresponder cada símbolo de predicado p de aridad n a un subconjunto Un. F: hace corresponder cada símbolo de funcional p de aridad n de subconjunto Un a un conjunto U.

  33. Lógica-Cálculo de Predicados • Dado un lenguaje L,  una fórmula sobre L, e I una interpretación de L sobre el universo U • Una asignación de  es una función parcial de las variables de L a U. l • Una interpretación I es modelo de un conjunto de fórmulas , ssi I satisface cada fórmula en . • El problema de decidir si  |=  es un problema no decidible.

  34. Cálculo de Predicados y Bases de Datos-Limitaciones • Interpretaciones Finitas. • Closed World Assumption. • Lenguajes basados en Lógica de Predicados pero con restricciones: • Consultas Conjuntivas: • Cálculo y Algebra Relacional sin diferencia o negación. Datalog sin recursión y negación. • Consultas Conjuntivas con Negación. • Consultas Conjuntivas con clausura transitiva.

  35. Modelo Relacional • Estructura básica: • Relación: • Se define sobre un conjunto de dominios D1,..,Dn. • Corresponde a un subconjunto sobre el producto cartesiano de D1,..,Dn • Propiedades: • No existen tuplas repetidas. • El orden de los elementos es irrelevante. • Si las columnas se nombran, en orden de las columnas es irrelevante. • Restricciones: • Integridad Referencial • Clave Primaria

  36. Modelo Relacional-Terminología • Sea R una relación con los atributos A1,…,An sobre los dominios D1,…, Dn, respectivamente, entonces R  D1x…xDn • No hay tuplas repetidas. • El orden de las tuplas es irrelevante. • El orden de las columnas es irrelevante.

  37. Terminología Nombres de Attributos Producto(Nombre Relación) Nombre Precio Categoria Fabricante Carton 1000 chocolate Savoy Toronto 6000 chocolate Savoy CafeMocha 3000 alimento Fama de America tuplas (Aridad=4) Producto(Nombre: string, Precio: real, Categoria: enum, Fabricante: string)

  38. Interrogando a una Base de Datos SELECT P.Fabricante FROM Producto P WHERE P.Precio>1000 • SQL (Structured Query Language) • Basado en Álgebra y Cálculo Relacional. • Datalog.

  39. Modelo Relacional-Lenguajes de Interrogación • Algebra Relacional: • Basado en teoría de conjuntos. • Cerrada. • Cálculo Relacional • Basado en Lógica de Primer Orden.

  40. Álgebra Relacional • Álgebra cerrada: • El resultado de la aplicación de cualquier operador del álgebra relacional a una o más relaciones es también una relación. • Operadores Básicos: • Selección • Proyección • Producto Cartesiano • Unión • Intersección • Operadores No Básicos: • Join: Theta, Natural.

  41. Álgebra Relacional • Selección: selecciona las tuplas de una relación R que satisface la condición F: (R,F)={t/ t  R y t satisface F} • Proyección: permite identificar los valores de los campos identificados, descartando el resto de los campos de la relación. (R,A1,…,Am)={<t.A1,..,t.Am>/ t  R}

  42. Álgebra Relacional • Producto Cartesiano: R1 X R2={<t.A1,…,t.An,k.B1,..,k.Bm>/ t  R1 y k  R2} • Theta Join: R1 Join Cond R2= (R1 X R2, Cond). • Join Natural: R1 Join R2= (R1 Join Cond R2,A1..An,B1,..,Bm-n)

  43. Álgebra Relacional • Dar todas la compañías que producen productos de la categoría “chocolate”. • T1: (Categoria=“chocolate”)(Producto) • T2: Fabricante(T1)

  44. Álgebra Relacional T1: (Categoria=“chocolate”)(Producto)) Nombre Precio Categoria Fabricante Carton 1000 chocolate Savoy Toronto 6000 chocolate Savoy

  45. Álgebra Relacional • T2: Fabricante(T1) Fabricante Savoy

  46. Álgebra Relacional • Producto(Nombre,Precio,Categoria,Fabricante) • Fabricante(Fabricante,RazonSocial,NumeroEmpleados) “El número de empleados de las empresas que fabrican productos de la categoría chocolate” • T1: (Producto Join Fabricante) • T2: (Categoria=“chocolate”)(T1) • T3: NumeroEmpleados(T2) Join= Join Natural

  47. Álgebra Relacional • Estadísticas: • Producto • Cuatro millones de tuplas • Diez mil valores diferentes en el atributo Categoria. • Tuplas uniformente distribuidas en los valores del atributo Categoria. • Cada categoría es producida por un único fabricante. • Fabricante • Dos mil tuplas.

  48. Álgebra Relacional • Tamaño en tuplas de T1: • 4.000.000 tuplas • Tamaño en tuplas de T2: • 400 tuplas • Tamaño en tuplas de T3: • 1 tuplas • Se puede hacer algo mejor?

  49. Álgebra Relacional • Producto(Nombre,Precio,Categoria,Fabricante) • Fabricante(Fabricante,RazonSocial,NumeroEmpleados) “El número de empleados de las empresas que fabrican prodcutos de la categoría chocolate” • T’1: (Categoria=“chocolate”)(Producto) • T’2: Fabricante(T’1) • T’3: NumeroEmpleados (T’2 Join Fabricante)

  50. Álgebra Relacional • Tamaño en tuplas de T’1: • 400 tuplas • Tamaño en tuplas de T’2: • 1 tuplas • Tamaño en tuplas de T’3: • 1 tuplas

More Related