# [2020/05/06] O que são Bancos de Dados?
Você já deve ter ouvido o termo "banco de dados" antes, mas o que ele significa exatamente e porque é um conceito tão importante dentro da computação? Bom, você já deve ter criado uma planilha dentro do Microsoft Excel ou do Google Sheets, às vezes para algo simples como fazer uma lista de tarefas ou algo mais complexo como controlar o fluxo financeiro da sua empresa. Nos dois exemplos, o objetivo é o mesmo, você precisa armazenar informações de uma maneira estruturada.
Quando olhamos uma planilha é bem característica a forma como ela é apresentada, toda tabela possui várias colunas e várias linhas. Apesar desses programas permitirem que você utilize as planilhas da forma como fizer mais sentido para você, uma utilização bem comum de uma planilha é você colocar nas colunas uma série de informações de natureza diferente (nome, idade, rg, filme preferido, etc) e em cada linha você insere uma nova entrada com os valores para cada uma das informações da coluna.
(imagem de planilha de exemplo)
Dessa forma a sua planilha possui uma lista contendo a descrição de um evento (pode ser uma pessoa, um lugar, ou qualquer outra entidade), e para cada item dessa lista você define as propriedades daquele elemento, olhando para a ilustração podemos ver que a nossa lista possui 3 itens (vamos desconsiderar a primeira linha aqui), e cada um desses itens possui uma série de propriedades (nome, sobrenome e endereço).
O resultado observado é que quando isolamos uma linha podemos obter uma série de informações sobre um item específico, por exemplo, se observamos apenas a terceira linha, percebemos que esse item faz referência a uma pessoa chamada Rafael Silva que mora na Av. Professor Luciano Gualberto.
Outro ponto muito interessante sobre planilhas é que elas podem crescer infinitamente, ou seja, podemos ter milhares e milhões de linhas, contendo itens diferentes (para o nosso exemplo poderíamos ter uma linha para cada habitante do Brasil), e poderíamos ter milhares e milhões de colunas, contendo propriedades diferentes para cada um dos nossos itens (nossa lista também poderia incluir o número da residência de cada pessoa por exemplo)
---
Bom, mas qual a relação de planilhas com esses tais "banco de dados"? Apesar de tecnicamente existirem várias diferenças, tanto na forma como um banco de dados é construído ou a forma de acessar esses dados, o funcionamento de um banco de dados é muito similar ao de uma planilha! Basicamente um banco de dados é um local onde dados serão armazenas de forma estruturada, essa estrutura segue o conceito de linhas e colunas (igual em uma planilha!).
(imagem de banco de dados)
Talvez você esteja se perguntando qual a utilidade de um banco de dados? Essa discussão seria muito mais técnica, pois precisaríamos entender o funcionamento a fundo das planilhas e dos bancos de dados, mas a principal motivação é a eficiência de perfomance. Por mais que uma planilha permita que você armazene milhões de dados, com essa quantidade de informação a perfomance para acessar esses dados é muito ruim, bancos de dados são montados para permitir o armazenamento de milhões de informação sem afetar a performance de acesso.
Então aquela minha planilha antiga que possui milhares de informações está lenta simplesmente por conta da quantidade de dados presentes nela? E se eu jogar tudo isso dentro de um desses bancos de dados eu vou resolver esse meu problema? Bom, teoricamente sim, mas eu não recomendo que você faça isso (pelo menos não da forma mais tradicional), apesar de serem muito eficientes os bancos de dados possuem alguns problemas que dificultam a utilização por usuários com pouco domínio de programação.
O primeiro problema é que ao contrário de uma planilha, que você consegue criar só tendo o excel instalado no seu computador, um banco de dados requer uma série de outras configurações que muitas vezes são bem difíceis para usuários menos experientes. Outro problema é a questão da visualização dos dados, por padrão banco de dados não possuem uma forma de visualizar os dados e manipular eles de forma tão prática quanto uma planilha.
Então qual a utilidade de bancos de dados para usuários menos experientes com programação, mas que ainda precisam de todo o poder que um banco de dados pode oferecer? Existem vários serviços que buscam oferecer o poder de bancos de dados de uma forma mais simples e acessível para todos:
- Google Firestore: A google oferece diversos serviços de computação na nuvem, um deles é o Firestore, um serviço de banco de dados totalmente gerenciado pela Google, apesar de ser ainda bem técnico, é uma ferramenta muito poderosa e com uma interface amigável, com um pouco de esforço você já consegue criar um banco de dados e ir armazenando as informações dentro dele, o serviço também é gratuito para uma quantidade razoavelmente grande dados.
- Airtable: Um serviço que vem ganhando bastante popularidade nos últimos anos, tem o objetivo de ser uma experiência tão simples quanto usar uma planilha, mas com muito mais poder para os usuários, o ponto negativo é que o plano free oferece uma quantidade limitada de dados que podem ser armazenados.
- Atlantica: Recentemente o Atlantica lançou uma funcionalidade que permite você adicionar dados dentro do seu app, com isso você consegue criar listas com grandes quantidades de informações e visualizar isso de forma prática dentro de um app!
Bom, essas foram apenas algumas sugestões, a cada dia os bancos de dados se tornam mais comuns, mais poderosos e mais simples de usar, logo menos eles já poderão substituir as planilhas, mas por enquanto, podemos usar alguns desses serviços para facilitar nossas vidas sem perder a eficiência decorrente do uso de planilhas.
---
**HASHTAGS:** 3 hashtags
**DESCRIÇÃO:** descrição curta, duas linhas no máximo
**QUEM ESCREVEU:** nome
###### tags: `Blog` `MoFu`