Datastore ou armazem de dados é o objeto de interface oferecido por ORDA para fazer referência a um banco de dados e acessar a seu modelo e datos. Em 4D v17, só o banco de datos local, devolvido pelo comando ds , está disponível como armazem de dados.
Nota: os métodos e propriedades relacionados com Datastore são detalhados no capítulo ORDA - DataStore do manual de Linguagem.
Um armazem de dados está feito de um modelo e dados:
- O modelo contém e descreve todas as classes de dados que compõe o armazem de dados. é independente do banco de dados subjacente em si.
 - Os datos se referem à informação que vai ser usada e  armazenar neste modelo. Por exemplo, os nomes, os endereços e as datas de  nasciiento dos empregados são dados com os que pode trabalhar em um armazem de dados.
 
Quando se maneja através de código,o armazem de dados é um objeto cujas propriedades são todas as classes de dados definidas. Uma datastore faz referência apenas a um único banco de dados local ou remoto.
 
    O comando ds  devolve uma referência ao armazém de  dados predeterminado da aplicação. Quando chamar a este comando,  4D referencia automaticamente a cada tabela e campo do banco de  dados 4D como atributos do objeto devolvido:
- as tabelas estão mapeadas a classes de dados
 - os campos são atribuidos aos atributos de armazenamento
 - os registros são assignadas às entidades
 -  as relações são assignadas a atributos de relação: os nomes de  relação, definidos no editor de Estrutura, são usados como nomes de  atributos de relação.
 
 
As regras abaixo se aplicam durante a conversão:
- os nomes de tabelas, campos e relações são assignados a nomes de  propriedades de objetos. Se quiser utilizar a "notação de pontos" em ORDA, tenha certeza de que esses nomes cumpram com as regras gerais  de denominação de objetos, como se explica na seção identificador notação objeto.
Nota: As propriedades de relação "Manual" ou "Automatic" não têm efeito em ORDA. - Um armazém de dados apenas referencia  tabelas com uma única chave principal (consulte Definir ou eliminar uma chave primária). As tabelas abaixo não estão referenciadas:
- Tabelas sem chave primária
 
- Tabelas com chaves primárias compostas.
 
 - Os atributos de tipo BLOB não são gerenciados no armazém de dados. Os atributos de tipo BLOB são devolvidos como nulos nas entidades e não podem ser assignadas.
 
 
    O objeto del armazém de dados em si não pode ser copiada como um objeto:
 $mydatastore:=OB Copy(ds) 
Entretanto, as propriedades do armazem de dados são enumeráveis: ARRAY TEXT($prop;0)
 OB GET PROPERTY NAMES(ds;$prop)