Vous êtes sur la page 1sur 9

Bases de datos deductivas

Un sistema de base de datos deductiva, es un sistema de base de datos pero con la diferencia de que permite hacer deducciones a travs de inferencias. Se basa principalmente en reglas y hechos que son almacenados en la base de datos. Las bases de datos deductivas son tambin llamadas bases de datos lgicas, a raz de que se basa en lgica matemtica. Este tipo de base de datos surge debido a las limitaciones de la Base de Datos Relacional de responder a consultas recursivas y de deducir relaciones indirectas de los datos almacenados en la base de datos. Lenguaje Utiliza un subconjunto del lenguaje Prolog llamado Datalog el cual es declarativo y permite al ordenador hacer deducciones para contestar a consultas basndose en los hechos y reglas almacenados. Ventajas

Uso de reglas lgicas para expresar las consultas. Permite responder consultas recursivas. Cuenta con negaciones estratificadas Capacidad de obtener nueva informacin a travs de la ya almacenada en la base de datos mediante inferencia. Uso de algoritmos de optimizacin de consultas. Soporta objetos y conjuntos complejos.

Desventajas

Crear procedimientos eficaces de deduccin para evitar caer en bucles infinitos. Encontrar criterios que decidan la utilizacin de una ley como regla de deduccin. Replantear las convenciones habituales de la base de datos.

Fases

Fase de Interrogacin: se encarga de buscar en la base de datos informaciones deducibles implcitas. Las reglas de esta fase se denominan reglas de derivacin. Fase de Modificacin: se encarga de aadir a la base de datos nuevas informaciones deducibles. Las reglas de esta fase se denominan reglas de generacin.

Interpretacin Encontramos dos teoras de interpretacin de las bases de datos deductivas:

Teora de Demostracin: consideramos las reglas y los hechos como axiomas.

Los hechos son axiomas base que se consideran como verdaderos y no contienen variables. Las reglas son axiomas deductivos ya que se utilizan para deducir nuevos hechos.

Teora de Modelos: una interpretacin es llamada modelo cuando para un conjunto especfico de reglas, stas se cumplen siempre para esa interpretacin. Consiste en asignar a un predicado todas las combinaciones de valores y argumentos de un dominio de valores constantes dado. A continuacin se debe verificar si ese predicado es verdadero o falso.

Mecanismos Existen dos mecanismos de inferencia:


Ascendente: donde se parte de los hechos y se obtiene nuevos aplicando reglas de inferencia. Descendente: donde se parte del predicado (objetivo de la consulta realizada) e intenta encontrar similitudes entre las variables que nos lleven a hechos correctos almacenados en la base de datos.

Definicin: Un sistema de bases de datos que tenga la capacidad de definir reglas con las cuales deducir o inferir informacin adicional a partir de los hechos almacenados en las bases de datos se llama Sistema de Bases de Datos Deductivas. Puesto que parte de los fundamentos tericos de algunos sistemas de sta especie es la lgica matemtica, a menudo se les denomina Bases de Datos Lgicas. Una base de datos deductiva es, en esencia, un programa lgico; mapeo de relaciones base hacia hechos, y reglas que son usadas para definir nuevas relaciones en trminos de las relaciones base y el procesamiento de consultas. Los sistemas Bases de Datos Deductivas intentan modificar el hecho de que los datos requeridos residan en la memoria principal (por lo que la gestin de almacenamiento secundario no viene al caso) de modo que un SGBD se ample para manejar datos que residen en almacenamiento secundario. En un sistema de Bases de Datos Deductivas por lo regular se usa un lenguaje declarativo para especificar reglas. Con lenguaje declarativo se quiere decir un lenguaje que define lo que un programa desea lograr, en vez de especificar los detalles de cmo lograrlo. Una mquina de inferencia (o mecanismo de deduccin) dentro del sistema puede deducir hechos nuevos a partir de la base de datos interpretando dichas reglas. El modelo empleado en las Bases de Datos Deductivas est ntimamente relacionado con el modelo de datos relacional, y sobre todo con el formalismo del clculo relacional. Tambin esta relacionado con el campo de la programacin lgica y el lenguaje Prolog. Los trabajos sobre Bases de Datos Deductivas basados en lgica han utilizado Prolog como punto de partida. Con un subconjunto de Prolog llamado Datalog se definen reglas declarativamente junto con un conjunto de relaciones existentes que se tratan como literales en el lenguaje. Aunque la estructura gramatical se parece a la de Prolog, su semntica operativa (esto es, la forma como debe ejecutarse un programa en Datalog) queda abierta. Una Base de Datos Deductiva utiliza dos tipos de especificaciones: hechos y reglas. Los hechos se especifican de manera similar a como se especifican las relaciones, excepto que no es necesario incluir los nombres de los atributos. Recordemos que una tupla en una relacin describe algn hecho del mundo real cuyo significado queda determinado en parte por los nombres de los atributos. En una Base de Datos Deductiva, el significado del valor del atributo en una tupla queda determinado exclusivamente por su posicin dentro de la tupla. Las reglas se parecen un poco a las vistas relacionales. Especifican relaciones virtuales que no estn almacenadas realmente, pero que se pueden formar a partir de los hechos aplicando mecanismos de inferencia basados en las especificaciones de las reglas. La principal diferencia entre las reglas y las vistas es que en las primeras puede haber recursin y por tanto pueden producir vistas que no es posible definir en trminos de las vistas relacionales estndar. Las BDD buscan derivar nuevos conocimientos a partir de datos existentes proporcionando interrelaciones del mundo real en forma de reglas. Utilizan mecanismos internos para la evaluacin y la optimizacin.

Caractersticas: Una Base de Datos Deductiva debe contar al menos con las siguientes caractersticas:

Tener la capacidad de expresar consultas por medio de reglas lgicas. Permitir consultas recursivas y algoritmos eficientes para su evaluacin. Contar con negaciones estratificadas. Soportar objetos y conjuntos complejos. Contar con mtodos de optimizacin que garanticen la traduccin de especificaciones dentro de planes eficientes de acceso. Como caracterstica fundamental de una Base de Datos Deductiva es la posibilidad de inferir informacin a partir de los datos almacenados, es imperativo modelar la base de datos como un conjunto de frmulas lgicas, las cuales permiten inferir otras frmulas nuevas.

Reglas de Deduccin: Las relaciones de una Base de Datos Relacional se define por intencin y por extensin. Para una Base particular, la intencin de las relaciones que la constituyen se define por un conjunto de leyes generales, mientras que cada estado de la Base proporciona una extensin (conjunto de tuplas) para cada una de las relaciones. Las tuplas constituyen, de hecho, informaciones elementales. En un SGBD convencional, todas las leyes generales se explotan para mantener la coherencia de las informaciones elementales; a estas leyes se las denomina entonces restricciones de integridad. Por el contrario, en un Sistema deductivo, algunos (o todas) de estas leyes se utilizan como reglas de deduccin para deducir nuevas informaciones elementales a partir de las introducidas explcitamente en la Base. Por ejemplo: se considera una Base de Datos en la que se detallan los lazos de parentesco entre individuos, interesndose particularmente por las relaciones PADRE y ABUELO. Entre las leyes generales que conciernen a estas dos relaciones, se considera la ley 1 que expresa Todo padre de un padre es un abuelo, y se supone que, en un momento dado, el estado de la Base es tal que las informaciones elementales relativas a las relaciones PADRE y ABUELO son las siguientes: PADRE P H ABUELO A N Juan Pablo Roberto Pedro Pablo Jaime

Si la ley 1 se considera como una regla de coherencia, este estado de la Base debe considerarse no vlido, ya que la vulnera. En efecto, la extensin de ABUELO no contiene la tupla (Juan, Jaime), siendo as que Juan es el padre de Pablo y Pablo es el padre de Jaime. En este caso se ha hecho (implcitamente) la hiptesis de que la tupla que satisface (en un momento dado) la relacin ABUELO son exactamente las que aparecen en su extensin. Si se prescinde de este supuesto se puede, por el contrario, suponer que las tuplas que satisfacen la relacin ABUELO no son slo las que aparecen de modo explcito en su extensin, sino tambin las que pueden deducirse, mediante la ley 1, de las informaciones relativas a PADRE; usando as 1 como regla de deduccin. Problemas asociados a las reglas de deduccin: La explotacin de las reglas de deduccin en un SGBD plantea algunos problemas:

