BAZE DE DATE
8.1. Baze de date interne
Bazele de date sunt o extindere a notiunii de fisier. In prima faza, Prolog ofera posibilitatea de a lucra cu baze de date in memoria RAM. Faptele sunt salvate intr-un fisier, pentru a fi restaurate apoi de acolo. Intr-o a doua faza, PROLOG ofera posibilitatea de a lucra cu sisteme de gestiune a bazelor de date privite ca atare.
Declararea are lor in sectiunea database.
database
nume_predicat1(arg1 argn).
nume_predicat2(arg1 argn).
Numele implicit al sectiunii database este dbasedom. Sunt posibile mai multe sectiuni numite:
database db_name
Fiecare sectiune are alte nume, predicatele fiind unice pentru fiecare sectiune.
Predicatele specifice pentru lucrul cu baze sunt cele ce urmeaza:
1. asserta(nume_predicat(arg1 argn))
sau
assera(nume_predicat(arg1 argn),db_name)
Aserteaza un fapt la baza de date interne; faptul va fi primul din baza.
2. assertz(nume_predicat(arg1 argn))
sau
assertz(nume_predicat(arg1 argn),db_name)
Aserteaza un fapt la baza de date interne; faptul va fi ultimul din baza.
3. nondeterm retract(nume_predicat(arg1 argn))
sau
nondeterm retract(nume_predicat(arg1 argn),db_name)
Sterge un fapt din baza de date interne; faptul este primul cu care se reuseste unificarea. Util si pentru a extrage date din baza.
Exemplu:
retract(person(X,_,123456)), write(X).
X=allan parker
4. retractall(nume_predicat(arg1 argn))
sau
retractall(nume_predicat(arg1 argn),db_name)
Sterge din baza de date interne toate faptele cu care se obtine unificare.
5. save(file[,db_name])
Pentru a descărca acest document,
trebuie să te autentifici in contul tău.