SQL e Banco de Dados para Iniciantes Passo a Passo


Nesse artigo vou explicar de forma bem didática o que é um banco de dados. 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.

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 um 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.

Mesmo não sendo da área de tecnologia, você vai entender tudo e até conseguir explicar para os seus amigos depois.

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.

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 a fatura, mais conhecida aqui em Minas como “Condeluz :)”.

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á.

Banco de Dados

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$ 129,16. O valor da sua aí provavelmente é outro, pois depende do consumo de cada família.

Eu recebi essa conta pelo correio. Dá pra notar que ela foi impressa por uma impressora, que claro, estava ligada a um computador.

Se o meu cachorro comer essa conta, não tem problema, eu posso entrar lá no site da CEMIG 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 CEMIG que imprimem contas, buscam as informações em um mesmo lugar, no Banco de Dados da CEMIG.

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:

Banco de Dados mais Usados

Dá pra 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 grande volumes de dados, estou falando de terabytes de dados. Outro exemplo de um SGBD pago é o SQL Server da Microsoft.

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 estão sendo desenvolvidos e melhorados há anos.

Grande 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 e PostgreSQL

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 tem algumas “divisões” para organizar melhor as informações.

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

Banco de Dados Tabelas

No gráfico 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 Bancos de Dados Relacionais.

O banco de dados é organizado em tabelas e essas tabelas se relacionam umas com as outras através de identificadores únicos.

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 post 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 13 anos como programador, conheci poucos DBA’s. Conheci um que cuidava dos bancos de dados da antiga Telemar, que hoje é a Oi.

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’s que conseguia gerenciar um número tão alto de informações, todas as notas fiscais do Brasil :O.

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

DBA é um 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ê é como eu, e vai escolher a carreira de programador, 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 escrever nosso primeiro código.

Bora?

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. É um 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 Java, PHP ou C#, você sempre poderá usar o SQL para integrar o seu programa à um banco de dados. Por isso, saber SQL é obrigatório 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.

{% gist d8f283e6802dfccbd42c02342d528878 %}

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

{% gist 7a3827762b14aec22ca47ac68c9ee806 %}

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 Playcode, 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.

Bora trabalhar?

Acesse o site http://sqliteonline.com

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:

Banco de Dados Sqlite Online

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

No ítem 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 ítem 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”:

Banco de Dados Primeiro Comando

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 post 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 de um 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, para se tornar um programador profissional, conheça o Playcode Makers clicando aqui nesse link.