Olá, nesse artigo iremos fazer uma introdução básica a linguagem SQL.
O que é SQL?
A linguaguem SQL (Structured Query Language), é a linguagem padrão usada para gerenciamento de Banco de Dados Relacionais.
As instruções SQL, são utilizadas para:
História do SQL
O Dr. E. F. Codd1) publicou o artigo, A Relational Model of Data for Large Shared Data Banks, em Junho de 1970 no jornal “Association of Computer Machinery (ACM)”. O modelo de Codd's, é o modelo aceito de forma definitiva para Gerenciadores Banco de Dados Relacionais (RDBMS)2).
A linguagem (SEQUEL) foi desenvolvida pela “IBM Corporation, Inc.” para uso do modelo de Codd's e posteriormente se tornou (SQL), apesar de continuar com a pronúncia comum de (SEQUEL).
Em 1979, a empresa “Relational Software, Inc.”, hoje (Oracle Corporation), foi a primeira empresa a disponibilizar de forma comercial a implementação do SQL.
Hoje em dia a linguagem SQL é aceita como a linguagem padrão dos gerenciadores de banco de dados relacionais (RDBMS).
Quais são os comandos SQL?
DDL 3) | Definição |
---|---|
CREATE | Criar objetos no banco de dados |
ALTER | Alterar estruturas no banco de dados |
DROP | Deletar objetos do banco de dados |
TRUNCATE | Remove dados de uma tabela, juntamente com todos os espaços alocados para esses registros |
COMMENT | Adicionar comentário no dicionário de dados |
RENAME | Renomear um objeto |
DML 4) | Definição |
---|---|
SELECT | Recupera/busca dados em um banco de dados |
INSERT | Insere dados em uma tabela |
UPDATE | Atualiza os dados de uma tabela |
DELETE | Deleta os dados de uma tabela, e o espaço desses registros continuam alocados |
MERGE | (UPSERT) É uma operação conjunta entre (insert or update) |
CALL | Executa uma instrução (PL/SQL) ou (Java subprogram) |
EXPLAIN PLAN | Detalha o caminho de acesso aos dados |
LOCK TABLE | Controle de concorrência |
DCL 5) | Definição |
---|---|
GRANT | Fornece privilégios e acesso ao banco de dados e/ou objetos |
REVOKE | Remove/Revoga os acessos e privilégios fornecidos com a instrução (GRANT) |
TCL 6) | Definição |
---|---|
COMMIT | Salva o trabalho executado |
SAVEPOINT | Identifica um ponto na transação que permite ser efetuado um rollback se desejar |
ROLLBACK | Restaura as modificações dos dados até o momento do último (COMMIT) executado |
SET TRANSACTION | Altera a opção de nível de isolação de uma transação |
Como funciona?
Um processo servidor é responsável por executar as instruções SQL e retornar os dados.
Esse processo passa por diversos componentes e validações:
Parse
O (parse) inicia o processo de validação da estrutura de execução. Ele checa a instrução da seguinte maneira:
Correção / Exatidão:
Verifica se a instrução têm a semântica 7) / sintaxe 8) correta ou regras que garantem a sua exatidão.
Exemplo:
Autorização:
Ele também valida se o usuário que está executando a instrução têm a autorização necessária para manipular o respectivo dado.
Exemplo:
Motor Relacional
O motor relacional ou processador de requisição, cria um plano de requisição, escrita, ou atualização correspondente dos dados de uma maneira mais efetiva.
Exemplo:
O motor relacional checa por requisições (Query) similares, reusa os dados manipulados por métodos anteriores, ou cria uma nova requisição.
Ele escreve um plano de execução num nível de representação intermediário da instrução SQL chamado: “byte code”.
O banco de dados relacional usa o “byte code” para realizar buscas e modificações de forma eficiente.
Motor de Armazenamento
O motor de armazenamento, ou “database engine”, é o componente do software que processa o “byte code” e executa a instrução SQL pretendida. Lê e armazena os dados nos arquivos físicos ( data files) do banco de dados no disco. Uma vez terminado, o motor de armazenamento retorna os resultados da requisição para a aplicação.
Abaixo temos um exemplo básico e visual do processamento de uma instrução SQL e retorno dos dados.
Acesso:
Retorno:
- Até a próxima.
— Autor: Leonardo Lopes 14/11/2023 19H:45