DEFINICIÓN
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
DEFINICIÓN
Se usa un lenguaje declarativo para especificar reglas que define lo que un programa desea lograr, y no los detalles de cómo lograrlo.
Una máquina de inferencia (o mecanismo de deducción) que puede deducir hechos nuevos a partir de la BDD interpretando las reglas.
DEFINICIÓN
El modelo está relacionado con:
•El modelo de datos relacional,•El cálculo relacional. •La programación lógica•Con un subconjunto de Prolog llamado Datalog
(se definen reglas declarativamente junto con un conjunto de relaciones existentes que se tratan como literales).
DIFERENCIAS
BDDBDDDEDUCTIVDEDUCTIV
AS AS (ACTIVAS)(ACTIVAS)
BDDBDDPASIVASPASIVAS
APLICACIÓNAPLICACIÓN
ConocimientoReglas
Inteligencia Artificial
DeducciónLógica Matemática
ESPECIFICACIONES
Utiliza dos tipos de especificaciones:
• Los hechos = relaciones - atributos. Queda determinado exclusivamente por su posición dentro de la tupla.
• Las reglas = relaciones virtuales - no están almacenadas, se forman a partir de hechos basados en las especificaciones.
Las BDD buscan derivar nuevos conocimientos a partir de datos existentes dando interrelaciones del mundo real en forma de reglas, utilizando mecanismos internos para la evaluación y la optimización.
REGLAS
• Las reglas que se utilizan para especificar situaciones con sus acciones, se les llaman reglas del tipo (ECA).
EVENTO – CONDICION - ACCION
El formato genérico de estas reglas es:
ON evento IF condición THEN acción
REGLAS
• El evento que dispara la regla: consulta o actualización, eventos temporales u otro tipo de eventos externos.
• La condición que determina si la acción de la regla se debe ejecutar. Se evalua una condición. Si no, la acción se ejecutaría cuando suceda el evento. Si se especifica, la acción se ejecutaría sólo si la condición es evaluada en verdadero.
• La acción a realizar: Puede ser una transacción sobre la BDD o un programa externo que se ejecutaría automáticamente.
REGLAS
• Los eventos son sentencias SQL de manejo de datos (INSERT, DELETE, UPDATE).
• La condición (que es opcional) es un predicado booleano expresado en SQL.
• La acción es una secuencia de sentencias SQL, que pueden estar inmersas en un lenguaje de programación integrado en el producto que se esté utilizando (por ejemplo, PL/SQL en Oracle).
CARACTERÍSTICAS
• 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.
CARACTERÍSTICAS
• Contar con métodos de optimización que garanticen la traducción de especificaciones.
• La posibilidad de inferir información a partir de los datos almacenados.
• Modelaje como un conjunto de fórmulas lógicas, las cuales permiten inferir otras fórmulas nuevas.