sexta-feira, 25 de novembro de 2016

SQL e Banco de Dados para iniciantes

Já ouviu falar de SQL? Provavelmente você já ouviu um atendente de telemarketing falar no telefone “Um minuto senhor, vou consultar o banco de dados”. Ou talvez já tenha lido uma notícia como “Hackers roubam dados de milhares de clientes da empresa X”.

Se você já ouviu algo do tipo, mas não sabe exatamente o significado de dados e banco de dados, você está no lugar certo!

Vou explicar de forma bem didática o que é um banco de dados.

Para quem usa o Excel, é de extrema importância conhecer como funciona um BD para realizar consultas e manipular informações pelo Excel em outros sistemas (Access, MySQL, etc...), elevando o nível de possibilidades com automações.

Você também vai entender o que é a linguagem SQL e até escrever a sua primeira consulta SQL em um banco de dados de verdade.

Boa leitura!

Banco de dados: Um exemplo real

Imagino que você tenha energia elétrica na sua casa, acertei?

Se a resposta é sim, provavelmente todo mês você ou seus pais recebem uma fatura.

Agora vou te pedir um favor.

Vá lá na sua gaveta e pegue sua conta de luz. Isso vai te ajudar a entender melhor o que estou prestes a te explicar.

Eu também vou pegar a minha conta. Aqui está.



O primeiro ponto que podemos ver nessa conta é que ela tem um monte de informações. E essas informações são diferentes de acordo com o cliente e de acordo com o mês da fatura.

O valor dessa minha conta é R$ 109,53. O valor da sua aí provavelmente é outro, pois depende do consumo de cada família.

Geralmente as faturas são enviadas pelo correio. Mas se o meu cachorro comer essa conta, não tem problema, eu posso entrar lá no site da CPFL e imprimir uma segunda via. Apesar do layout da conta emitida pelo site ser um pouco diferente, as informações continuam as mesmas.

Isso acontece porque o site e os computadores da CPFL que imprimem contas, buscam as informações em um mesmo lugar, no Banco de Dados da CPFL.

Se a sua conta de luz é da Eletropaulo, as suas informações pessoais e de consumo, assim como as do seu vizinho, estão todas armazenadas no Banco de Dados da Eletropaulo.

Banco de dados nada mais é do que um “lugar” onde as informações são guardadas de forma organizada, para serem encontradas rapidamente.

Quando os computadores não existiam, esses eram os bancos de dados mais usados:

PS: Acredite, em pleno 2016 ainda temos muitos lugares que usam este método. Uma bela oportunidade para você implementar um sistema de banco de dados ;)

Dá para perceber que por mais que as informações estivessem organizadas, demorava um pouco para alguém recuperá-las, pois o trabalho era todo feito manualmente.

Sistema de Gerenciamento de Banco de Dados (SGBD)

Agora que temos os computadores, não precisamos mais usar arquivos físicos guardando papel de forma organizada. Podemos usar Sistemas Gerenciadores de Bancos de Dados, ou SGBD’s.

O SGBD nada mais é do que um software que é instalado em um computador (servidor), e tem a função de gerenciar um ou mais bancos de dados.

Existem vários SGBD’s disponíveis no mercado, tanto gratuitos quanto pagos. Falando de SGBD’s pagos, temos os da Oracle, que são uns dos mais usados para gerenciar grandes volumes de dados de grandes empresas.

Quando falo de grandes volumes de dados, estou falando de terabytes de dados. Outro exemplo de um SGBD pago é o SQL Server da Microsoft.

Um também muito conhecido e que você provavelmente tem instalado aí em seu computador é o Microsoft Access, que faz parte dos aplicativos do Microsoft Office.

Por sorte, nós também temos os SGBD’s gratuitos. Tem alguns que você pode inclusive mudar o código fonte e ajudar a desenvolver.

Ser gratuito não significa ser ruim. Podemos usá-los tranquilamente, pois são softwares que vem sendo desenvolvidos e melhorados há anos.

Grandes empresas também usam esses SGBD’s gratuitos, para sistemas que não envolvem volumes de dados estratosférico como terabytes. Os SGBD’s gratuitos mais famosos e usados são o MySQL. o PostgreSQL e o Firebird (este último é o que usamos atualmente no servidor do nosso escritório).

