Ampliación de las capacidades de virtualización de datos con Astera Lenguaje de consulta (AQL)

By | 2019-09-13T10:25:44+00:00 23rd julio, 2019|

¿Qué es AQL?

Astera Query Language (AQL) es un lenguaje de consulta relacional a objetos que permite a los usuarios acceder a conjuntos de tablas de bases de datos desde orígenes de bases de datos virtuales en Astera Virtualización de datos. AQL soporta referencias de objetos dentro de tablas. Esto significa que los objetos están anidados dentro de objetos y se pueden usar para llamar a subconjuntos de datos en un flujo de datos.

Similar a la instrucción SELECT utilizada en SQL, AQL usa comandos y funciones agregadas para la recuperación de datos. Sin embargo, la principal diferencia radica en su capacidad para automatizar uniones complejas a través de la notación de puntos, lo que simplifica la creación de consultas para los desarrolladores.

AQL potencia el Astera Motor de base de datos virtual: un proveedor de base de datos que se puede consultar y utilizar como fuente en Astera Virtualización de datos. La función principal de esta base de datos es recuperar datos cuando los solicite Astera Query Engine, ejecutándose en el mismo o diferente servidor.

Aquí es cómo los usuarios pueden aprovechar el virtualización de datos capacidades de Astera Virtualización de datos utilizando AQL:

  1. Elimina la necesidad de escribir consultas complicadas, ya que las compilaciones AQL se unen automáticamente en función de las relaciones definidas en el modelo de datos virtual.
  2. No hay restricciones en el nivel de anidamiento de uniones usando AQL.
  3. A través de AQL, también puede conectarse a fuentes que no sean de base de datos, como servicios web, aplicaciones en la nube, Excel, delimitado, correo electrónico, PDF, etc.

¿Cómo usar AQL?

AQL se puede utilizar de dos maneras:

1. a través de la fuente de consulta de múltiples tablas

Una consulta de varias tablas representa la base de datos virtual en una vista relacional / jerárquica utilizando AQL. Puede llamar al modelo de datos virtual utilizando este objeto en una flujo de datos para consultar vistas. Arrastre y suelte el elemento de la caja de herramientas y seleccione Astera Modelo de datos como el proveedor de la base de datos.

Fig.1: Configurando la conexión de la base de datos

Fig.1: Configurando la conexión de la base de datos

Fig.2: Seleccionando la tabla raíz

Fig.2: Seleccionando la tabla raíz

Configure la fuente, señale el VDM desplegado y seleccione el objeto raíz en las opciones desplegables. La estructura en forma de árbol muestra los registros en el objeto de consulta en varias tablas en orden de hijo a padre. Los usuarios pueden arrastrar y soltar campos de cualquiera de las tablas en el árbol.

AQL se genera automáticamente detrás de escena por el Astera Motor de consulta. Los comandos se pueden ver en la ventana Vista previa de la consulta y editar con la ventana del Editor de consultas.

Fig.3: Visualización de AQL en la ventana de vista previa de la consulta de virtualización

Fig.3: Visualización de AQL en la ventana de vista previa de consulta

A través de la fuente de la tabla de consultas múltiples, puede usar AQL para diferentes funcionalidades que incluyen:

Filtrar: Permite al usuario filtrar registros según los criterios preespecificados.

Dónde cláusula: Usando una cláusula where, el usuario puede escribir una consulta para recuperar registros de la tabla.

Orden de clasificación: Ordene los registros en orden ascendente o descendente usando este comando.

Para obtener una descripción general paso a paso del objeto de consulta en varias tablas, vaya a Este artículo.

Fig.4: Diferentes aplicaciones de AQL en virtualización.

Fig.4: Diferentes aplicaciones de AQL.

2. a través de la ventana del editor de consultas

Accediendo a la ventana de consulta en Astera Virtualización de datos, el usuario puede escribir una consulta AQL desde cero. Vaya a Nuevo> Archivos> Consulta para acceder al Editor de consultas.

Comandos AQL comunes

