Datastore es el objeto de interfaz ofrecido por ORDA para hacer referencia a una base de datos y acceder a su modelo y datos. En 4D v17, solo la base de datos local, devuelta por el comando ds , está disponible como almacén de datos.
Nota: los métodos y propiedades relacionados con Datastore se detallan en el capítulo ORDA - DataStore del manual de Lenguaje.
Un almacén de datos está hecho de un modelo y datos:
- El modelo contiene y describe todas las clases de datos que componen el almacén de datos. Es independiente de la base de datos subyacente en sí.
- Los datos se refieren a la información que se va a usar y almacenar en este modelo. Por ejemplo, los nombres, las direcciones y las fechas de nacimiento de los empleados son datos con los que puede trabajar en un almacén de datos.
Cuando se maneja a través del código, el almacén de datos es un objeto cuyas propiedades son todas las clases de datos definidas. Un datastore hace referencia solo a una única base de datos local o remota.
El comando ds devuelve una referencia al almacén de datos predeterminado de la aplicación. Cuando se llama a este comando, 4D hace referencia automáticamente a cada tabla y campo de la base de datos 4D como atributos del objeto devuelto:
- las tablas están mapeadas a clases de datos
- los campos se asignan a los atributos de almacenamiento
- los registros se asignan a las entidades
- las relaciones se asignan a atributos de relación: los nombres de relación, definidos en el editor de Estructura, se usan como nombres de atributos de relación.

Las siguientes reglas se aplican durante la conversión:
- Los nombres de tablas, campos y relaciones se asignan a nombres de propiedades de objetos. Si desea utilizar la "notación de puntos" en ORDA, asegúrese de que dichos nombres cumplan con las reglas generales de denominación de objetos, como se explica en la sección Identificadores de propiedades de objetos.
Nota: la propiedad "Manual" o "Automático" de relaciones no tiene efecto en ORDA. - Un almacén de datos solo hace referencia a tablas con una sola llave principal (consulte Definir o eliminar una llave primaria). Las siguientes tablas no están referenciadas:
- Tablas sin llave primaria
- Tablas con llaves primarias compuestas.
- Los atributos de tipo BLOB no se gestionan en el almacén de datos. Los atributos de tipo BLOB se devuelven como Null en las entidades y no se pueden asignar.
El objeto datastore en sí no se puede copiar como un objeto:
$mydatastore:=OB Copy(ds)
Sin embargo, las propiedades del datastore son enumerables: ARRAY TEXT($prop;0)
OB GET PROPERTY NAMES(ds;$prop)