Agora que você entendeu o que é um banco de dados, você deve estar se perguntando como as informações são guardadas e organizadas dentro dele.

Continue lendo para descobrir.

Como os dados são organizados em um banco de dados?

Sempre que falamos de organização, geralmente isso envolve criar um subconjunto de “coisas”.

No caso dos arquivos físicos mostrados nas imagens mais acima, você pode perceber que cada arquivo daquele tem gavetas, e dentro das gavetas nós podemos ter pastas, e dentro das pastas, temos os documentos.

Essas divisões servem para organizar e dessa forma facilitar a busca de documentos. Eu poderia por exemplo falar que a primeira gaveta tem os documentos das pessoas com nomes começados com a letra A, a segunda gaveta, nomes começados com a letra B, e assim por diante.

No caso dos bancos de dados usados no desenvolvimento de sistemas, eles também têm algumas “divisões” para organizar melhor as informações.

Geralmente organizamos os dados através de tabelas, linhas e colunas (te lembra o Excel?).


Na imagem acima você pode perceber que temos duas tabelas.

Temos a tabela Clientes que armazena os dados pessoais dos clientes. Esses dados estão organizados em colunas. Cada coluna recebeu um nome, nesse caso aqui temos as colunas nome, endereço e número do cliente

A coluna número do cliente é um identificador único, cada cliente tem um número diferente.
Esse identificador único é usado para relacionar os dados com tabelas diferentes. Daí que vem o nome Bancosde Dados Relacionais.

O banco de dados é organizado em tabelas e essas tabelas se relacionam umas com as outras através de identificadores únicos (conhecido também como Chave Primária ou ID).

No nosso exemplo você pode perceber que a tabela Consumo se relaciona com a tabela Clientes através do identificador “número do cliente”.

Dessa forma eu consigo extrair por exemplo a informação que o cliente Walter White (7001) tem uma conta de luz do valor de 129,16. Também consigo observar que o cliente Thomas A. Anderson tem 2 contas, uma no valor de R$ 112,45 e outra no valor de R$ 172,25.

Interessante, não é?! Segura aí, que tem mais…

Continue lendo esse artigo para entender como é o mercado de trabalho para quem sabe banco de dados, entender o que é a linguagem SQL e o melhor, escrever sua primeira consulta SQL.

Banco de dados e mercado de trabalho

Empresas com bancos de dados gigantes que chegam aos terabytes, geralmente tem um ou mais especialistas em banco de dados.

Esse cara é chamado de DBA (Data Base Administrator). Além de conhecer a linguagem SQL, ele também sabe instalar e configurar bases de dados complexas, que exigem toda atenção com performance e disponibilidade dos dados.

Na minha carreira de mais de 10 anos trabalhando com dados e informações, conheci apenas dois DBA’s. Conheci um que cuidava dos bancos de dados de um grande escritório de Advocacia com várias filiais espalhadas pelo Brasil.

E também conheci um que ajudou a implantar o sistema de nota fiscal eletrônica do Governo Federal.
Para você ter ideia, na época não existia um SGBD que conseguia gerenciar um número tão alto de informações (todas as notas fiscais do Brasil).

A equipe precisou trabalhar de perto com o fornecedor do SGBD, para que eles adaptassem as soluções existentes até então.

DBA é uma profissão parecida com goleiro, são poucos se comparados com os jogadores de linha (programadores). Portanto se você quiser seguir essa carreira de DBA, sugiro que corra atrás de uma certificação Oracle, uma das mais respeitadas do mercado.

Agora se você for como eu, e vai seguir uma carreira voltada para programação, a boa notícia é que inicialmente você só precisa se preocupar em aprender SQL e as principais teorias de banco de dados.

Por falar em SQL, agora vamos entender o que é isso e manipular nosso primeiro código.


Linguagem SQL

Os bancos de dados relacionais compartilham entre si, uma característica muito interessante, todos eles usam uma linguagem chamada SQL.

SQL não é uma linguagem de programação. É uma linguagem que é usada exclusivamente para criar tabelas, manipular os dados das tabelas e principalmente, consultar os dados.

