Table1 attribute1 Table2 attribute2. Table3. TableA attribute a attribute b



Documentos relacionados
Repaso de Conceptos Básicos de Bases de Datos

Contenido Motivación Esquema general

Bases de Datos 3º Informática de Sistemas

Bases de Datos XPath - XQuery 1. XML: XPath - XQuery. Jorge Pérez Rojas Universidad de Talca, II Semestre 2006

BASES DE DATOS EL MODELO RELACIONAL: LAS TABLAS

Los requisitos de accesibilidad en un proyecto software. Implicaciones de usuarios discapacitados en el proceso software

CURSO BÁSICO DE MATEMÁTICAS PARA ESTUDIANTES DE ECONÓMICAS Y EMPRESARIALES

LAS SUBCONSULTAS SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

1. DML. Las subconsultas

Transformaciones Lineales. Definiciones básicas de Transformaciones Lineales. José de Jesús Angel Angel.

TEOREMA DE DETERMINACIÓN DE APLICACIONES LINEALES

RELACIONES DE RECURRENCIA

Mineria de Grafos en Redes Sociales usando MapReduce

SQL/XML. Ing. Hernández López Augusto Dobeslao

Bases de Datos Multimedia

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

6- Combinación de tablas

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

Tutorial de MS Access Un sistema de Bases de Datos Relacional. Profesores: Hugo Mora, Ignacio Casas

AUTOMATIZACIÓN INDUSTRIAL III

LÓGICA MATEMÁTICA. Álgebra de Boole Guía de trabajo

ESTRUCTURAS ALGEBRAICAS

Vistas en postgresql

Resolución de Problemas: Situaciones y Contextos

ÁLGEBRA III. Práctica 1 2d. Cuatrimestre

Matrices invertibles. La inversa de una matriz

Oferta tecnológica: Herramienta software y método para modelar aplicaciones web independientes de dispositivo

Seminario: Expresividad semántica y lógica de segundo orden:

Subespacios vectoriales en R n

INTRODUCCION. Ing. Camilo Zapata Universidad de Antioquia

Nombre/Código: Febrero Examen I. 5 /10pts. Total: /50pts

MLM Matemática Discreta

CURSO DE ESPECIALISTA EN DESARROLLO DE APLICACIONES WEB

ARQUITECTURAS DE SOFTWARE ORIENTADAS A SERVICIOS

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

NOTA DE ELEVACIÓN SEC. DE EXTENSIÓN UNIVERSITARIA

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

UNIVERSIDAD TECNICA DE MANABI Facultad de Ciencias Informáticas Ingeniería en sistemas. SEGURIDAD INFORMATICA Tema: Mysql Injection

FUNCIONES EN R. Agosto 2007

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

Operaciones morfológicas básicas

Arquitectura Cliente/Servidor

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl

POLINOMIOS. División. Regla de Ruffini.

Programación en Internet Curso Índice

Almacenamiento de documentos XML

Uso de HIBERNATE en una aplicación WEB DESARROLLO DE APLICACIONES PARA LA WEB II

Bases de Datos 2. Teórico

Manual de Referencia. Apertura

Figura 4.1 Clasificación de los lenguajes de bases de datos

posgrados de al Facultad de Ciencias Agrarias de la UNCuyo. En el mismo se describe

UNIDAD 3 ASPECTOS ASOCIADOS CON BASES DE DATOS. Diseno Físico de Bases de Datos Objetivo. 2.2 Visión General del Procesamiento de Consultas

GUÍA DOCENTE. Curso Ingeniería Informática en Sistemas de Información Doble Grado:

Dominios de factorización única

Funciones Reales en una Variable

Sistemas Manejadores de Bases de Datos ( Postgres)

Partes, módulos y aplicaciones de un Controlador de Procesos

Tablas. Estas serán las tablas que usaremos en la mayoría de ejemplos. Empleado

SQL (Structured Query Language)

Nota 1. Los determinantes de orden superior a 3 se calculan aplicando las siguientes propiedades:

Analista Programador

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008

Plan de Clase Fecha: Curso: Matemáticas Grado: Bloque: Eje temático: Apartado:

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

1. Suma y producto de polinomios. Propiedades

Algebra Lineal -III: Álgebra Vectorial en R2 and R 3

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD CULHUACÁN INTEGRANTES

1. INFORMACIÓN GENERAL

Conjuntos, Relaciones y Grupos. Problemas de examen.