Encontrar criterios que permitan, para una ley dada; decidir su utilizacin como regla de deduccin o como regla de coherencia. Replantear correctamente, en un contexto deductivo, las convenciones habituales en una base de datos (representaciones de informaciones negativas, eficacia de las respuestas a las interrogaciones, cierre del dominio). Desarrollar procedimientos eficaces de deduccin

Utilizacin de las reglas de deduccin: La explotacin de las reglas de deduccin pueden analizarse de dos formas. La primera, consiste en su uso en fase de interrogacin, buscando as informaciones deducibles implcitas. Una segunda forma consiste en su uso en fase de modificacin, cuando se aaden informaciones deducibles. Segn se utilicen en el primer o el segundo modo, las reglas se denominan de derivacin o de generacin. Interpretacin de reglas: Existen dos alternativas principales para interpretar el significado terico de las reglas: por la teora de demostracin y por la teora de modelos. En los sistemas prcticos, es mecanismo de inferencia que tiene el sistema, define la interpretacin exacta, que pudiera no coincidir con ninguna de las dos interpretaciones tericas. El mecanismo de inferencia es un procedimiento computacional y por tanto provee una interpretacin computacional del significado de las reglas. Una interpretacin es la llamada interpretacin de reglas por la teora de demostraciones. En ella se considerarn los hechos y las reglas como enunciados verdades o axiomas. Los axiomas base no contienen variables. Los hechos son axiomas base que se dan por ciertos. Las reglas se llaman axiomas deductivos, ya que pueden servir para deducir hechos nuevos.

Con los axiomas deductivos se pueden construir demostraciones que deriven hechos nuevos a partir de los ya existentes. Los axiomas deductivos, junto con las restricciones de integridad constituyen lo que en ocasiones se denomina base de datos intencional, y la base de datos extensional junto con la intencional constituyen lo que suele llamarse Base de Datos Deductivas; aunque en realidad, quien se encarga de las deducciones es el DBMS, no la base de datos. La interpretacin por la teora de demostraciones ofrece un enfoque por procedimientos o computacional para calcular una respuesta a la consulta Datalog. Al proceso de demostrar si un determinado hecho (teorema) se cumple se le conoce tambin como demostracin de teoremas. El segundo tipo de demostracin se llama interpretacin por la teora de modelos. Aqu, dado un dominio finito o infinito de valores constantes, se le asigna a un predicado todas las combinaciones posibles de valores como argumentos. Despus se debe determinar si el predicado es verdadero o falso. En general, basta con especificar las combinaciones de argumentos que hacen que el predicado sea verdadero, y decir que todas las dems combinaciones hacen que sean falso. Si esto se hace con todos los predicados, se habla de una interpretacin del conjunto de predicados. A una interpretacin se le llama modelo para un conjunto especfico de reglas si esas reglas siempre se cumplen en esa interpretacin; es decir, para cualesquiera valores que se asignen a las variables de las reglas, la cabeza de reglas es verdadera cuando sustituimos los valores de verdad asignados a los predicados en el cuerpo de las reglas segn esa interpretacin. De este modo, siempre que se aplica una sustitucin (enlace) a las variables de las reglas, si todos los predicados del cuerpo de un arreglo son verdaderos en esa interpretacin, el predicado de la cabeza de la regla tambin debe ser verdadero. Cabe sealar que una regla se viola si un determinado enlace de constantes en a las variables hace verdaderos todos los predicados del cuerpo de la regla, pero hace que el predicado de la cabeza de la regla sea falso. Seguridad de los programas en Datalog en las BDD: Se dice que un programa o una regla es seguro se genera un conjunto finito de hechos. El problema terico de determinar si un conjunto de reglas es o no seguro es indecidible. Sin embargo, es posible determinar la seguridad de formas restringidas de reglas. Se obtendrn reglas inseguras, que puedan general un nmero infinito de hecho, cuando una de las variables de la regla pueda abarcar un dominio infinito de valores y esa variable no est limitada a abarcar una relacin finita. Para definir reglas seguras de manera ms formal, se utiliza el concepto de variable limitada. Una variable X es limitada en una regla si: a) aparece en un predicado normal (no integrado) en el cuerpo de la regla; b) aparece en un predicado de la forma X = c o c = X o (c1<= X y X <= c2) en el cuerpo de la regla, donde c, c1 y c2 son valores constantes; o c) aparece en predicado de la forma X = Y o Y = X en el cuerpo de la regla, donde Y es una variable limitada. Se dice que una regla es segura si todas sus variables son limitadas. Sistema LDL:

