O que é SQL?

o que é SQL

SQL (Structured Query Language) é um padrão de linguagem de programação usado para gerenciar bancos de dados relacionais. Dessa forma, é importante entender o que é SQL, por ser amplamente utilizado em sistemas gerenciados de dados, gestão e análise de dados em empresas de todo o mundo.

Neste artigo, discutiremos os conceitos básicos de SQL, incluindo sua estrutura e sintaxe. Além disso, mostraremos os principais comandos e operadores usados para gerenciar um banco de dados. Também abordaremos os tipos de dados SQL, a criação e manipulação de tabelas, consultas avançadas e segurança em SQL.

O que é SQL? Começando pelo básico

Falando de forma bastante simples, SQL é uma linguagem para que o operador “converse” com um banco de dados. Através da linguagem SQL, um operador (ou um sistema), podem fazer perguntas ao banco de dados.

Por exemplo: “selecionar os 10 funcionários mais novos da empresa”. Ou até mesmo, “inserir um novo funcionário no banco de dados”.

Através de SQL, o SGBD (servidor de banco de dados) compreende o que está sendo pedido, faz a varredura, e retorna para o operador o resultado.

Não devemos confundir SQL com MySQL. Apesar de serem termos muito relacionados, o SQL é a linguagem, e o MySQL é um sistema de servidor de banco de dados.

autor gustavo

O termo SQL, além de significar “structured query language”, também teve origem na abreviação “seek well“. Traduzindo para o português, significa “procurar corretamente”. – comenta Gustavo Carvalho

Estrutura de uma consulta SQL

A estrutura de uma consulta SQL contém várias partes que trabalham juntas para retornar os dados desejados. As principais partes de uma consulta SQL incluem:

  1. Comando SELECT: utilizamos o comando SELECT para especificar as colunas que você deseja retornar nos resultados da consulta. Assim, a primeira parte de uma consulta SQL e seguida pela cláusula FROM.
  2. Comando FROM: utilizamos o comando FROM para especificar a fonte dos dados que você deseja retornar na consulta. Nesse sentido, isso pode ser uma tabela, uma view ou uma subconsulta.
  3. Comando WHERE: utilizamos o comando WHERE para filtrar os resultados da consulta. Dessa forma, utilizamos para excluir registros que não atendem a um determinado critério.
  4. Comando JOIN: utilizamos o comando JOIN para combinar dados de duas tabelas ou mais em uma única tabela. Portanto, isso é útil quando você deseja obter informações de várias tabelas em uma única consulta.

Aqui está um exemplo de uma consulta SQL simples que usa todas essas cláusulas:

SELECT nome, idade, cidade
FROM pessoas
WHERE idade > 18

Tipos de dados

No SQL, existem vários tipos de dados usados para armazenar e manipular informações em um banco de dados. Cada tipo de dados tem uma estrutura e propriedades específicas que determinam como os dados devem armazenados e manipulados. Aqui estão alguns dos tipos de dados do SQL mais comuns :

  1. VARCHAR: Usamos o tipo de dados VARCHAR para armazenar strings ou cadeias de caracteres. Ele pode armazenar qualquer tipo de texto, incluindo letras maiúsculas e minúsculas, sinais de ponto e vírgula, e outros caracteres. O tamanho do VARCHAR pode variar conforme o banco de dados, mas geralmente pode armazenar até 8000 bytes.
  2. INT: Usamos o tipo de dados INT para armazenar números inteiros. Em que geralmente usado para armazenar códigos ou números que não precisam ter precisão decimal.
  3. DATE: Usamos o tipo de dados DATE para armazenar datas e horas. Dessa forma, utilizamos geralmente para armazenar datas de nascimento, datas de nascimento de um produto, ou qualquer outra data, ou hora específica.
  4. BOOLEAN: Usamos o tipo de dados BOOLEAN para armazenar valores verdadeiros ou falsos. Assim, aplicamos geralmente para indicar se uma condição é verdadeira ou falsa, como se um usuário é ativo ou não.

Além desses tipos de dados, existem muitos outros tipos de dados suportados pelo SQL, como FLOAT, REAL, DECIMAL, e BINARY. Portanto, cada tipo de dados tem suas próprias propriedades e usos específicos, e é importante escolher o tipo de dados adequado para cada coluna quando você cria uma tabela.

Operadores mais comuns do SQL

