Procesador de consultas

Transcripción

Procesador de consultas
Proyecto 2
Diseño de un procesador de consultas distribuidas
Objetivo:
El alumnos aplicara los conocimientos aprendidos en la unidad 3 para diseñar y desarrollar un
prototipo de procesador de consultas distribuida, donde aplique el uso de un analizador sintáctico
para validar la sintaxis de las consultas y realizar su descomposición en sub consultas que serán
aplicadas en distintos manejadores de bases de datos.
Descripción del proyecto.
Se diseñara una aplicación de tipo escritorio (cliente) que será la interface con el usuario y en
donde se introducirán las consultas, en esta misma interface se le mostraran al usuario los
resultados de la consulta distribuida. La consulta capturada por el usuario serán enviada al
procesador de consultas
El procesador de consultas será desarrollado bajo la estructura de un servicio web, llevara acabo
las siguientes funciones:
1.
2.
3.
4.
5.
6.
7.
8.
9.
Recibirá la consulta del cliente
Revisara la sintaxis de la consulta.
Descompondrá los elementos de la consulta recibida.
Validará la existencia de cada elemento de la consulta a través de un directorio global de
objetos
Generará las sub consultas necesarias para obtener los fragmentos de los sitios remotos.
Solicitará las consultas a cada sitio remoto
Obtendrá los resultados.
Unirá los fragmentos recibidos.
Generará el resultado final que será enviado de regreso al cliente.
Estructura funcional
Consulta ….
Cliente
Recepción del resultado de la consulta …
Consulta
Procesador de Consultas
Servicio web
Sql
Server
MySql
Access
Aspectos necesarios a cubrir por el proyecto:
Del procesador de consultas:
Identificación de relaciones globales
Análisis sintáctico
Descomposición de consultas
Validación de elementos
Procesamiento de consultas
Recuperación
Debe ser capaz de procesar más de una tabla en la consulta
Del los comandos de consultas:
Debe soportar mínimo las siguientes instrucciones
Insert
Delete
Update
Select
Operadores lógicos
And
Or
Operadores relacionales
=
>
<
>=
<=
<>
Del servicio web:
Debe tener al menos el método que procesa la consulta y regresa un dataset al cliente
1- Identificar origen de tablas
2- Que campos ocupa de cada tabla
Directorio Global
Ejemplo:
Select T1.a, T2.b, T3.c
From T1, T2
Where T1.a = T2.c
T1
T2
T3