El proyecto Logic Data Languaje (Lenguaje Lgico de Dato: LDL) de Microelectronics and Computer Corporation (MCC) se inici en 1984 con dos objetivos primarios:

Crear un sistema que extendiera el modelo relacional y a la vez aprovechara algunas de las caractersticas positivas de un SGBDR (Sistema de Gestin de Base de Datos Relacionales). Mejorar la funcionalidad de un SGBD de modo que operara como un SGBD deductivo y adems permitiera la creacin de aplicaciones de propsito general.

Ahora el sistema resultante es un SGBD deductivo que se encuentra en el mercado. Aplicaciones de LDL : El sistema LDL se ha utilizado en los siguientes dominios de aplicacin:

Modelado de empresas: este dominio implica modelar la estructura, los procesos y las restricciones dentro de una empresa. Los datos relacionados con ella pueden resultar en modelo ER extendido que contiene cientos de entidades y vnculos y miles de atributos. Es posible desarrollar varias aplicaciones tiles para los diseadores de nuevas aplicaciones (as como para los gerentes) a partir de esta metabase de datos, que contiene informacin tipo diccionario a cerca de toda la empresa. Prueba de hiptesis o dragado de datos: este dominio implica formular una hiptesis, traducirla a un conjunto de reglas LDL y una consulta, y luego ejecutar la consulta contra los datos para probar la hiptesis. El proceso se repite reformulando las reglas y la consulta. Esto se ha aplicado al anlisis de datos de genoma en el campo de la microbiologa. El dragado de datos consiste en identificar las secuencias de DNA a partir de autorradiografas digitalizadas de bajo nivel obtenidas de experimentos con bacterias E. coli. Reutilizacin de software: el grueso del software para una aplicacin se desarrolla en cdigo estndar por procedimientos, y una pequea fraccin se basa en reglas y se codifica en LDL. Las reglas dan origen a una base de conocimientos que contienen los siguientes elementos:
o o

Una definicin de cada mdulo C empleado en el programa. Un conjunto de reglas que define las formas en que los mdulos pueden exportar / importar funciones, restricciones, etc.

La base de conocimientos puede servir para tomar decisiones referentes a la reutilizacin de subconjuntos del software. Los mdulos pueden recombinarse para satisfacer tarea especficas, en tanto se satisfagan las reglas pertinentes. Se est experimentando con esto en el software bancario.

Hardware: Fsicamente, las bases de datos deductivas casi siempre se almacenan en medios de acceso directo, por lo regular discos magnticos de cabeza mvil, aunque en algunos sistemas pudieran utilizarse otros medios (tambores, discos pticos) en vez de discos o adems de discos. Los tiempos de acceso a disco son mucho ms largos que los de acceso a la memoria principal: 400 milisegundos o ms para un disco flexible, y 30 milisegundos o menos para un disco "rpido" grande. El acceso a la memoria principal ser con toda probabilidad cuatro o cinco rdenes de magnitud ms rpido que el acceso a disco en un sistema dado. Por lo tanto, un objetivo prioritario de desempeo en sistemas de Bases de Datos Deductivas es reducir al mnimo el nmero de accesos a disco (E/S a disco). Cualquier organizacin de los datos en el disco se denomina estructura de almacenamiento, la cual debe ser elegido el proceso de diseo, a esto se le conoce como diseo fsico de Bases de Datos Deductivas. Algunas de las estructuras de almacenamiento utilizadas con mayor frecuencia en los sistemas actuales son la indexacin, hash, cadenas de apuntadores y tcnicas de compresin. Se han hecho varias sugerencias alternativas para crear hardware especial enfocado a las funciones de gestin de datos. Estas alternativas cuyo nombre genrico es mquinas (o computadores) de Bases de Datos, incluyen procesadores dorsales, dispositivos inteligentes, sistemas multiprocesadores, sistema de memoria asociativa y procesadores de propsito general. Arquitectura de una SABD Deductivo: A continuacin se muestra la arquitectura de una SABD Deductivo con su dos componentes fundamentales: un mdulo deductivo y un SABD relacional. Reglas generales hechos elementales (datos implcitos) (datos explcitos) SABD Deductivo