Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login

Guia de Referência SQL

Neste Guia de Referência você encontrará todo o conteúdo que precisa para aprender sobre a SQL, linguagem de consulta estruturada utilizada por programadores e DBAs para a execução de consultas e comandos nos principais SGBDs do mercado.

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (10)  (0)

Introdução

A linguagem SQL é o recurso mais conhecido por DBAs e programadores para a execução de comandos em bancos de dados relacionais. É por meio dela que criamos tabelas, colunas, índices, atribuímos permissões a usuários, bem como realizamos consultas a dados. Enfim, é utilizando a SQL que “conversamos” com o banco de dados.

Essa breve descrição já deixa clara a importância da compreensão e domínio sobre tal recurso. Saiba, também, que ela facilita não apenas a execução de tarefas em SGBDs, mas também o diálogo entre profissionais de banco de dados e programadores.

Com base nisso, aprender sobre SQL, a Structured Query Language, passa a ser fundamental para qualquer um que deseja atuar nessas áreas.

Primeiros passos

Após conhecer a SQL é natural nos interessarmos por vê-la na prática, executar os primeiros comandos, as primeiras consultas (queries), mesmo em um banco de dados de exemplo fornecido pelo Sistema Gerenciador de Banco de dados. Mas, por onde começar exatamente? Onde executar esses comandos?

Para responder a essas questões, configurar o ambiente, criar a primeira tabela, inserir dados, assim como executar algumas consultas, preparamos o curso:

Organização da SQL

No curso acima você deve ter notado que a linguagem SQL é organizada em subconjuntos, cada um com propósitos bem definidos (Figura 1):

  • DQL - Linguagem de Consulta de Dados - Define o comando utilizado para que possamos consultar (SELECT) os dados armazenados no banco;
  • DML - Linguagem de Manipulação de Dados - Define os comandos utilizados para manipulação de dados no banco (INSERT, UPDATE e DELETE);
  • DDL - Linguagem de Definição de Dados - Define os comandos utilizados para criação (CREATE) de tabelas, views, índices, atualização dessas estruturas (ALTER), assim como a remoção (DROP);
  • DCL - Linguagem de Controle de Dados - Define os comandos utilizados para controlar o acesso aos dados do banco, adicionando (GRANT) e removendo (REVOKE) permissões de acesso;
  • DTL - Linguagem de Transação de Dados - Define os comandos utilizados para gerenciar as transações executadas no banco de dados, como iniciar (BEGIN) uma transação, confirmá-la (COMMIT) ou desfazê-la (ROLLBACK).
Subdivisões da linguagem SQL
Figura 1. Subdivisões da linguagem SQL

A partir deste ponto, tomaremos essa subdivisão da SQL para organizar o guia.

SQL DQL - Data Query Language

Como você já pôde notar e irá verificar ao longo da sua carreira, uma das tarefas mais corriqueiras em bancos de dados é a execução de queries. Portanto, saber criá-las da melhor maneira é muito importante para o desempenho do banco e de aplicações que dele dependam.

Neste momento, de primeiros passos, você não precisa se preocupar tanto com isso, mas recomendamos que pense sobre esse assunto a cada novo recurso relacionado a consultas que estudar.

O curso abaixo lhe ensinará a criar consultas em SQL, a utilizar o comando SELECT. Conheceremos, assim, alguns dos principais recursos, por exemplo: ordenação de registros, funções de agregação, junções, entre outros.

Além desse curso, preparamos mais alguns posts com o intuito de explorar todos os recursos relacionados a consultas em SQL:

Para elaborar queries mais específicas, filtrando os dados retornados, assim como fazer cálculos ou verificações de maior ou menor valor, por exemplo, a SQL também nos fornece boas opções.

Além das ferramentas mencionados até aqui, temos ainda outras muito importantes e que influenciam diretamente no tempo da consulta. Portanto, saber utilizá-las é de grande valor para um bom profissional.

SQL DML - Data Manipulation Language

Para a manipulação de dados no banco, temos como comandos da linguagem SQL o INSERT, UPDATE e DELETE, os quais inserem, atualizam e removem dados, respectivamente. Vejamos, nos posts a seguir, como utilizá-los:

SQL DDL - Data Definition Language

Uma tarefa indispensável, porém realizada com menos frequência, é criar o banco de dados. Em seguida, é natural a criação das tabelas a ele relacionadas. Para isso, lidamos com os comandos CREATE DATABASE e CREATE TABLE da SQL, os quais serão apresentados nos posts a seguir, organizados de acordo com o SGBD:

SQL Server

Oracle

MySQL

PostgreSQL

Ao criar a primeira tabela, logo estaremos em contato com o conceito de chave primária. Esse é um campo obrigatório e representa o identificador único de cada registro presente em uma tabela. E quando temos mais de uma tabela e precisamos estabelecer um relacionamento entre elas, vamos nos deparar com o conceito de chave estrangeira.

Para aprender sobre as chaves primária e estrangeira, acesse:

Transact-SQL - T-SQL

A SQL é a linguagem padrão para lidarmos com bancos de dados. No entanto, alguns SGBDs optaram por criar variações dessa para prover novas funcionalidades ou aprimorar recursos oferecidos pela Structured Query Language. A T-SQL, por exemplo, foi criada pela Microsoft em conjunto com a Sybase.

Nesta seção reunimos alguns posts que apresentam recursos da linguagem T-SQL.

Recursos básicos

Subqueries

Views

Tabelas temporárias

Boas práticas

PL/SQL

Além da T-SQL, outra opção bastante conhecida é a PL/SQL, ou Procedural Language/Structured Query Language. Criada pela Oracle, essa linguagem também oferece diferentes recursos para lidarmos com bancos de dados dessa empresa. Abaixo, listamos um curso e alguns posts relacionados:

Stored Procedures

Um stored procedure, ou procedimento armazenado, é um recurso que permite a execução de lógica dentro do banco de dados, de forma semelhante a um método ou função no código de uma aplicação, mas escrito com a linguagem do banco de dados.

Assim, ao invés de deixar toda a lógica na aplicação cliente, podemos trazer parte dela para o servidor de banco de dados, o que, em muitos casos, pode trazer ganhos de performance, ao evitar que dados precisem ser enviados pela rede para serem processados.

A criação de stored procedures é definida pelo comando CREATE PROCEDURE e sua remoção, com o DROP PROCEDURE.

Para aprender sobre este assunto, acesse:

E para se aprofundar em stored procedure, confira as publicações a seguir, organizadas de acordo com o banco de dados:

Triggers

Um trigger, ou gatilho, é um tipo de stored procedure que é chamado toda vez que um evento a ele relacionado acontece, por exemplo: a atualização de um dado no banco, a modificação da estrutura de uma tabela, entre outros.

Assim, é comum utilizar triggers quando o objetivo é manter a consistência de dados ou fazer alguma auditoria, por exemplo. O uso desse recurso é observado em códigos de definição (DDL) e manipulação (DML) de dados.

Para criar um trigger, iniciamos a declaração com o comando CREATE TRIGGER, e para remoção, DROP TRIGGER.

Uma introdução mais detalhada sobre este assunto pode ser obtida nos posts:

Nas publicações abaixo, organizadas de acordo com o banco de dados, exploramos situações mais específicas, que podem atender às demandas do seu dia a dia. Confira:

Desempenho e segurança

Ao gerenciar bancos de dados estamos tratando de um recurso de grande importância a qualquer instituição: seus dados. Devemos, portanto, prezar pela segurança e pelo desempenho de acesso aos mesmos.

Para tratar de desempenho, indicamos o post:

Com relação à segurança, entre tantos assuntos, destacamos aqui, principalmente, o SQL Injection. Aprenda o que é e como evitar acessando os links abaixo:

Documentação

Com o intuito de apoiar seu aprendizado sobre a linguagem SQL, elaboramos algumas documentações que você pode acessar para consulta rápida.

Nestes posts você aprenderá não apenas sobre a sintaxe dos comandos, mas também como utilizá-los da melhor maneira para obter o resultado desejado.

  • WHERE
  • Funções de agregação
  • JOIN
  • Conteúdo extra

    A qualidade do código não é uma preocupação exclusiva a programadores. Ao criar qualquer comando a ser executado no banco de dados também devemos levar em consideração essa questão.

    Lembre-se que esse código provavelmente passará por manutenção e essa tarefa pode ser atribuída a outras pessoas. Para lhe ajudar a escrever um código SQL mais fácil de ler e manter, recomendamos o post:

    Por fim, saiba que essa linguagem também é aplicada em diferentes contextos, não ficando restrita ao acesso a dados persistidos em bancos relacionais. Isso nos mostra que seu aprendizado é útil e aplicável a outros cenários, como pesquisa semântica em documentos ou mesmo consultas a bases de dados não relacionais.

    Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
    Ajude-nos a evoluir: você gostou do post?  (10)  (0)

    Para avaliar você precisa ser um assinante MVP :)

    Ficou com alguma dúvida?