2. 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
3. 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.
4. 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).
6. 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.
7. 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
8. 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.
9. 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).
10. 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.
11. 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.