Um pouco sobre Banco de Dados

 Provavelmente alguma dia você já ouviu falar sobre o termo "Banco de Dados(Data Base)", seja no trabalho, com amigos ou até mesmo em algum filme ou programa de televisão. Caso você tenha se perguntado "o que é isso?" ou então se já tem alguma ideia sobre o que é, porém não entende para que serve exatamente ou do porquê esse tal de banco é tão importante. Vamos agora tirar todas as dúvidas que até então era uma caixa preta inexplorada com funcionalidades desconhecidas.
 
Nada melhor para entender o que é um banco de dados, do que a história de como tudo isso teve inicio. Vamos pegar como exemplo uma agência bancária, levando em consideração que não existe computadores, como será que são guardados os dados pessoas de cada cliente? E o saldo na conta de cada um? Para alguns pode parecer estranho e outros nem tanto, mas todas as informações existente no banco eram guardadas em fichas de papel.
 


 
Vemos acima uma estante de armazenamento de fichas de papel, exemplo de como era feito o armazenamento dos dados dos clientes. Como toda informação deve ser sigilosa, essas estantes eram como cofres, apenas pessoas autorizadas tinha acesso aos arquivos. Agora vamos imaginar que essa agência possui por volta de 10 mil clientes, número consideravelmente pequeno, uma pesquisa feita pela revista exame em 2013, o banco com maior número de clientes teria total de 39.786.369, ou seja, quase 40 milhões de clientes.

Gerenciar as informações de 10 mil pessoas usando apenas fichas de papel não é uma tarefa fácil. A organização foi um grande problema, era muito difícil e demorado para conseguir encontrar as informações dos clientes. Existiam alguns métodos de organização como ordenar por ordem alfabética, deixar dados localizados na região que o cliente reside, entre outros, porém nada que tornava essa tarefa consideravelmente ágil. Outro a localização geográfica, era muito custoso ter dados redundantes. Pensamos numa pessoa que viaja muito entre cidades, caso queira sacar dinheiro ou fazer uma consulta no saldo, era necessário a agência se comunicar com outra agência da localidade do cliente para requisitar as informações. Uma ideia para melhorar isso, é deixar os dados do cliente em ambas as agências, porém isso acarretaria em outra complicações, como na hora atualizar o saldo, seria necessário atualizar em todas a agências, custos que a vezes não valia a pena.

Com surgimento dos computadores, já foi possível criar os primeiros bancos digitais, esses bancos não eram nada mais do que tabelas que guardavam informações. Porém já foi possível obter uma melhoria gigantesca tanto na agilidade quanto na consulta aos dados. Com esse banco digital vieram algumas funcionalidades como cadastrar, fazer alterações, excluir e fazer consultas nos arquivos digitais.

Hoje não parece grande coisa, mas na época foi uma revolução. Porém ao melhorar alguns problemas, outros começaram a aparecer. Uns dos principais era o relacionamento das tabelas; Vamos supor que exista uma tabela com o endereço completo do cliente, outra com informações da conta e uma terceira mostrando os dependentes de cada cliente, caso queira saber quais são os dependentes dos clientes de um certo bairro que fizeram saques num determinado mês, acabaria demorando muito para varrer todas as tabelas e separar essas informações, sem falar nos códigos que deveriam ser implementados. E quando o gerente do banco decide buscar outras informações, era necessário conversar com programadores para que implementasse os respectivos códigos da consulta desejada, ou seja, também era necessário algum tempo para obter as informações desejadas.

Ao passar do tempo, foram melhorando as maneiras de trabalhar com dados digitais, até criarem, como conhecemos hoje, o banco de dados. Ele é reponsável por armazenar informações, podendo ser apenas textos, imagens, audios e até vídeos, a velocidade de consulda está muito maior além dos problemas de relacionamentos das tabelas estarem praticamente resolvidos.

Para trabalhar com bando de dados, utilizamos os chamados Sistemas Gerenciadores de Bancos de Dados(SGBD), que são softwares responsáveis por manipular as tabelas dos nossos bancos e as formas que as consultas serão feitas, além de prover vários outros serviços como segurança, atomicidade, durabilidade, controle entre muitos outros.

Existem vários Modelos de Banco de Dados: Modelo Plano, Modelo em Rede, Modelo Hierárquico, Modelo Relacional, Orientado a objetos e Objeto-Relacional, vamos ter uma base mais técnica sobre cada um deles:

  •  O modelo plano (ou tabular) consiste de matrizes simples, bidimensionais, compostas por elementos de dados: inteiros, números reais, etc. Este modelo plano é a base das planilhas eletrônicas.
  •  O modelo em rede permite que várias tabelas sejam usadas simultaneamente através do uso de apontadores (ou referências). Algumas colunas contêm apontadores para outras tabelas ao invés de dados. Assim, as tabelas são ligadas por referências, o que pode ser visto como uma rede.
  •  O modelo hierárquico é uma variação particular do modelo em rede, limita as relações a uma estrutura semelhante a uma árvore (hierarquia - tronco, galhos), ao invés do modelo mais geral direcionado por grafos.
  •  Bases de dados relacionais consistem, principalmente de três componentes: uma coleção de estruturas de dados, nomeadamente relações, ou informalmente tabelas; uma coleção dos operadores, a álgebra e o cálculo relacionais; e uma coleção de restrições da integridade, definindo o conjunto consistente de estados de base de dados e de alterações de estados. As restrições de integridade podem ser de quatro tipos: domínio (também conhecidas como type), atributo, relvar (variável relacional) e restrições de base de dados.
  •  O modelo relacional é uma teoria matemática desenvolvida por Edgar Frank Codd para descrever como as bases de dados devem funcionar. Embora esta teoria seja a base para o software de bases de dados relacionais, poucos sistemas de gestão de bases de dados seguem o modelo de forma restrita ou a pé da letra - lembre-se das 12 leis do modelo relacional - e todos têm funcionalidades que violam a teoria, desta forma variando a complexidade e o poder. A discussão se esses bancos de dados merecem ser chamados de relacional ficou esgotada com o tempo, com a evolução dos bancos existentes. Os bancos de dados hoje implementam o modelo definido como objeto-relacional. Os primeiros sistemas comerciais baseados no MR foram disponibilizados em 1980 e desde então ele vem sendo implementado em muitos sistemas, tais como Access,Oracle, MySql, entre outros.

Autor: Valdemar Traspadini Junior - Diretor de TI no NCD