Os operadores do SQL são usados para comparar valores e realizar operações em uma consulta SQL. Nesse sentido, são essenciais para construir consultas eficazes e filtrar dados de acordo com seus requisitos específicos. Aqui estão alguns dos operadores SQL mais comuns:

  1. Operador =: usamos o operador de igualdade (=) para comparar valores e determinar se eles são iguais. Por exemplo, se você deseja retornar todos os registros em que o campo “idade” seja igual a 30, você pode usar a seguinte consulta:
SELECT * FROM pessoas WHERE idade = 30;
  1. Operador <: usamos o operador menor que (<) para comparar valores e determinar se um valor é menor que outro. Por exemplo, se você deseja retornar todos os registros em que a idade seja menor que 30:
SELECT * FROM pessoas WHERE idade < 30;
  1. Operador >: usamos o operador maior que (>) para comparar valores e determinar se um valor é maior que outro. Por exemplo, se você deseja retornar todos os registros em que a idade seja maior que 30:
SELECT * FROM pessoas WHERE idade > 30;
  1. Operador <>: O operador diferente de (<>), também conhecido como operador de desigualdade, que serve para comparar valores e determinar se um valor é diferente de outro. Por exemplo, se você deseja retornar todos os registros em que a idade seja diferente de 30:
SELECT * FROM pessoas WHERE idade <> 30;
  1. Operador BETWEEN: O operador BETWEEN é usado para especificar um intervalo de valores e retornar todos os registros que satisfazem esse critério. Por exemplo, se você deseja retornar todos os registros em que a idade esteja entre 20 e 30:
SELECT * FROM pessoas WHERE idade BETWEEN 20 AND 30;
  1. Operador IN: usamos o operador IN para especificar uma lista de valores e retornar todos os registros que satisfazem esse critério. Por exemplo, se você deseja retornar todos os registros em que a cidade seja “São Paulo” ou “Rio de Janeiro”:
SELECT * FROM pessoas WHERE cidade IN ('São Paulo', 'Rio de Janeiro');

Trabalhar com tabelas

Para entender o que é SQL, é importante diferenciar tabelas e bancos de dados. As tabelas são a base de todos os dados armazenados em um banco de dados SQL. Dessa maneira, são compostos por colunas e linhas, e cada coluna representa uma categoria de dados, como nome, idade, endereço, etc. Assim, as tabelas são criadas e gerenciadas usando a sintaxe SQL.

Para criar uma tabela em SQL, você pode usar a seguinte sintaxe:

CREATE TABLE nome_da_tabela (
    coluna1 tipo_de_dados,
    coluna2 tipo_de_dados,
    coluna3 tipo_de_dados,
    ...
);

Por exemplo, para criar uma tabela “pessoas” com as colunas “nome”, “idade” e “endereço”, você pode usar a seguinte consulta:

CREATE TABLE pessoas (
    nome VARCHAR(255),
    idade INT,
    endereco VARCHAR(255)
);

Além de criar uma tabela, você também pode gerenciar tabelas usando SQL. Isso inclui a definição de valores pré-definidos e restrições de integridade.

Para definição de valores pré-definidos, você pode usar a seguinte sintaxe:

ALTER TABLE nome_da_tabela ADD CONSTRAINT nome_da_restrição
    CHECK (coluna_1 BETWEEN valor_1 AND valor_2);

Por exemplo, para adicionar uma restrição de valores pré-definidos para a coluna “idade” da tabela “pessoas”, você pode usar a seguinte consulta:

ALTER TABLE pessoas ADD CONSTRAINT idade_restrição
    CHECK (idade BETWEEN 18 AND 100);

Para restrições de integridade, você pode usar a seguinte sintaxe:

ALTER TABLE nome_da_tabela ADD CONSTRAINT nome_da_restrição
    FOREIGN KEY (coluna) REFERENCES nome_da_tabela_referencia (coluna_referencia);

Por exemplo, para adicionar uma restrição de chave estrangeira para a coluna “cidade” da tabela “pessoas”, que se refere à coluna “nome” da tabela “estados”, você pode usar a seguinte consulta:

ALTER TABLE pessoas ADD CONSTRAINT cidade_chave_estrangeira
FOREIGN KEY (cidade) REFERENCES estados(nome);

Em resumo, as tabelas são a base de todos os dados armazenados em um banco de dados SQL. Eles são compostos por colunas e linhas, e cada coluna representa uma categoria de dados. Assim, as tabelas podem ser criadas e gerenciadas usando a sintaxe SQL, incluindo a definição de valores pré-definidos e restrições de integridade.

Consultas avançadas

