Ir más allá con los campos de objetos

Traducido automáticamente de Deepl

Loscampos de objetos introducidos con v15 permiten bases de datos no estructuradas, similares a las bases de datos sin esquema (NoSQL). 4D v16 va un gran paso más allá. Obtenga una estructura dinámica para datos no estructurados… ¿Confundido?

Imagine que utiliza un campo objeto para permitir a sus clientes almacenar datos personalizados, donde pueden crear sus propios campos. Esto funciona bien y es una de las razones más interesantes para utilizar un campo objeto. El problema es, ¿cómo permitir a su cliente consultar estos datos no estructurados? Usted no sabe qué «campos» han utilizado, no puede construir un editor de consultas en la parte superior u ofrecer un desplegable con los valores utilizados.

Con 4D v16 ahora es posible utilizar los dos nuevos comandos DISTINCT ATTRIBUTE PATHS y DISTINCT ATTRIBUTE VALUES.

  • Si desea conocer todos los atributos existentes que su usuario podría haber introducido, para mostrarlos en una ventana emergente, por ejemplo, puede utilizar el comando DISTINCT ATTRIBUTE PATHS. Este comando devuelve la lista de rutas distintas encontradas en su campo de objeto indexado para la selección actual.
  • También puede utilizar el comando DISTINCT ATTRIBUTE VALUES si desea conocer todos los valores existentes y no repetidos en una ruta definida para presentarlos, por ejemplo, en una lista. Este comando devuelve los valores distintos procedentes de una trayectoria definida en su campo de objeto indexado para la selección actual.

Además, se han actualizado las funciones matemáticas estándar para que puedan utilizarse con los campos de objeto:

  • Sum
  • Min
  • Max
  • Average

Ejemplo
Si quiere ver un ejemplo, eche un vistazo a este ejemplo.

Ejemplo de base de datos

hdi_distinctPara más detalles, consulte la documentación de 4D v16, en los siguientes artículos: