Eine CouchDB Datenbank ist eine Liste von Dokumenten. Ein Dokument ist ein Datensatz mit beliebigem Inhalt. Ein Dokument kann zum Beispiel eine Rechnung, eine Adresse, ein Kochrezept usw enthalten. Dabei wird versucht, ein Dokument zu denormalisieren. Bei einer klassischen SQL Datenbank wird versucht, mittels Normalisierung die Daten möglichst sinnvoll auf mehrere Tabellen zu verteilen, bei dokumentorientierten Datenbanken wird dagegen versucht möglichst alle Daten in einem Dokument zu speichern.
Ein Dokument wird im JSON Format gespeichert. In einem JSON Dokument wird jeder Wert als Schlüssel/Wert Paar, einem sogenannten Dictionary oder assoziativen Array, gespeichert. Eine Adresse könnte zum Beispiel so aussehen.
{
"_id": "10dc70a4206414d24a5d3d528c00421e",
"_rev": "1-1960a97da1abd33ceee3e22b0043e089",
"name": "Amberger",
"adresse": "Deichshörne 1",
"plz": 21729,
"vorname": "Tanja",
"ort": "Freiburg"
}
Vor dem Doppelpunkt steht jeweils der Schlüssel, dahinter der Wert. Die einzelnen Schlüssel/Werte Paare werden mit Kommas getrennt und ein Dictionary wird in geschweifte Klammern {} eingeschlossen.