Deductieve database - Deductive database
Een deductieve database is een databasesysteem dat deducties kan doen (dwz aanvullende feiten concluderen) op basis van regels en feiten die zijn opgeslagen in de (deductieve) database. Datalog is de taal die doorgaans wordt gebruikt om feiten, regels en zoekopdrachten in deductieve databases te specificeren. Deductieve databases zijn ontstaan uit de wens om logisch programmeren te combineren met relationele databases om systemen te bouwen die een krachtig formalisme ondersteunen en die nog steeds snel en in staat zijn om met zeer grote datasets om te gaan. Deductieve databases zijn expressiever dan relationele databases, maar minder expressief dan logische programmeersystemen. In de afgelopen jaren hebben deductieve databases zoals Datalog een nieuwe toepassing gevonden in data-integratie , informatie-extractie , netwerken, programma-analyse , beveiliging en cloud computing.
Deductieve databases hergebruiken veel concepten uit logisch programmeren; regels en feiten gespecificeerd in de deductieve databasetaal Datalog lijken erg op die in Prolog . Echter belangrijke verschillen tussen deductieve databases en logisch programmeren:
- Volgordegevoeligheid en procedure: In Prolog hangt de uitvoering van het programma af van de volgorde van regels in het programma en van de volgorde van delen van regels; deze eigenschappen worden door programmeurs gebruikt om efficiënte programma's te bouwen. In databasetalen (zoals SQL of Datalog) is de uitvoering van het programma echter onafhankelijk van de volgorde van regels en feiten.
- Speciale predikaten: In Prolog kunnen programmeurs de procedurele evaluatie van het programma direct beïnvloeden met speciale predikaten zoals de cut , dit komt niet overeen in deductieve databases.
- Functiesymbolen: Logica Met programmeertalen kunnen functiesymbolen complexe symbolen opbouwen. Dit is niet toegestaan in deductieve databases.
- Tuple -georiënteerde verwerking: Deductieve databases gebruiken set-georiënteerde verwerking, terwijl logische programmeertalen zich concentreren op één tupel tegelijk.
Referenties
Verder lezen
- Auteur: Herve Gallaire, Jack Minker , Jean-Marie Nicolas: Logica en databases: een deductieve benadering . Uitgever: ACM. doi: 10.1145/356924.356929
- Auteur: Stefano Ceri , Georg Gottlob , Letizia Tanca: logisch programmeren en databases . Uitgever: Springer-Verlag. ISBN 978-0-387-51728-5
- Auteur: Ramez Elmasri en Shamkant Navathe: Fundamentals of Database Systems (3e editie). Uitgever: Addison-Wesley Longman. ISBN 0-201-54263-3