Der Unterschied zwischen NoSql-Datenbanken wie zum Beispiel CouchDB und relationalen Datenbanken wie MySQL liegt darin, dass die Daten nicht in Tabellen, sondern in Dokumenten abgespeichert sind. Deshalb kann man auch nicht mit SQL darauf zugreifen.

Für den Zugriff auf solche Datenbanken gibt es die REST-HTTP-Schnittstelle. Dabei handelt es sich um eine Client-Server-Verbindung mit zustandslosem Protokoll. Mit REST können Daten in NoSQL-Datenbanken erzeugt, verändet und gelöscht werden. REST (Representational State Transfer) kann plattform- und sprachunabhängig benutzt werden.

Dabei lassen sich einfache Transaktionen auch in einem Terminalfenster ausführen, man muss dafür nicht extra ein PHP-Programm schreiben. Der Löschbefehl für die Tabelle „weihnachtslieder“ sieht zum Beispiel so aus:

curl –X DELETE http://localhost:5984/weihnachtslieder

Wenn der Löschbefehl erfolgreich ausgeführt wurde, wird „ok“:true zurückgegeben. Mit der Abfrage

curl –X GET http://localhost:5984/weihnachtslieder/stillenacht

können Sie die Daten einer Zeile (Datensatz) abfragen und bekommen die CouchDB-ID, die Revisions-ID und die Daten zurückgeliefert:

(=_id“:“stillenacht“,“_rev“:“2-59348fc182736ff9584d736412b“, „interpret“:“Kinderchor Lüdinghausen“,“Lied“:“Stille Nacht“)