Ein Datastore (Datenspeicher) ist das von ORDA bereitgestellte Oberflächenobjekt, um auf eine Datenbank zu verweisen und auf deren Modell und Daten zuzugreifen. In 4D v17 ist nur die lokale Datenbank, die vom Befehl ds zurückgegeben wird, als Datastore verfügbar.
Hinweis: Die auf den Datastore bezogenen Methoden und Eigenschaften werden im Kapitel ORDA - DataStore des Handbuchs 4D Programmiersprache beschrieben.
Ein Datastore besteht aus einem Modell und Daten:
- Das Modell enthält und beschreibt alle Dataclasses, aus denen sich der Datastore zusammensetzt. Es ist unabhängig von der zugrunde liegenden Datenbank selbst.
- Daten beziehen sich auf die Informationen, die in diesem Modell verwendet und gespeichert werden sollen. Beispielsweise sind Namen, Adressen und Geburtsdaten von Mitarbeitern Datenteile, mit denen Sie in einem Datastore arbeiten können.
Wenn der Datastore über den Code behandelt wird, ist er ein Objekt, dessen Eigenschaften alle definierten Dataclasses sind. Ein Datastore bezieht sich nur auf eine einzelne lokale oder remote Datenbank.
Der Befehl ds gibt eine Referenz auf den Standard-Datastore der Anwendung zurück. Wenn Sie diesen Befehl aufrufen, weist 4D automatisch jede Tabelle und jedes Feld der 4D Datenbank als Attribute des zurückgegebenen Objekts aus:
- Tabellen werden auf Dataclasses abgebildet
- Felder werden auf Speicherattribute abgebildet
- Datensätze werden auf Entities abgebildet
- Verknüpfungen werden auf Verknüpfungsattribute abgebildet - Verknüpfungsnamen, die im Struktureditor definiert wurden, werden als Attributsnamen der Verknüpfungen verwendet.

Die folgenden Regeln werden bei der Konvertierung angewendet:
- Tabellen-, Feld- und Verknüpfungsnamen werden auf Objekteigenschaftsnamen abgebildet. Wenn Sie die "Punktnotation" in ORDA verwenden wollen, stellen Sie sicher, dass diese Namen den allgemeinen Regeln zum Benennen von Objekten entsprechen, wie im Abschnitt Identifier für Objekteigenschaft beschrieben.
Hinweis: Die Eigenschaft "Manuell" oder "Automatisch" von Verknüpfungen hat keine Auswirkung in ORDA. - Ein Datastore bezieht sich nur auf Tabellen mit einem einzigen Primärschlüssel (siehe Primärschlüssel). Die folgenden Tabellen werden nicht referenziert:
- Tabellen ohne Primärschlüssel
- Tabellen mit zusammengesetzten Primärschlüsseln
- Attribute vom Typ BLOB werden nicht im Datastore verwaltet. Sie werden in Entities als Null zurückgegeben und können nicht zugeordnet werden.
Das Datastore-Objekt selbst kann nicht als Objekt kopiert werden:
$mydatastore:=OB Copy(ds)
Die Eigenschaften des Datastore sind dagegen aufzählbar:
ARRAY TEXT($prop;0)
OB GET PROPERTY NAMES(ds;$prop)