En el artículo anterior repasábamos los conceptos generales más importantes acerca de las bases de datos relacionales en SAP. En este segundo artículo vamos a concretar más, viendo cómo aplican (o no) estos conceptos en las bases de datos HANA.

Las bases de datos en HANA funcionan de manera diferente a las bases de datos clásicas porque las tablas están basadas en columnas y no en filas como las bases de datos tradicionales. Los campos de columna de la base de datos de HANA se comportan como si hubiéramos creado manualmente un índice en cada campo de la tabla, pero sin ningún costo / gasto / inconveniente de los índices secundarios. Esto significa que ya no tiene sentido utilizar los índices que explicábamos en el artículo anterior de la serie.

Sin embargo, se pueden crear índices en la base de datos de HANA mediante el comando CREAR ÍNDICE. Hay dos tipos de índices en HANA.

Índices en bases de datos HANA

  1. Índice invertido: los índices invertidos se refieren a una sola columna. Aquí, los datos de índice se almacenan en estructuras de memoria interna que pertenecen a la columna respectiva.
  2. Índice compuesto: los índices compuestos se refieren a más de una columna. Primero, el contenido de estas columnas se agrupa en una columna interna y luego se crea un índice invertido para esta columna interna.

Vistas en bases de datos HANA

Las vistas ABAP en el diccionario de datos son conjuntos de datos lógicos que contienen datos extraídos en una o más tablas como una sola entidad. Una vista en una o más tablas se refiere a que los datos de una vista no se almacenan físicamente como los datos que se derivan de una o más tablas.

En SAP se admiten cuatro tipos de vista diferentes. Estos difieren en la forma en que se implementa la vista y en los métodos permitidos para acceder a los datos de la vista.

  1. Las vistas de la base de datos se implementan con una vista equivalente en la base de datos.
  2. Las vistas de proyección se utilizan para ocultar los campos de una tabla (solo proyección).
  3. Las vistas de ayuda se pueden utilizar como método de selección en las búsquedas de ayuda.
  4. Las vistas de mantenimiento le permiten mantener los datos distribuidos en varias tablas para un objeto de aplicación a la vez.

Las vistas de la base de datos implementan una unión interna. Los otros tipos de vista implementan una unión externa.

Conceptos básicos sobre BBDD SAP y HANA (Parte II) (1)

En SAP sobre base de datos HANA existen dos maneras de utilizar las vistas de la base de datos:

  1. Definirlas al nivel del diccionario ABAP
  2. Definirlas al nivel de la base de datos.

ABAP CDS VIEWS

Las vistas de SAP ABAP CDS se definen en el nivel del servidor de aplicaciones ABAP. Las vistas se crean y mantienen en archivos DDL (lenguaje de definición de datos), que residen en el servidor de aplicaciones ABAP. Forman parte del Diccionario de datos (SE11) y, por lo tanto, forman parte del sistema de transporte ABAP, la gestión del ciclo de vida, etc.

Las vistas usan Open SQL y tienen como objetivo apoyar el desarrollo de aplicaciones ABAP. El tipo de sistema de base de datos es irrelevante: no tiene que ser una base de datos HANA. Por lo tanto, el enfoque principal de las vistas ABAP CDS es crear vistas.

HANA CDS VIEWS

Las vistas de CDS de SAP HANA se definen en el nivel de base de datos de HANA. Las vistas se crean y mantienen en archivos DDL, que residen en el nivel de la base de datos en HANA XS (HANA Extended Application Services). Las vistas usan SQL nativo y tienen como objetivo apoyar el desarrollo de las aplicaciones nativas de SAP HANA. Usan características que son específicas de SAP HANA. Por lo tanto, solo se pueden usar con una base de datos HANA. El enfoque principal de las vistas de CDS de HANA es crear modelos en la base de datos de HANA.

Aquí tenéis una referencia a un artículo anterior del blog de Oreka IT en el que hablamos sobre los CDS.

https://orekait.com/blog/sap-hana-core-data-services-y-sus-vistas/

¿Open SQL y Native SQL son excluyentes?

La respuesta es simplemente NO, porque tienen su propia identidad y propósito.

Open SQL consiste en un conjunto de sentencias ABAP que realizan operaciones en la base de datos central en SAP Web AS ABAP. Se llama OPEN porque es independiente de la base de datos. (Open = independiente de plataforma). En fondo, los programas Kernel están ocupados convirtiendo la declaración Open SQL en declaraciones SQL nativas para que la base de datos en uso entienda el lenguaje.

Open SQL solo puede funcionar con tablas de base de datos que se han creado en el Diccionario ABAP.

En SQL nativo, se puede utilizar principalmente instrucciones SQL específicas de la base de datos. La interfaz SQL nativa los envía tal cual al sistema de base de datos donde se ejecutan. Como no se utiliza nada definido en el diccionario de datos ABAP, las tablas que se necesitan pueden existir solo al nivel de base de datos, por lo tanto, SAP no tiene una herramienta para verificar la sintaxis de estas consultas.

Con esta última pregunta y respuesta, acabamos este segundo artículo de la serie. En el siguiente describiremos un ejemplo práctico de una vista CDS en HANA.

Si tienes preguntas puedes dejárnoslas en el espacio de preguntas. ¡Muchas gracias por leernos!

Área User Experience & Integración