É através do SQL, que os programas interagem com um banco de dados relacional. Praticamente todas as linguagens de programação têm bibliotecas (conjunto de código) para acessar bancos de dados relacionais.

Portanto, não importa se você usa VBA, Java, PHP, C, etc... você sempre poderá usar o SQL para integrar o seu programa à um banco de dados. Por isso, saber SQL é quase que uma obrigação para todo programador.

Para você não ficar muito curioso, vou mostrar aqui um exemplo da linguagem SQL.

Esse comando simples lista todos os dados da tabela Clientes:

SELECT * from CLIENTES;

Já esse outro comando, mostra apenas o endereço do cliente Marty Mcfly:

SELECT endereco from CLIENTES where NOME = 'Marty Mcfly';

Esses são apenas exemplos básicos do SQL.

Existem muito mais comandos para você criar um sistema completo, onde é possível inserir dados, alterar, apagar e gerar relatórios complexos.

Seu primeiro código SQL

Aqui na Tonetto Excel, eu sempre gosto de ir direto ao ponto. Para facilitar sua vida, não vou pedir para você instalar nenhum software de banco de dados no seu computador.

Para escrever seu primeiro código SQL, tudo que você vai precisar é de um navegador e uma conexão à internet.


Essa é uma interface web que permite que você manipule dados no SQLite, um pequeno banco de dados compatível com a linguagem SQL.

Não se preocupe em aprender tudo sobre essa interface agora. Foque neste momento, apenas nos pontos que indiquei na imagem abaixo:

No item 1 marcado em vermelho, temos a tabela, que nesse caso se chama “demo” de demonstração.

No item 2 em azul, temos um comando SQL simples, que está listando todas as colunas e registros da tabela “demo”.

Tudo ok até aqui?

Por último, temos o item 3 em verde, que são os dados que estão armazenados na tabela “demo”. Perceba que temos as colunas nomeadas como id, name e hint. E temos 3 registros, com id 1, 2 e 3.

Agora para executar seu primeiro comando SQL, você vai precisar fazer uma pequena alteração no comando mostrado nessa tela. E logo depois, clicar no botão “Run”, que significa Executar.

Faça como está na imagem abaixo e depois clique em “Run”:



Viu o que aconteceu?

Ao invés de mostrar as 3 colunas “id”, “name” e “hint”, mostrou apenas a coluna “name”.

Parabéns! Esse foi seu primeiro comando SQL executado.

Quer aprender mais sobre SQL?

Esse artigo foi apenas uma introdução a banco de dados e linguagem SQL.

O próximo passo para você, é colocar a mão na massa e aprender a linguagem SQL, que é bem simples, porém extremamente importante para a carreira como analista de dados, sistemas ou programador.

Saber criar sistemas de informação hoje em dia, significa basicamente, dominar uma linguagem de programação, e depois aprender como manipular e recuperar os dados, integrando essa linguagem ao banco de dados com ajuda do SQL.

Se quiser continuar aprendendo SQL comigo, com a mesma didática que viu aqui nesse post, eu tenho uma boa notícia para você. Estou preparando um curso completo de SQL, 100% em vídeo para você assistir quantas vezes quiser, e claro, praticar tudo que foi mostrado.


Aguardem! ;)

Gostou deste artigo? Então compartilhe com seus amigos e assine para RECEBER MAIS DICAS DE EXCEL POR E-MAIL. Fique a vontade para deixar seu comentário.
Informe seu e-mail...
Licença Creative Commons
Todo trabalho do conteúdo do site de Tonetto Excel - Consultoria & Treinamentos está licenciado com uma Licença Creative Commons - Atribuição-NãoComercial-SemDerivações 4.0 Internacional.
Baseado no trabalho disponível em http://www.tonettoexcel.com/

Sobre o autor: Anderson Tonetto dos Santos
Anderson é especialista em Planilhas Eletrônicas e Administração de Sistemas. Trabalha com tecnologia há mais de 10 anos, e nos últimos 6 anos atua como Consultor e Instrutor de Excel. Fundador da Tonetto Excel, site referência no conteúdo de Planilhas e Macros, com mais de 3 milhões de acessos nos últimos 5 anos. Também é co-fundador da Solução Contábil, empresa especializada em Inteligência Informacional para Contabilidade e Data Analytics.