Baza de date deductivă
O bază de date deductivă este un sistem de baze de date care poate trage inferențe (adică deduce fapte suplimentare) pe baza regulilor și faptelor stocate într-o bază de date (deductivă). Datalog este un limbaj folosit în mod obișnuit pentru specificarea faptelor, regulilor și interogărilor în bazele de date deductive. Bazele de date deductive au apărut din dorința de a combina programarea logică cu o bază de date relațională pentru a construi sisteme care susțin un formalism puternic și sunt încă rapide și capabile să manipuleze seturi de date foarte mari. Bazele de date deductive sunt mai expresive decât bazele de date relaționale, dar mai puțin expresivedecât sistemele de programare logică. În ultimii ani, bazele de date deductive precum Datalog au găsit noi utilizări în integrarea datelor, extragerea informațiilor , rețele, analiza programelor, securitate și cloud computing. [1]
Baze de date deductive și programare logică: Bazele de date deductive folosesc o mulțime de concepte din programarea logică; reguli și fapte specificate în limbajul bazelor de date deductive. Datalog arată foarte asemănător cu cele din Prolog . Cu toate acestea, diferențele importante între bazele de date deductive și programarea logică sunt:
- Sensibilitate și proceduralitate: în Prolog, execuția unui program depinde de ordinea regulilor din program și de ordinea părților din reguli; aceste proprietăți sunt folosite de programatori pentru a crea programe eficiente. Cu toate acestea, în limbajele de baze de date (cum ar fi SQL sau Datalog), execuția programului nu depinde de ordinea regulilor și faptelor.
- predicate speciale. În Prolog, programatorii pot influența direct evaluările procedurale ale programului cu predicate speciale precum cut , nu este cazul în bazele de date deductive.
- Simboluri de funcție: limbajele de programare logică permit simbolurilor de funcție să creeze simboluri complexe. Acest lucru nu este permis în bazele de date deductive.
- Procesare orientată pe tuplu: bazele de date deductive folosesc procesare orientată pe set, în timp ce limbajele de programare logică se concentrează pe un tuplu la un moment dat.
Link -uri
- ↑ Datalog și aplicații emergente . Preluat la 18 mai 2017. Arhivat din original la 22 octombrie 2020. (nedefinit)
Lectură suplimentară
- Autor: Herve Gallaire, Jack Minker, Jean-Marie Nicolas: Logic and Databases: A Deductive Approach . Editura: ACM. doi:10.1145/356924.356929
- Autor: Stefano Ceri, Georg Gottlob, Letizia Tanca: Programare logica si baze de date . Editura: Springer-Verlag. ISBN 978-0-387-51728-5
- Autor: Ramez Elmasri și Shamkant Navathe: Fundamentals of Database Systems (ediția a treia). Editura: Addison-Wesley Longman. ISBN 0-201-54263-3