Bases de datos deductivas (bdd)

Post on 26-Jul-2015

359 views 0 download

Transcript of Bases de datos deductivas (bdd)

Bases de Datos Deductivas (BDD).

Paula GuzmanNatalia Rojas

Elkin LamadridFabian Parra

(1940, 1950, Inicios de 1960) Aparición de  programas generadores de reportes. Sistemas de archivos. Lenguajes de definición de datos. Formación de Codasyl y publicación del primer Cobol. Aparición del primer DBMS Comercial Integrated DataStore.

PRIMERA GENERACION.

Historia

SEGUNDA GENERACION

(1960,1970)Sistema de bases de datos Jerárquico. IMS (Information Managenment System).Aparecimiento TOTAL.

TERCERA GENERACION

(Mediados1970…)Surgimiento de bases de datos relacionales. Sistemas Comerciales: Sistema R, SQL,SQL/DS, DB2, ORACLE, IDM, RTI. INGRES, IDM (Intelligent Database Maching). UNIFY,INFORMIX, SUPRA.

CUARTA GENERACION

Modelos Semánticos. Ciertos tipos de inferencia, integran a los sistemas de almacenamiento de datos. Modelos Orientados a Objetos. Objeto y versiones de objetos, consulta de ciertos datos. Aparecen las Bases de datos Deductivas.

Un sistema de base de datos deductivas, es un sistema de base de datos pero con la diferencia de que permite hacer deducciones a través de inferencias. Se basa principalmente en reglas y hechos que son almacenados en la base de datos. También las bases de datos deductivas son llamadas base de datos lógica, a raíz de que se basan en lógica matemática.

¿QUÉ SON LAS BASES DEDUCTIVAS?

Una base de datos deductiva es, en esencia, un programa lógico; mapeo de relaciones base hacia hechos, y reglas que son usadas para definir nuevas relaciones en términos 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 gestión de almacenamiento secundario no viene al caso) de modo que un SGBD se amplíe 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 especificarlos detalles de cómo lograrlo.

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 relación describe algún 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 posición dentro de la tupla.

REGLAS:

 

Se parecen un poco a las vistas relacionales. Especifican relaciones virtuales que no están 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 recursión y por tanto pueden producir vistas que no es posible definir en términos de las vistas relacionales estándar. 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 evaluación y la optimización.

BASE DE DATOS DEDUCTIVA

CARACTERÍSTICAS DE LAS BDD

• Tener la capacidad de expresar consultas por medio de reglas lógicas.

• Permitir consultas recursivas y algoritmos eficientes para su evaluación.

• Contar con negaciones estratificadas.

• Soportar objetos y conjuntos complejos.

• Contar con métodos de optimización que garanticen la seguridad en el acceso.

• Brinda la posibilidad de inferir información a partir de los datos almacenados, modelando la base de datos como un conjunto de fórmulas lógicas, las cuales permiten deducir otras fórmulas nuevas.

VENTAJAS

Las principales ventajas al utilizar una BDD son las siguientes: • Almacenamiento de pocos Datos.• Permite crear consultas recursivas con los

datos que se encuentran almacenados. • Capacidad de obtener nueva información

a través de la ya almacenada en la base de datos mediante inferencia.

DESVENTAJAS

La explotación de las reglas de deducción en una BDD plantea algunos problemas: • Encontrar criterios que decidan la utilización de una

ley como regla de deducción 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 deducción. La posibilidad de caer en bucles infinitos es un problema muy importante.

Las relaciones de una Base de Datos se define:1. Intención. 2. Extensión.

Para una Base particular, la intención de las relaciones que la constituyen se define por un conjunto de leyes generales, mientras que cada estado de la Base proporciona una extensión (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 deducción para deducir nuevas informaciones elementales a partir de las introducidas explícitamente en la Base.

REGLAS DE DEDUCCIÓN

PROBLEMAS ASOCIADOS A  LAS REGLAS DE DEDUCCIÓN

La explotación de las reglas de deducción en un SGBD plantea algunos problemas:

• Encontrar criterios que permitan, para una ley dada decidir su utilización como regla de deducción 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 deducción.

UTILIZACIÓN DE LAS REGLAS DE DEDUCCIÓN

La explotación de las reglas de deducción pueden analizarse de dos formas.

• La primera, consiste en su uso en fase de interrogación, buscando así informaciones deducibles implícitas.

• Una segunda forma consiste en su uso en fase de modificación, cuando se añaden informaciones deducibles. Según se utilicen en el primer o el segundo modo, las reglas se denominan de derivación o de generación.

SISTEMA DE INFERENCIA

En Datalog (Database Logic) no existen instrucciones de control. Su ejecución se basa en dos conceptos:

1. La unificación. 2. El backtracking.

Datalog selecciona el primer punto de elección y sigue ejecutando el programa hasta determinar si el objetivo es verdadero o falso.

En caso de ser falso entra en juego el backtracking, que consiste en deshacer todo lo ejecutado situando el programa en el mismo estado en el que estaba justo antes de llegar al punto de elección. Entonces se toma el siguiente punto de elección que estaba pendiente y se repite de nuevo el proceso. Todos los objetivos terminan su ejecución bien en éxito ("verdadero"), bien en fracaso ("falso").

Existen principalmente dos tipos de inferencia computacional basados en la interpretación de las reglas por la teoría de la demostración:

• Mecanismo de inferencia ascendente.

También llamado encadenamiento hacia delante o resolución ascendente. La máquina de inferencia parte de los hechos y aplica las reglas para generar hechos nuevos. Conviene usar una estrategia de búsqueda para generar sólo los hechos que sean pertinentes a una consulta.

• Mecanismo de inferencia descendente.

También llamado encadenamiento hacia atrás o resolución descendente. Parte del predicado que es el objetivo de la consulta e intenta encontrar coincidencias con las variables que conduzcan a hechos válidos de la base de datos. Retrocede desde el objetivo buscado para determinar hechos que lo satisfacen. Si no existieran los hechos que buscamos, el sistema entonces buscará la primera regla cuya cabeza (LHS) tenga el mismo nombre de predicado que la consulta.

EJEMPLO

Come

Fruta

Manzana Pera

Carne

Cerdo Res

Pollo

Pollo Frito Pollo Asado

PROLOG

/* Los Hechos en la Base de Datos */

fruta(manzana).

fruta(pera).

carne(cerdo).

carne(res).

pollo(pollo_frito).

pollo(pollo_asado).

 

come(lydia, manzana).

come(antonio, cerdo).

come(antonio, res).

come(antonio, pollo_frito).

come(roberto, pera).

come(roberto, pollo_frito).

come(roberto, res).

 

/* Las reglas en la Base de Datos */

/* X es saludable si X es una fruta. */

saludable(X) :- fruta(X).

/* X es carnívoro si X come Algo y ese Algo es carne o pollo. */

carnivoro(X) :- come(X, Algo), carne(Algo).

carnivoro(X) :- come(X, Algo), pollo(Algo).

 

/* X es frutariano si X como Algo, ese Algo es una fruta y X no es carnívoro. */

fruitariano(X) :- come(X, F), fruta(X), not carnivoro(X).

/*Consultas de la Base de datos*/

cual = manzana;

carne(Cual).

come(antonio, Que).

come(Quien, cerdo).

saludable(manzana).

carnivoro(Quien).

fruitariana(lydia).

GRACIAS.