SQL evoluiu ao longo de 50 anos para impulsionar a produtividade no processamento de dados

A Structured Query Language (SQL) foi proposta pela primeira vez pelo matemático Edgar Frank Codd, que iniciou a carreira na International Business Machines Corporation (IBM) em 1949.

Posteriormente, a partir dos anos 1960, ele começou a desenvolver o modelo relacional na empresa, o que acabou servindo como padrão na engenharia de banco de dados até hoje.

De acordo com Codd, o Data Base Management System (DBMS) não conseguia impulsionar a produtividade no trabalho no início da década de 1970 devido ao uso de conceitos irrelevantes na manipulação das informações, além da impossibilidade de processar vários registros ao mesmo tempo.

Por isso, ele propôs simplificar o código e ampliar a capacidade de consulta.

“Ela foi batizada de Structured English Query Language (SEQUEL) e logo depois passou a ser chamada de Structured Query Language (SQL)”, explica Alexandre Barcelos, professor nas disciplinas de Banco de Dados nos cursos de graduação e pós-graduação do Centro Universitário Faculdade de Informática e Administração Paulista (FIAP).

Navegue pelo índice

    O que é SQL?

    Logo da Microsoft SQL Server sobre um fundo vermelho

    A SQL é uma linguagem de programação declarativa projetada para armazenar, recuperar, gerenciar ou manipular dados em um sistema de gerenciamento de banco de dados relacional (SGBDR), usada para desenvolver aplicativos de tabelas com aumento de produtividade no processamento de informações.

    Como os bancos de dados podem conter o máximo ou o mínimo de informações necessárias, ter um sistema de análise de dados que não apresente problemas é uma necessidade absoluta.

    Ele funciona como a linguagem dos bancos de dados que permite transformar dados não estruturados em informações úteis.

    O código se tornou padrão do American National Standards Institute (ANSI) em 1986 e da International Organization for Standardization (ISO) em 1987.

    Em 1988, a Microsoft, em parceria com a Sybase, desenvolveu o Microsoft SQL Server, que eventualmente se tornou um dos melhores sistemas de gerenciamento de banco de dados do mundo.

    Para que serve SQL?

    SQL é a linguagem padrão utilizada para manipular dados em um SGBDR e executar tarefas como atualizar ou recuperar informações em um banco de dados. Alguns sistemas comuns de gerenciamento de banco de dados relacional que usam SQL são:

    • Oracle;
    • Sybase;
    • Microsoft SQL Server;
    • Access;
    • Ingres.

    “O profissional de dados, como analista de dados, cientista de dados e desenvolvedor de back-end, ou que trabalha em um campo que é remotamente orientado a dados, precisa ter um bom entendimento do que é SQL”, recomenda Barcelos.

    Além disso, como várias empresas dependem cada vez mais da análise de big data, ela se tornou uma habilidade em demanda no desenvolvimento de inteligência artificial (IA) e machine learning.

    Quais são as vantagens e as desvantagens da linguagem?

    “Uma das vantagens é que a linguagem SQL é bastante simples e fácil de ser utilizada”, afirma o professor. O código torna mais ágil a migração de aplicações, reduz os erros cotidianos e padroniza as operações do processamento de dados, permitindo a gestão integrada e a análise dos dados.

    O SQL possibilita, ainda, múltiplas visões de dados e permite a implementação da arquitetura cliente-servidor. São poucas linhas de código, com expressões básicas em inglês, o que torna a programação agradável e acessível.

    Contudo, a linguagem tem desvantagens: “A manipulação dela exige a utilização de procedimentos específicos (procedures) que são disponibilizados pelos diversos fabricantes”, alerta. Como cada fabricante implementa uma solução específica, isso gera custo e mais dificuldade com as interfaces.

    Quem deve e como aprender SQL?

    Imagem mostra dois profissionais trabalhando com SQL

    Todos os profissionais que trabalham com manipulação de dados devem conhecer a linguagem SQL:

    • administradores de banco de dados;
    • analistas de dados;
    • engenheiros de dados;
    • cientistas de dados;
    • desenvolvedores e programadores.

    “A SQL é uma linguagem interessante de se aprender pois, por ser consolidada há bastante tempo no mercado, novas soluções para a manipulação de dados não estruturados em SGBDs do tipo NoSQL vêm sendo criadas”, recomenda o professor.

    Muitas soluções utilizam linguagens com a escrita bastante semelhante à da SQL. Por exemplo, o banco de dados Apache HIVE, que é um sistema de data warehouse para big data, utiliza a linguagem HiveQL, que apresenta diversas semelhanças com a SQL.

    Organização da linguagem de programação

    São cinco subconjuntos que dividem a linguagem SQL:

    1. Data Definition Laguage

    A Data Definition Laguage (DDL), ou linguagem de definição de dados, inclui as instruções SQL que criam e descartam locais, bancos de dados e objetos de banco de dados, assim como tabelas e índices.

    Também inclui instruções para alterar objetos de banco de dados e impor restrições de integridade em tabelas. Todas as instruções DDL atualizam automaticamente as tabelas de catálogo do sistema apropriadas.

    2. Data Manipulation Language

    A Data Manipulation Language (DML), ou linguagem de manipulação de dados, é um subconjunto de operações usadas para inserir, excluir e atualizar dados em um banco de dados. Uma DML geralmente é uma sublinguagem de uma linguagem mais extensa, como SQL.

    A seleção de dados somente leitura está intimamente relacionada e às vezes também é considerada um componente de DML, pois alguns usuários podem executar a seleção de leitura e gravação.

    3. Data Transaction Language

    A Data Transaction Language (DTL), ou linguagem de controle de transação, gerencia as mudanças nos dados que são feitas pelas operações DML. A alteração feita pelos comandos DML, como UPDATE, INSERT e DELETE, não é permanente e pode ser cancelada antes que a sessão atual seja encerrada.

    Para controlar as alterações e o processamento de dados, a DTL é usada simultaneamente com DML. Como são realizadas muitas operações nos dados, o banco de dados pode se tornar inconsistente entre as transações.

    4. Data Control Language

    A Data Control Language (DCL), ou linguagem de controle de dados, inclui comandos como GRANT e REVOKE, que lidam principalmente com direitos, permissões e outros controles de sistema de banco de dados.

    Lista de comandos DCL:

    • GRANT — dá aos usuários privilégios de acesso ao banco de dados;
    • REVOKE — retira os privilégios de acesso do usuário concedidos usando o comando GRANT.

    5. Data Query Language

    A Data Query Language (DQL), ou instrução da linguagem de consulta de dados, serve para realizar consultas nos dados dentro de objetos do esquema.

    O objetivo do comando DQL é obter alguma relação de esquema com base na consulta passada para ele. Pode-se definir DQL da seguinte forma: componente da instrução SQL que permite obter dados do banco de dados e impor ordem sobre eles.

    Inclui a instrução SELECT, comando que permite obter dados do banco de dados para realizar operações com ele.

    Ao acionar um SELECT contra uma tabela ou mais tabelas, o resultado é compilado em uma tabela temporária adicional, que é exibida ou recebida pelo programa, ou seja, em front-end.

    Procurando performance, espaço e melhor custo-benefício do mercado? Conheça as soluções de revenda de hospedagem Locaweb.

    Clique aqui
    O autor

    Rodrigo Cardoso (Pokemaobr)

    Conhecido como Poke, é Streamer (Live "Coder") na Twitch, Web Developer e apresentador do talk show "The Velopers". Com bacharelado em Matemática e MBA em SOA, Poke atua como desenvolvedor e organizador de eventos de TI. É evangelista PHPSP e criador do PokePHP, focando em disseminar conteúdos técnicos e humor para a comunidade de desenvolvedores. Nas horas vagas, ele adora se conectar com a comunidade e compartilhar seu conhecimento de maneira divertida e informativa.

    Veja outros conteúdos desse autor