Base de datos deductiva
Una base de datos deductiva es un sistema de base de datos que puede extraer inferencias (es decir, inferir hechos adicionales) basándose en reglas y hechos almacenados en una base de datos (deductiva). Datalog es un lenguaje comúnmente utilizado para especificar hechos, reglas y consultas en bases de datos deductivas. Las bases de datos deductivas surgieron del deseo de combinar la programación lógica con una base de datos relacional para construir sistemas que admitieran un formalismo poderoso y que aún fueran rápidos y capaces de manejar conjuntos de datos muy grandes. Las bases de datos deductivas son más expresivas que las bases de datos relacionales, pero menos expresivas que los sistemas de programación lógica. En los últimos años, las bases de datos deductivas como Datalog han encontrado nuevos usos en la integración de datos, extracción de información , redes, análisis de programas, seguridad y computación en la nube. [1] Bases de
datos deductivas y programación lógica: las bases de datos deductivas utilizan muchos conceptos de la programación lógica; reglas y hechos especificados en el lenguaje de las bases de datos deductivas. Datalog se parece mucho a los de Prolog . Sin embargo, las diferencias importantes entre las bases de datos deductivas y la programación lógica son:
- Sensibilidad y procedimentalidad: en Prolog, la ejecución de un programa depende del orden de las reglas en el programa y del orden de las partes de las reglas; estas propiedades son utilizadas por los programadores para crear programas eficientes. Sin embargo, en los lenguajes de base de datos (como SQL o Datalog), la ejecución del programa no depende del orden de las reglas y los hechos.
- predicados especiales. En Prolog, los programadores pueden influir directamente en las evaluaciones procedimentales del programa con predicados especiales como cut , este no es el caso en las bases de datos deductivas.
- Símbolos de función: Los lenguajes de programación lógicos permiten que los símbolos de función creen símbolos complejos. Esto no está permitido en bases de datos deductivas.
- Procesamiento orientado a tuplas: las bases de datos deductivas utilizan procesamiento orientado a conjuntos, mientras que los lenguajes de programación lógica se concentran en una tupla a la vez.
Enlaces
- ↑ Registro de datos y aplicaciones emergentes . Consultado el 18 de mayo de 2017. Archivado desde el original el 22 de octubre de 2020. (indefinido)
Lecturas adicionales
- Autor: Herve Gallaire, Jack Minker, Jean-Marie Nicolas: Lógica y bases de datos: un enfoque deductivo . Editorial: ACM. doi:10.1145/356924.356929
- Autor: Stefano Ceri, Georg Gottlob, Letizia Tanca: Programación Lógica y Bases de Datos . Editorial: Springer-Verlag. ISBN 978-0-387-51728-5
- Autor: Ramez Elmasri y Shamkant Navathe: Fundamentos de los sistemas de bases de datos (3.ª edición). Editor: Addison-Wesley Longman. ISBN 0-201-54263-3