Uma das características mais poderosas do SQL é a capacidade de realizar consultas avançadas. Assim, essas consultas envolvem a combinação de dados de várias tabelas, a aplicação de filtros e classificações e a criação de agregações.

Uma das técnicas mais comuns de consulta avançada é o uso de joins. Os joins permitem combinar dados de duas ou mais tabelas com base em uma coluna comum. Assim, existem vários tipos de joins, como o INNER JOIN, OUTER JOIN e CROSS JOIN, cada um com sua própria finalidade e uso.

  • Subconsultas

Subconsultas são consultas incorporadas em uma consulta principal, permitindo que executar uma consulta dentro de outra consulta, o que pode tornar as consultas mais complexas e poderosas.

  • Consultas com agregações

Permitem que você calcule e agregue dados em uma tabela. Nesse sentido, inclui a criação de contagens, médias, desvios padrão, percentagens e outras informações úteis e são amplamente utilizadas para criar relatórios e visualizações de dados.

NoSQL

NoSQL é um tipo de banco de dados que se diferencia dos tradicionais bancos de dados relacionais, focando mais na flexibilidade e escalabilidade. Ao contrário de usar tabelas com linhas e colunas, os bancos NoSQL permitem armazenar dados em formatos variados, como documentos, chave-valor, colunas ou grafos.

Isso é especialmente útil para aplicações que lidam com grandes volumes de dados não estruturados ou semi-estruturados, como redes sociais, dados de sensores e grandes sistemas de análise.

Outra vantagem do NoSQL é que ele pode escalar horizontalmente, ou seja, você pode adicionar mais servidores para lidar com o aumento da carga de trabalho. Isso contrasta com os bancos de dados relacionais, que geralmente requerem hardware mais potente para escalar verticalmente.

NoSQL também permite que você faça alterações na estrutura dos dados sem muita complicação, tornando-o ideal para ambientes dinâmicos onde as necessidades mudam rapidamente.

Segurança em SQL

A segurança é um aspecto fundamental para proteger dados em um banco de dados SQL, inclui a autenticação e autorização de usuários, que garantem que apenas usuários autorizados tenham acesso aos dados.

  • Autenticação

A autenticação é o processo de verificar a identidade de um usuário. O SQL oferece vários métodos de autenticação, como o uso de senhas hash, tokens de segurança e certificados. Cada método tem suas próprias vantagens e desvantagens.

  • Autorização

A autorização, por outro lado, é o processo de controlar o acesso dos usuários aos dados. Permitindo que os administradores de banco de dados criem usuários e definam permissões de acesso para cada usuário, como para ler, gravar, atualizar ou excluir dados em uma tabela, ou em todo o banco de dados.

Além disso, é importante garantir que os dados em um banco de dados SQL estejam protegidos contra ataques externos. Assim, fazemos o uso de firewalls, criptografia de dados e backup regulares para garantir essa proteção.

Aqui está um exemplo de como configurar a autenticação e autorização de usuários em um banco de dados SQL usando o SQL Server:

-- Criar usuário
CREATE USER [nome_do_usuario] WITH PASSWORD = 'senha';

-- Atribuir permissões ao usuário
GRANT ADMINISTER BULK OPERATIONS, CREATE SESSION, TABACCO
  TO [nome_do_usuario];

-- Limitar o acesso ao banco de dados
ALTER ROLE db_datareader ADD MEMBER [nome_do_usuario];
ALTER ROLE db_datawriter ADD MEMBER [nome_do_usuario];

Neste exemplo, criamos um usuário com o nome “nome_do_usuario” e uma senha fornecida. Em seguida, permissões são atribuídas ao usuário, permitindo que ele execute operações em lotes, crie uma sessão e tome notas.

É importante notar que as instruções e a sintaxe podem variar conforme o SGBD que você está usando. Esse exemplo é para o SQL Server, mas outras ferramentas de gerenciamento de banco de dados podem ter suas próprias instruções. Nesse sentido, você pode aprender muito mais com os cursos gratuitos de SQL !

Este artigo foi útil?

Obrigado pela resposta!
Picture of Schênia T

Schênia T

Cientista de dados, apaixonada por ferramentas de tecnologia e games. Graduanda em Estatística pela UFPB. Seu hobby é maratonar séries, curtir uma boa música trabalhando ou cozinhando, ir ao cinema e aprender coisas novas!

Contato: schenia.blog@homehost.com.br

Ganhe 30% OFF

Indique seu nome e e-mail,e ganhe um cupom de desconto de 30% para sempre na Homehost!