Deduktiv databas
En deduktiv databas är ett databassystem som kan dra slutsatser (d.v.s. härleda ytterligare fakta) baserat på regler och fakta lagrade i en (deduktiv) databas. Datalog är ett språk som vanligtvis används för att specificera fakta, regler och frågor i deduktiva databaser. Deduktiva databaser växte fram ur en önskan att kombinera logisk programmering med en relationsdatabas för att bygga system som stödde kraftfull formalism och som fortfarande är snabba och kan hantera mycket stora datamängder. Deduktiva databaser är mer uttrycksfulla än relationsdatabaser, men mindre uttrycksfulla än logiska programmeringssystem. Under de senaste åren har deduktiva databaser som Datalog hittat nya användningsområden inom dataintegration, informationsextraktion , nätverk, programanalys, säkerhet och cloud computing. [1]
Deduktiva databaser och logisk programmering: Deduktiva databaser använder många begrepp från logisk programmering; regler och fakta specificerade på språket i deduktiva databaser. Datalog liknar dem i Prolog . Viktiga skillnader mellan deduktiva databaser och logisk programmering är dock:
- Känslighet och proceduralitet: i Prolog beror exekveringen av ett program på ordningen på reglerna i programmet och ordningen på delarna av reglerna; dessa egenskaper används av programmerare för att skapa effektiva program. Men i databasspråk (som SQL eller Datalog) beror programexekveringen inte på ordningen av regler och fakta.
- speciella predikat. I Prolog kan programmerare direkt påverka programmets procedurutvärderingar med speciella predikat som cut , detta är inte fallet i deduktiva databaser.
- Funktionssymboler: Logiska programmeringsspråk tillåter funktionssymboler att skapa komplexa symboler. Detta är inte tillåtet i deduktiva databaser.
- Tupelorienterad bearbetning: Deduktiva databaser använder uppsättningsorienterad bearbetning, medan logiska programmeringsspråk koncentrerar sig på en tupel i taget.
Länkar
- ↑ Datalog och nya applikationer . Hämtad 18 maj 2017. Arkiverad från originalet 22 oktober 2020. (obestämd)
Ytterligare läsning
- Författare: Herve Gallaire, Jack Minker, Jean-Marie Nicolas: Logik och databaser: A Deductive Approach . Utgivare: ACM. doi:10.1145/356924.356929
- Författare: Stefano Ceri, Georg Gottlob, Letizia Tanca: Logisk programmering och databaser . Förlag: Springer-Verlag. ISBN 978-0-387-51728-5
- Författare: Ramez Elmasri och Shamkant Navathe: Fundamentals of Database Systems (3:e upplagan). Förläggare: Addison-Wesley Longman. ISBN 0-201-54263-3