Sitemap

Curso SQL — PARTE 1

4 min readJul 20, 2021

--

Press enter or click to view image in full size

Definições

O que é SQL?

SQL (Sigla Structured Query Language ou Linguagem de Consulta Estruturada em tradução livre) é uma linguagem de pesquisa padrão para banco de dados relacional. Em outras palavras é um padrão de escrita, ou seja, uma linguagem que utilizamos para realizar operações e buscas em banco de dados.

A linguagem SQL é dividida em subconjuntos de acordo com as operações que queremos efetuar sobre um banco de dados, tais como:

DML — Linguagem de Manipulação de Dados
DDL — Linguagem de Definição de Dados
DCL — Linguagem de Controle de Dados
DTL — Linguagem de Transação de Dados
DQL — Linguagem de Consulta de Dados

Como analista de dados o nosso maior objetivo é conseguir extrair informações do banco de dados através de consultas e por isso o nosso foco nesse curso será o DQL.

Noções de banco de dados

Para começar a fazer queries (consultas no banco de dados) precisamos entender a estrutura de um banco de dados relacional. Vamos fazer aqui um paralelo simples com o Excel.

Um banco de dados relacional, assim como o Excel, armazena dados na forma de colunas e cada linha é um registro. Veja na imagem abaixo onde podemos ver as colunas [ id, sobrenome, nome, telefone, cidade_res]

Fig. 1— Tabela alunos

Também como no Excel, cada tabela tem um nome. No caso da tabela anterior o nome dela é alunos.

Como as tabelas dentro de um banco de dados se diferenciam de um Excel?

  • A) Tabelas podem estabelecer relacionamentos que serão utilizados em um cruzamento de dados

As tabelas em um banco de dados geralmente tem uma chave (um id) que se comunica com outras tabelas e é utilizado no cruzamento de dados. De maneira análoga, podemos dizer que fazemos um PROCV no Excel.

  • B) Campos com tipos de dados previamente definidos. Não podemos misturar o tipo de dados em uma coluna. Diferente do Excel aqui não temos colunas com células do tipo “geral” que podem guardar qualquer tipo de dado.

O código abaixo é o responsável por declarar a tabela alunos (em Excel seria o equivalente à abrir uma nova aba no Excel e nomear as colunas).

CREATE TABLE IF NOT EXISTS `alunos` (
`id` int(6) unsigned NOT NULL,
`sobrenome` varchar(200) NOT NULL,
`nome` varchar(200) NOT NULL,
`telefone` int(9) unsigned NOT NULL,
`cidade_res` varchar(200) NOT NULL,
PRIMARY KEY (`id`))
DEFAULT CHARSET=utf8;

Note que começamos declarando a coluna id, que só pode receber um inteiro (número sem casas decimais) de até 6 dígitos sem sinal [unsigned int (6)] e não pode ser nulo [NOT NULL].

Get Yuri Veiga’s stories in your inbox

Join Medium for free to get updates from this writer.

A coluna telefone é do tipo inteiro assim como a coluna id é do tipo numérica, porém admite até 9 dígitos sem sinal [unsigned int (9)]. Ela também não pode ser um campo nulo, ou seja, para todas as linhas da tabela alunos essa informação vai estar preenchida.

As colunas sobrenome, nome, e cidade de residência são do tipo [varchar(200)]. Isso significa que elas recebem e interpretam os dados como um texto de até 200 caracteres. Essas colunas também não podem ser nulas NOT NULL.

E por que a declaração de tipo é importante?

1.Garantir que operações sobre os dados serão executadas corretamente. Cada tipo de dado permite um conjunto de operações. Se você tentar somar colunas do tipo texto no Excel ele vai acusar um erro, correto? Aqui no SQL temos um comportamento semelhante. Se você tentar aplicar uma função em um tipo de dado que não corresponde ao tipo esperado por aquela função ele vai retornar um erro.

2. Evitar problemas na inserção de dados. Imagine que tentamos inserir um telefone 1999AAA87 no nosso dado iríamos receber um erro, pois AAA não são números e o próprio sistema iria acusar um erro de tipo na inserção desse registro no banco.

3. Reservar espaço na memória sem desperdício. Imagine que todos os telefones tem no máximo 5 dígitos, mas foi declarado que o telefone é do tipo int(9). Nesse caso estaríamos desperdiçando em cada telefone armazenado o espaço de 4 dígitos.
Em alguns casos como o padrão pode se alterar o administrador do banco de dados cria o campo com uma certa “folga”, mas se ela for muito maior que o necessário estaremos onerando o banco.

  • C) Inserir, deletar e modificar um registro não é tão simples como no Excel

Geralmente não conseguimos adicionar um dado diretamente no Banco de dados apenas clicando em um lugar e digitando o dado como no Excel. Para adicionar um dado é necessário alimentar o banco por meio de comandos de insert como abaixo:

INSERT INTO `alunos`(`id`, `sobrenome`, `nome`, `telefone`, `cidade_res`) VALUES(‘1’ ,’Einstein’ ,’Albert’ ,’11223456' ,’Sao Paulo’ ),
(‘13’ ,’Planck’ ,’Max’ ,’19541980' ,’Campinas’ ),
(‘26’ ,’Vinci’ ,’Leonardo’ ,’19442930' ,’Jundiai’ ),
(‘99’ ,’Velas’ ,’Juan’ ,’21546782' ,’Rio de Janeiro’);

Outra maneira é por meio de processos automatizados que “conversam” com o Banco de dados diretamente.

Aqui terminamos a PARTE 1 onde conhecemos o que é SQL e como funciona um banco relacional sobre o qual vamos aplicar consultas SQL também conhecidas como queries. Vamos agora para a PARTE 2 do curso onde iremos aprender a escrever uma consulta e rodar alguns exemplos.

--

--