Clase 15 Espacios vectoriales Álgebra Lineal

Descripción y tabla de especificaciones para prueba formativa Área Matemática Año 2014

TEMA 5 ESTUDIOS CORRELACIONALES.

Preliminares. Tipos de variables y Expresiones

Revista digital Matemática, Educación e Internet ( Vol. 8, N o

Vectores: Producto escalar y vectorial

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

BASES DE DATOS TEMA 1

4.1 El espacio dual de un espacio vectorial

Consultas con combinaciones

Recuperación de información Bases de Datos Documentales Licenciatura en Documentación Curso 2011/2012

DIRECTRICES Y ORIENTACIONES GENERALES PARA LAS PRUEBAS DE ACCESO A LA UNIVERSIDAD

FECHA PREVISTA PUBLICACIÓN DE LA OFERTA EMPLEO PÚBLICO EN EL DIARIO OFICIAL DE GALICIA: MARZO 2016.

Generación de Números Pseudo-Aleatorios

M III ABSTRACCIÓN Y CLASIFICACIÓN

1. Producto escalar, métrica y norma asociada

Capítulo 1: Introducción a los Sistemas de Gestión de Bases de Datos (SGBD)

Probabilidades y Estadística (Computación) Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Ana M. Bianco y Elena J.

"Módulo OOWS para StarUML" INTRODUCCIÓN

Transcripción:

M fuente Table1 attribute1 Table2 attribute2 TableB Table3 destino TableA attribute a attribute b

M fuente Table1 attribute1 Table2 attribute2 TableB Table3 destino TableA attribute a attribute b

M fuente Table1 attribute1 Table2 attribute2 TableB Table3 destino TableA attribute a attribute b

M fuente Table1 attribute1 Table2 attribute2 TableB Table3 destino TableA attribute a attribute b

M fuente Table1 attribute1 Table2 attribute2 TableB Table3 destino TableA attribute a attribute b

M fuente Table1 attribute1 Table2 attribute2 TableB Table3 M destino TableA attribute a attribute b

M fuente Table1 attribute1 Table2 attribute2 TableB Table3 M destino TableA attribute a attribute b

M fuente Table1 attribute1 Table2 attribute2 TableB Table3 M destino TableA attribute a attribute b

M fuente Table1 attribute1 Table2 attribute2 TableB Table3 M destino TableA attribute a attribute b Si M se especifica en un lenguaje L Puede M especificarse también en L?

Las propuestas actuales no resuelven el problema. Considerando los lenguajes de mapeo más usados en la práctica:

Las propuestas actuales no resuelven el problema. Considerando los lenguajes de mapeo más usados en la práctica: Inversa (Fagin 06): muy pocos mapeos tienen inversa

Las propuestas actuales no resuelven el problema. Considerando los lenguajes de mapeo más usados en la práctica: Inversa (Fagin 06): muy pocos mapeos tienen inversa Quasi-inversa (Fagin et al. 07): no siempre existe, y no admite lenguaje cerrado

Las propuestas actuales no resuelven el problema. Considerando los lenguajes de mapeo más usados en la práctica: Inversa (Fagin 06): muy pocos mapeos tienen inversa Quasi-inversa (Fagin et al. 07): no siempre existe, y no admite lenguaje cerrado Maximum-Recovery (Arenas, Pérez, Riveros 08): siempre existe, pero no admite lenguaje cerrado

Las propuestas actuales no resuelven el problema. Considerando los lenguajes de mapeo más usados en la práctica: Inversa (Fagin 06): muy pocos mapeos tienen inversa Quasi-inversa (Fagin et al. 07): no siempre existe, y no admite lenguaje cerrado Maximum-Recovery (Arenas, Pérez, Riveros 08): siempre existe, pero no admite lenguaje cerrado Existe una noción de inverso que admita un lenguaje L cerrado bajo inversión?

Propiedades de Clausura para Operadores de Mapeos Jorge Pérez Alumno de Doctorado Departamento de Ciencia de la Computación Pontificia Universidad Católica de Chile trabajo conjunto con Marcelo Arenas, Cristian Riveros, Juan Reutter

Contribuciones Conceptualmente Una nueva noción de inversa basada en consultas conjuntivas, CQ-Maximum Recovery que admite un lenguaje cerrado

Contribuciones Conceptualmente Una nueva noción de inversa basada en consultas conjuntivas, CQ-Maximum Recovery que admite un lenguaje cerrado Tecnicamente Condiciones necesarias y suficiente para existencia Algoritmo para computar una inversa Demostración de que admite un lenguaje cerrado Demostración de que consultas conjuntivas maximal

Consultas conjuntivas CQ (SELECT-FROM-WHERE de SQL) Ejemplo consulta conjuntiva (CQ) Alumno(nombre, carrera id), Carrera(id,nombre).

Consultas conjuntivas CQ (SELECT-FROM-WHERE de SQL) Ejemplo consulta conjuntiva (CQ) Alumno(nombre, carrera id), Carrera(id,nombre). nombres de alumnos y sus carreras?

Consultas conjuntivas CQ (SELECT-FROM-WHERE de SQL) Ejemplo consulta conjuntiva (CQ) Alumno(nombre, carrera id), Carrera(id,nombre). nombres de alumnos y sus carreras? SELECT Alumno.nombre, Carrera.nombre FROM Alumno, Carrera WHERE Alumno.carrera id = Carrera.id

Consultas conjuntivas CQ (SELECT-FROM-WHERE de SQL) Ejemplo consulta conjuntiva (CQ) Alumno(nombre, carrera id), Carrera(id,nombre). nombres de alumnos y sus carreras? SELECT Alumno.nombre, Carrera.nombre FROM Alumno, Carrera WHERE Alumno.carrera id = Carrera.id Q(x, y) = U Alumno(x, U) Carrera(U, y)

Consultas conjuntivas CQ (SELECT-FROM-WHERE de SQL) Ejemplo: consulta conjuntiva con desigualdades (CQ ) Alumno(nombre, carrera id), Carrera(id,nombre).

Consultas conjuntivas CQ (SELECT-FROM-WHERE de SQL) Ejemplo: consulta conjuntiva con desigualdades (CQ ) Alumno(nombre, carrera id), Carrera(id,nombre). nombres de alumnos que cursan dos carreras y sus carreras?

Consultas conjuntivas CQ (SELECT-FROM-WHERE de SQL) Ejemplo: consulta conjuntiva con desigualdades (CQ ) Alumno(nombre, carrera id), Carrera(id,nombre). nombres de alumnos que cursan dos carreras y sus carreras? Q(x, y, z) = U, V Alumno(x, U) Alumno(x, V) Carrera(U, y) Carrera(V, z) y z

Mapeos entre esquemas Ejemplo fuente: Alumno(nombre, carrera id), Carrera(id,nombre). destino: Estudiante(id,nombre,nom carrera), Depto(id, carrera)

Mapeos entre esquemas Ejemplo fuente: Alumno(nombre, carrera id), Carrera(id,nombre). destino: Estudiante(id,nombre,nom carrera), Depto(id, carrera) Alumno(x, y) Carrera(y, z) I D. Estudiante(I, x, z) Depto(D, z).

Mapeos entre esquemas Ejemplo fuente: Alumno(nombre, carrera id), Carrera(id,nombre). destino: Estudiante(id,nombre,nom carrera), Depto(id, carrera) Alumno(x, y) Carrera(y, z) I D. Estudiante(I, x, z) Depto(D, z). En general Un mapeo CQ -to-cq es un conjunto de fórmulas

Mapeos entre esquemas Ejemplo fuente: Alumno(nombre, carrera id), Carrera(id,nombre). destino: Estudiante(id,nombre,nom carrera), Depto(id, carrera) Alumno(x, y) Carrera(y, z) I D. Estudiante(I, x, z) Depto(D, z). En general Un mapeo CQ -to-cq es un conjunto de fórmulas ϕ(x 1,x 2,...,x n ) ψ(x 1,x 2,...,x n )

Mapeos entre esquemas Ejemplo fuente: Alumno(nombre, carrera id), Carrera(id,nombre). destino: Estudiante(id,nombre,nom carrera), Depto(id, carrera) Alumno(x, y) Carrera(y, z) I D. Estudiante(I, x, z) Depto(D, z). En general Un mapeo CQ -to-cq es un conjunto de fórmulas ϕ(x 1,x 2,...,x n ) ψ(x 1,x 2,...,x n ) ϕ(x 1,x 2,...,x n ) es una consulta CQ ψ(x 1,x 2,...,x n ) es una consulta CQ

Intercambio de datos Ejemplo Alumno(x, y) Carrera(y, z) I D. Estudiante(I, x, z) Depto(D, z).

Intercambio de datos Ejemplo Alumno(x, y) Carrera(y, z) I D. Estudiante(I, x, z) Depto(D, z). Alumno nombre carrera id Valesca 1 Guillermo 1 Rosa 1 Jose 3 Carrera id nombre 1 Computación 2 Química 3 Mecánica

Intercambio de datos Ejemplo Alumno(x, y) Carrera(y, z) I D. Estudiante(I, x, z) Depto(D, z). Alumno nombre carrera id Valesca 1 Guillermo 1 Rosa 1 Jose 3 Carrera id nombre 1 Computación 2 Química 3 Mecánica

Intercambio de datos Ejemplo Alumno(x, y) Carrera(y, z) I D. Estudiante(I, x, z) Depto(D, z). Alumno nombre carrera id Valesca 1 Guillermo 1 Rosa 1 Jose 3 Estudiante id nombre nombre carrera I1 Valesca Computación I2 Guillermo Computación I3 Rosa Computación I4 Jose Mecánica Carrera id nombre 1 Computación 2 Química 3 Mecánica id D1 D2 Depto nombre Computación Mecánica

Intercambio de datos Ejemplo Alumno(x, y) Carrera(y, z) I D. Estudiante(I, x, z) Depto(D, z). Alumno nombre carrera id Valesca 1 Guillermo 1 Rosa 1 Jose 3 Estudiante id nombre nombre carrera I1 Valesca Computación I2 Guillermo Computación I3 Rosa Computación I4 Jose Mecánica Solución canónica Carrera id nombre 1 Computación 2 Química 3 Mecánica id D1 D2 Depto nombre Computación Mecánica

CQ-maximum recovery Sean M un mapeo entre un esquema fuente y uno destino D 1 una BD en el esquema fuente D 2 la BD destino obtenida usando M desde D 1

CQ-maximum recovery Sean M un mapeo entre un esquema fuente y uno destino D 1 una BD en el esquema fuente D 2 la BD destino obtenida usando M desde D 1 M es un CQ-maximum recovery de M, si para toda Q en CQ

CQ-maximum recovery Sean M un mapeo entre un esquema fuente y uno destino D 1 una BD en el esquema fuente D 2 la BD destino obtenida usando M desde D 1 M es un CQ-maximum recovery de M, si para toda Q en CQ Si D 3 es la BD obtenida usando M desde D 2 Q(D 3 ) Q(D 1 )

CQ-maximum recovery Sean M un mapeo entre un esquema fuente y uno destino D 1 una BD en el esquema fuente D 2 la BD destino obtenida usando M desde D 1 M es un CQ-maximum recovery de M, si para toda Q en CQ Si D 3 es la BD obtenida usando M desde D 2 Q(D 3 ) Q(D 1 ) Para todo otro mapeo M, si D 4 es obtenida usando M desde D 2 Q(D 4 ) Q(D 3 )

CQ-maximum recovery ejemplo T(x,y) R(x,y) A(x) R(x, x)

CQ-maximum recovery ejemplo T(x,y) R(x,y) A(x) R(x, x) R(x,y) x y T(x,y)

CQ-maximum recovery admite un lenguaje cerrado Teorema Todo mapeo expresado en CQ -to-cq tiene un CQ-maximum recovery expresado en CQ -to-cq.

CQ-maximum recovery admite un lenguaje cerrado Teorema Todo mapeo expresado en CQ -to-cq tiene un CQ-maximum recovery expresado en CQ -to-cq. CQ -to-cq es un lenguaje cerrado bajo la nueva noción de inverso.

Otros resultados

Otros resultados Algoritmo (de tiempo exponencial) para computar el CQ-maximum recovery.

Otros resultados Algoritmo (de tiempo exponencial) para computar el CQ-maximum recovery. Si usas más que CQ, no se tiene clausura.

Otros resultados Algoritmo (de tiempo exponencial) para computar el CQ-maximum recovery. Si usas más que CQ, no se tiene clausura. Resultados se extienden para la composición.

Extensiones, trabajo futuro Otras operaciones Propiedades de clausura Otros modelos (XML, objeto-relacional)

Propiedades de Clausura para Operadores de Mapeos Jorge Pérez Alumno de Doctorado Departamento de Ciencia de la Computación Pontificia Universidad Católica de Chile trabajo conjunto con Marcelo Arenas, Cristian Riveros, Juan Reutter