Introdução a linguagem SQL
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:
- Inserir
- Extrair
- Organizar
- Gerenciar
- Manipular
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
- Motor relacional
- Motor de armazenamento
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:
- O (parse) checa se a instrução SQL termina com “;”. Se estiver faltando ele retorna um erro.
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:
- Somente usuários com privilégios administrativos podem deletar os dados.
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:
- SGBD =⇒ Sistema Gerenciador de Banco de Dados
- Até a próxima.
Introdução a linguagem SQL
— Autor: Leonardo Lopes 14/11/2023 19H:45