Você já deve ter ouvido falar que a propaganda é a alma do negócio. Mas, quando se trata de programação, podemos dizer que a alma do sistema é o banco de dados. Por isso, vim aqui compartilhar alguns cuidados essenciais para ajudar quem está ingressando nesta área agora.
E, para quem já trabalha com desenvolvimento há mais tempo, vale
relembrar os conceitos básicos para confirmar se está fazendo tudo
certo.
O que é banco de dados?
O banco de dados é onde ficam armazenados todos os dados de um site
e o que contém nele pode mudar de site para site. Em um blog, por
exemplo, o banco pode conter comentários e conteúdo das postagens, em
uma loja virtual os dados podem ser informações de produtos, clientes e
tabela de preço. Já um site institucional pode ser 100% estático e não
conter um banco.
Como os dados variam de acordo com cada negócio, essas informações
podem ser relacionais e não relacionais. Ou seja, os dados podem ser
usados de forma combinada ou não, tudo dependerá do objetivo do site.
Agora imagine você precisar de um dado específico e ir buscá-lo em
meio a um amontoado de informações. O resultado pode ser lentidão do
sistema e erros indesejados. Para evitar essa situação é fundamental planejar o crescimento de qualquer site, antes mesmo de começar a desenvolvê-lo.
Mesmo que você tenha todo o cuidado com os sites que desenvolve, no
dia a dia pode precisar resolver alguma situação que envolve um banco de
dados bagunçado. É o caso dos sistemas legados, linguagens antigas ou
mesmo pela falta de modelagem de um site que necessita de atualização.
Por isso, é importante dominar os conceitos básicos de banco de dados.
Como fazer a modelagem de um banco de dados?
A modelagem é o começo de tudo (ao menos, deveria ser). Afinal de
contas, é ela que orienta todo o desenvolvimento do site ou sistema.
Portanto, antes de começar a escrever as primeiras linhas do código,
preocupe-se em traçar um esboço de como o site ou sistema vai funcionar. E, para quem acha que vai “perder tempo” fazendo a modelagem o que ocorre é justamente o contrário. Com o banco de dados bem estruturado as informações são encontradas mais rapidamente. Portanto, o site ou sistema fica mais rápido.
Algumas termos são muito comuns à organização do banco de dados, é
importante você já começar a se familiarizar com eles: os índices. A
chave primária é um índice de campo obrigatório (e não pode ser nulo)
que, preferencialmente, deve ser gerenciado pelo banco de dados através
do atributo de auto-incremento (um contador numérico automático). Isso,
porque esse campo é responsável por identificar um registro e fazer correlações com os demais campos da tabela.
A chave estrangeira é outro índice responsável pelas relações entre tabelas.
Na prática, a chave estrangeira é um índice do conjunto de dados A que
aponta para um outro conjunto de dados (B) através da chave primária
desse conjunto (B). Um exemplo são os sites de e-commerce que no
checkout precisam relacionar uma compra a um determinado produto.
Existem outros índices, como o índice único, que faz com que o banco de dados não permita armazenar informações repetidas.
Como é o exemplo do cadastro do CPF de uma pessoa – esse dado não pode
ser repetido pois cada pessoa possui seu número de CPF. E também existem
o índice de busca, que serve exclusivamente para melhorar a velocidade da pesquisa.
Todo esse cuidado, no momento de planejar um site, será fundamental
no momento de escalar o projeto. Além de que, quando a equipe de
desenvolvedores começar a crescer, os profissionais recém-chegados
compreenderão com mais facilidade como o banco de dados funciona.
5 cuidados que todo desenvolvedor precisa ter com o banco de dados
Os descuidos com o banco de dados podem afetar o desempenho do site, reduzir a velocidade e até colocar em risco a integridade das informações.
É comum ouvir histórias que dentro de um ou dois anos o site passa a
ter problemas de desempenho e o motivo é justamente por uma falha na
estrutura do banco de dados.
Para evitar este tipo de problemas, listamos cincos aspectos essenciais para um bom banco de dados. Confira:
1. Segmente as informações
O banco de dados pode armazenar diversos tipos de informações, desde
nome, e-mail e senha, até CPF, data de nascimento, endereço, etc. Para
manter tudo organizado, o ideal é criar tabelas separadas para cada tipo de informação, como no exemplo de um e-commerce, teríamos as tabelas abaixo:
- Tabela de Produtos: ficariam as informações dos produtos, como preço, descrição e etc
- Tabela de Clientes: onde ficam, por exemplo, os dados do consumidor e endereço de entrega
- Tabela de Vendas efetuadas: que seria a relação entre as duas informações acima
2. Defina os índices e relações
Seguindo o conceito de modelagem, defina o que são informações
únicas, que não devem ser repetidas, como o CPF, por exemplo. Caso
alguém tente se cadastrar usando um CPF já cadastrado o sistema não
aceita, pois é um índice único.
Lembre também de fazer a relação entre as tabelas, onde a chave estrangeira é criada para fazer o vínculo dos dados.
3. Preserve a cronologia das informações
É relevante salvar a data em que um dado foi adicionado ao sistema ou
um novo registro foi criado. O banco de dados pode fazer esse registro
automaticamente, através da sua propriedade de valor padrão. Essa informação é muito útil no momento de resolver problemas.
4. Priorize a integridade dos dados
Invista na segurança das informações que estão no banco de dados.
O básico é definir quem terá acesso direto ao banco de dados e o
servidor e uma política de segurança, que inclua backups regulares
(preferencialmente diários).
5. Defina os tipos de dados
Defina quais são as propriedades de cada informação armazenada,
como por exemplo os campos de CPF e telefone, necessariamente, precisam
ser caracteres numéricos. E também definir limitações de tamanho dos
dados, como um nome não deve ultrapassar 200 caracteres.
Pra fechar, vou deixar um desafio para quem já tem algum banco de
dados: identificar a origem das falhas. Muitas vezes são coisas básicas,
como uma data que o sistema registra como texto ou detalhes mais
avançados como uma requisição ao banco de dados mal construída.
E, para quem quer aperfeiçoar e melhorar o seu desempenho profissional, a orientação é buscar conhecimento, praticar e se dedicar ao máximo. Existem vários cursos básicos que são muito bons, principalmente para quem está começando. Inclusive, no começo não adianta investir muito em capacitações caras, pois você corre o risco de entender muito pouco. Então, recorra a fóruns de discussão e busque informações na documentação do sistema gerenciador de banco de dados, como é exemplo do MySQL.