Bases de datos deductivas (bdd)

27
Bases de Datos Deductivas (BDD). Paula Guzman Natalia Rojas Elkin Lamadrid Fabian Parra

Transcript of Bases de datos deductivas (bdd)

Page 1: Bases de datos deductivas (bdd)

Bases de Datos Deductivas (BDD).

Paula GuzmanNatalia Rojas

Elkin LamadridFabian Parra

Page 2: Bases de datos deductivas (bdd)

(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

Page 3: Bases de datos deductivas (bdd)

SEGUNDA GENERACION

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

Page 4: Bases de datos deductivas (bdd)

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.

Page 5: Bases de datos deductivas (bdd)

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.

Page 6: Bases de datos deductivas (bdd)

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?

Page 7: Bases de datos deductivas (bdd)

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.

Page 8: Bases de datos deductivas (bdd)

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.

Page 9: Bases de datos deductivas (bdd)

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.

Page 10: Bases de datos deductivas (bdd)

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.

Page 11: Bases de datos deductivas (bdd)

BASE DE DATOS DEDUCTIVA

Page 12: Bases de datos deductivas (bdd)

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.

Page 13: Bases de datos deductivas (bdd)

• 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.

Page 14: Bases de datos deductivas (bdd)

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.

Page 15: Bases de datos deductivas (bdd)

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.

Page 16: Bases de datos deductivas (bdd)

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

Page 17: Bases de datos deductivas (bdd)

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.

Page 18: Bases de datos deductivas (bdd)

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.

Page 19: Bases de datos deductivas (bdd)

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.

Page 20: Bases de datos deductivas (bdd)

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").

Page 21: Bases de datos deductivas (bdd)

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.

Page 22: Bases de datos deductivas (bdd)

• 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.

Page 23: Bases de datos deductivas (bdd)

EJEMPLO

Come

Fruta

Manzana Pera

Carne

Cerdo Res

Pollo

Pollo Frito Pollo Asado

Page 24: Bases de datos deductivas (bdd)

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).

 

Page 25: Bases de datos deductivas (bdd)

/* 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).

Page 26: Bases de datos deductivas (bdd)

/*Consultas de la Base de datos*/

cual = manzana;

carne(Cual).

come(antonio, Que).

come(Quien, cerdo).

saludable(manzana).

carnivoro(Quien).

fruitariana(lydia).

Page 27: Bases de datos deductivas (bdd)

GRACIAS.