Echemos un vistazo a algunos de los comandos comunes SELECT AQL utilizados en Astera Virtualización De Datos:

La consulta SELECT

La consulta SELECT recupera registros de un base de datos. AQL genera flujos de datos en tiempo de ejecución para recuperar datos de fuentes en la base de datos virtual en función de los campos asignados y los criterios especificados.

Los datos se devuelven en forma de tabla.

Sintaxis:

SELECCIONAR table_name.column1, table_name.column2, table_name.columnN

FROM nombre_tabla

Column1, column2 y columnN son los campos desde los cuales se obtienen los registros.

Tomemos un ejemplo: consideremos una Pedidos Tabla con los siguientes registros:

Fig.5: Una tabla de base de datos de muestra

Fig.5: Una tabla de base de datos de muestra

La siguiente consulta obtendrá datos de OrdersID, EmployeeID, OrdersData, RequiredData, y Fecha de envío.

Fig.6: consulta AQL para obtener datos de la tabla 'Pedidos'

Fig.6: consulta AQL para obtener datos de la tabla 'Pedidos'

Se devolverá el siguiente resultado:

Fig.7: La tabla resultante

Fig.7: La tabla resultante

La consulta de JOIN

El comando AQL JOIN combina registros de varias tablas en una base de datos utilizando un alias de relación entre la tabla principal y la secundaria.

Sintaxis:

SELECCIONAR table_name_ (child_table) .alias.column (parent_table)

FROM nombre_tabla

Donde alias es la relación entre dos entidades.

Considere un ejemplo en el que un modelo de datos virtual tiene varias tablas. Queremos unir los registros de la Clientes y Pedidos tabla utilizando AQL.

Fig.8: un ejemplo de modelo de datos virtual con múltiples tablas

Fig.8: un ejemplo de un modelo de datos virtual con varias tablas

Fig.9: tabla de pedidos

Fig.9: tabla de pedidos

Fig.10: Tabla de clientes

Fig.10: Tabla de clientes

Usando la instrucción SELECT, nos uniremos a la Nombre de empresa y Nombre de contacto campo de la Clientes mesa con el Pedidos mesa.

Fig.11: Consulta AQL para el comando JOIN

Fig.11: Consulta AQL para el comando JOIN

La tabla resultante se verá así:

Fig.12: tabla resultante después de ejecutar una consulta ÚNICA

Fig.12: tabla resultante después de ejecutar una consulta ÚNICA

El pedido de consulta

Esta consulta se utiliza para ordenar los registros en orden ascendente o descendente según las columnas seleccionadas. De forma predeterminada, la consulta ordena el resultado en orden ascendente. Puede organizar más de una columna usando este comando.

Sintaxis:

SELECCIONAR table_name.column1, table_name.column2, table_name.columnN

FROM nombre_tabla

Columna ORDERBY [asc | desc]

Tomemos el ejemplo de la Productos Tabla en el modelo de datos virtual mencionado anteriormente. La siguiente consulta ordenará la tabla con respecto a las columnas agrupadas ID del Producto y Categoria ID en orden ascendente.

Fig.13: Consulta AQL para el comando ORDER BY

Fig.13: Consulta AQL para el comando ORDER BY

La tabla resultante se muestra a continuación:

Fig.14: tabla resultante después de ejecutar una consulta ORDER BY

Fig.14: tabla resultante después de ejecutar una consulta ORDER BY

Qué puedes hacer con AQL

AQL entra en acción en varios lugares, por ejemplo:

  1. Cuando se utiliza Multi-Table Query para acceder a datos desde una base de datos virtual. Sin embargo, en este escenario, las declaraciones AQL son autogeneradas.
  2. Cuando los usuarios escriben instrucciones AQL personalizadas manualmente para consultar una base de datos virtual.
  3. Cuando se accede a la ventana del Editor de consultas desde el navegador de origen de datos, los usuarios pueden escribir declaraciones AQL para ver los datos presentes en una base de datos virtual.

Para experimentar de primera mano cómo se puede usar AQL en Astera Virtualización de datos, regístrese para un Versión de prueba.