Ir mais longe com campos de objectos

Tradução automática de Deepl

Oscampos de objectos introduzidos com v15 permitem bases de dados não estruturadas, semelhantes a bases de dados sem esquema (NoSQL). 4D v16 vai um grande passo em frente. Obter uma estrutura dinâmica para dados não estruturados… Confuso?

Imagine que utiliza um campo objecto para permitir aos seus clientes armazenar dados personalizados, onde eles podem criar os seus próprios campos. Isto funciona bem e é uma das razões mais interessantes para utilizar um campo de objecto. O problema é, como permitir ao seu cliente consultar estes dados não estruturados? Não sabe quais os ‘campos’ que utilizaram, não pode construir um editor de consultas no topo ou oferecer uma gota para baixo com valores usados.

Com 4D v16 é agora possível utilizar os dois novos comandos DISTINCT ATTRIBUTE PATHS e DISTINCT ATTRIBUTE VALUES.

  • Se quiser saber todos os atributos existentes que o seu utilizador poderia ter introduzido, a fim de os exibir num popup, por exemplo, pode usar o comando DISTINCT ATTRIBUTE PATHS. Este comando devolve a lista de caminhos distintos encontrados no seu campo de objecto indexado para a selecção actual.
  • Também pode utilizar o DISTINCT ATTRIBUTE VALUES se quiser conhecer todos os valores existentes e não-repetentes num caminho definido, a fim de os apresentar, por exemplo, numa lista. Este comando devolve os valores distintos vindos de um caminho definido no seu campo de objecto indexado para a selecção actual.

Além disso, as funções matemáticas padrão foram actualizadas para que possam ser utilizadas com os campos de objectos:

  • Sum
  • Min
  • Max
  • Average

Exemplo
Se quiser ver um exemplo, por favor dê uma vista de olhos a este exemplo.

Exemplo de base de dados

hdi_distinctPara mais detalhes, consulte a documentação 4D v16, nos artigos seguintes: