Linguagem de consulta estruturada (SQL)

Todos os sistemas de banco de dados relacionais usam uma variante do Structured Query Language (SQL) para permitir que você trabalhe com eles. O SQL padrão consiste em três componentes principais:
- Linguagem de manipulação de dados (DML)
- O DML é composto pelas instruções de que você precisa para trabalhar com informações em tabelas de banco de dados. Estes são INSERT, para adicionar novos registros, SELECT, para ler dados, UPDATE, para modificar registros existentes e DELETE, para eliminar conteúdos de tabela. Essas instruções são refletidas no ABAP na forma de ABAP SQL.
- Linguagem de definição de dados (DDL)
- A linguagem de definição de dados fornece comandos que permitem criar e excluir tabelas de banco de dados e outros artefatos de banco de dados, como esquemas, índices de tabela e visões. Em um sistema da SAP, você executa essas tarefas usando editores dedicados do ADT, não com programas ABAP. Um exemplo é o editor para definições de tabela de banco de dados que vimos anteriormente.
- Linguagem de controle de dados (DCL)
- A linguagem de controle de dados é utilizada no SQL para restringir o acesso aos dados no banco de dados para um determinado usuário. Ela não é utilizada em sua forma clássica no ABAP, uma vez que os usuários no nível do banco de dados não correspondem um a um com os usuários finais. Consequentemente, o ABAP tem seu próprio conceito de autorização.
Arquitetura ABAP SQL

No passado, os sistemas da SAP tinham que suportar uma variedade de plataformas de banco de dados, e cada plataforma tinha uma implementação ligeiramente diferente do padrão SQL. Isso significava que cada plataforma precisava de comandos ligeiramente diferentes para realizar uma tarefa específica. Para evitar que o código ABAP seja específico do banco de dados, a SAP inventou o ABAP SQL ou o Open SQL como era chamado originalmente.
Nota
ABAP SQL é um conjunto abstrato de comandos SQL implementados no nível ABAP e integrados à linguagem ABAP. No momento da execução, o ABAP SQL é convertido em uma variante do SQL que o banco de dados entende. Essa variante é chamada Native SQL para distingui-la do ABAP SQL, a variante SQL integrada ao ABAP. A tradução do ABAP SQL para o Native SQL ocorre na interface do banco de dados, um componente do sistema ABAP que consiste em uma parte geral e uma biblioteca específica do banco de dados.
Embora as versões mais recentes do ABAP suportem apenas o SAP HANA como SGBD, a SAP ainda manteve o conceito de ABAP SQL e a interface de banco de dados. Isso se deve aos seguintes motivos:
- Compatibilidade de arquitetura
- O ABAP SQL e a interface do banco de dados são parte integrante da arquitetura do sistema.
- Compatibilidade de código
- A codificação ABAP SQL de produtos SAP anteriores (incluindo desenvolvimento específico do cliente) deve ser executada sem efeitos colaterais nos ambientes ABAP modernos somente SAP HANA.
- Tarefas da interface de banco de dados
- A interface do banco de dados não traduz apenas instruções; ela também é responsável por tarefas específicas do ABAP, como, por exemplo, o processamento automático de mandantes.




