Banco de Dados

1 abr, 2014

SQL: o prefácio (Excel vs. Bancos de dados) – Parte 01

Publicidade

O Excel recebe uma má fama. É um software muito flexível e poderoso que faz um monte de coisas bem.

  • É fácil navegar nos dados.
  • É fácil inserir e editar dados manualmente.
  • É fácil compartilhar cópias de arquivos.
  • Você tem um bom controle sobre a apresentação visual.
  • Ele tem uma estrutura muito flexível. Cada célula é única.
  • Ele se integra com outros softwares de escritório bem populares.
  • Fórmulas tornam o documento vivo.
  • Ele tem um conjunto integrado de assistentes para gráficos, comentários, correção ortográfica etc.
  • É relativamente fácil de aprender.

No que o Excel é ruim

Infelizmente, o Excel também tem seus limites. Ele é muito ruim em algumas outras coisas.

  • Falta-lhe a integridade dos dados. Como cada célula é uma unidade única, as coisas podem ficar muito inconsistentes. O que você vê não representa, necessariamente, os dados subjacentes. Um número não é necessariamente um número. Os dados não são necessariamente dados. O Excel tenta fazer suposições sobre o que você quer, e às vezes está errado.
  • Não é muito bom para trabalhar com vários conjuntos de dados em combinação.
  • Não é muito bom para responder a perguntas detalhadas com seus dados.
  • Ele não escala. À medida que a quantidade de dados aumenta, o desempenho é prejudicado, e a interface visual se torna uma responsabilidade em vez de um benefício. Ele também tem limites fixos para o quão grande uma planilha e suas células podem ser.
  • Colaboração é algo difícil. É difícil controlar as versões e ter um conjunto “mestre” de dados, especialmente quando muitas pessoas estão trabalhando no mesmo projeto (o Google Spreadsheets corrige algumas dessas coisas) .

Bancos de dados relacionais

O que é um banco de dados relacional? Poderíamos ser muito exigentes sobre a terminologia, mas não vamos. Em termos gerais, ele consiste em um “servidor” que armazena todos os seus dados (pense em uma enorme biblioteca) e em um mecanismo para consultá-lo (pense em um bibliotecário de referência).

A consulta é onde o SQL entra, destaque para o Q. SQL significa Structured Query Language em inglês e é uma sintaxe para pedir as coisas ao banco de dados. É a linguagem na qual o bibliotecário de referência fala. Mais sobre isso mais tarde.

A parte ” relacional” é uma dica de que esses bancos de dados se preocupam com as relações entre os dados. E, sim, existem bancos de dados não-relacionais, mas vamos manter isso simples. Somos todos amigos aqui.

O mantra do banco de dados

Tudo no seu devido lugar.

Um banco de dados incentiva você a guardar as coisas de forma lógica. Às vezes, te obriga a tal. Cada banco de dados é composto por tabelas. Pense em uma tabela como uma única planilha em um arquivo do Excel, só que com mais regras. Uma tabela de banco de dados é composta por colunas e linhas.

Colunas

A cada coluna é dado um nome (como “Endereço”) e definido um tipo de coluna (como “Inteiro”, “Data”, “Data + Tempo”, ou “Texto”). Você tem que escolher um tipo de coluna e permanecer com ele para todas as linhas. O banco de dados vai forçar todos os dados que você colocar para esse tipo. Isso parece chato, mas é muito útil. Se você tentar colocar o tipo errado de dados em uma coluna, ele vai ficar chateado. Isso te diz se há um problema com seus dados, com a sua compreensão dos dados, ou com ambos. O Excel iria deixá-lo continuar errando até que seus erros se voltassem contra você.

Você também pode especificar coisas úteis como…

…se uma coluna pode ter valores duplicados.

…se uma coluna pode estar vazia.

…o valor padrão para uma coluna, caso você não especifique um.

Colunas definem a estrutura dos seus dados.

Linhas

As linhas são os dados reais na tabela. Depois de estabelecer a estrutura da coluna, você pode adicionar quantas linhas quiser.

Cada linha tem um valor para cada coluna. O Excel é uma tela visual e te permite criar qualquer colcha intrincada de células irregulares e mescladas que você quiser. Você pode fazer formas como as do Tetris e colocar uma legenda no canto e notas de rodapé no fundo, tudo compartilhando as mesmas células.

Isso não vai acontecer com um banco de dados. A tabela de banco espera uma grade real. Não tem problema as células estarem vazias, mas, para um computador, intencionalmente vazio não é o mesmo que inexistente.

Várias tabelas, joins, e chaves

Mais informações sobre isso adiante, mas parte de colocar tudo em seu devido lugar significa tornar fácil quebrar seus dados em várias tabelas para diferentes categorias de dados e trabalhar com eles como um conjunto.

Deixe os dados serem dados

Um banco de dados se concentra apenas na camada de dados das coisas e ignora a apresentação visual. Cores, fontes, bordas, formatação de dados e formatação de números basicamente não existem. O que você vê é principalmente o que você recebe. É uma boa e uma má notícia: isso significa que um banco de dados é geralmente muito bom no que ele faz, mas também muitas vezes precisa ser combinado com outras coisas a fim de criar um produto final, como um gráfico ou uma página web. Um banco de dados é projetado para se conectar a outras coisas. Essa etapa extra é o que afasta um monte de gente dos bancos de dados.

Por ser muito bom em armazenamento e processamento de dados e não em outras coisas, os bancos de dados são extremamente escalonáveis. 1 milhão de linhas de dados? 10 milhões? Sem problemas. Para fins de redação, não há praticamente nenhum limite para a quantidade de dados que você pode armazenar ou quão complicado você tornar suas consultas.

***

Na segunda e última parte, o artigo vai abordar bancos de dados, web, quando usar bancos de dados ou Excel, entre outros assuntos.

***

Artigo escrito por Noah Veltman, desenvolvedor e jornalista na equipe de jornalismo visual da BBC. Publicado originalmente no portal Escola de Dados – http://schoolofdata.org/2013/11/07/sql-databases-vs-excel/