Obrigado a todos que fizeram isso possível: Leia mais

Bad Smells (mal cheiros) em Bancos de Dados


Description

Uma estrutura de um banco de dados, diferentemente de um software, tende a deteriorar com o passar do tempo. Dentre várias causas podemos citar: (i) o crescimento progressivo do volume de dados devido ao aumento natural de usuários que o utilizam, e (ii) o tempo de uso, tornando um modelo de dados que no início era eficiente para solução proposta em um modelo ineficiente e defasado.

Essa deterioração aliada a mudanças em requisitos de negócio exigem refatorações tanto no software quanto em seus bancos de dados. Porém a refatoração de um banco de dados é mais complexa que a de um software, pois: (i) além de manter comportamento também é necessário manter as informações (dados) e (ii) acoplamento com diversas origens (outras apps, frameworks, integrações, etc).

Devido a essas dificuldades a evolução de uma estrutura de banco de dados torna-se um desafio, ocorrendo assim um fenômeno conhecido como Bad Smells (mal cheiros), da mesma forma que ocorre com o código de um software. Em software um code smell (bad smell) é uma categoria comum de problema no código fonte que indica a necessidade de refatoração, e o mesmo ocorre com bancos de dados, onde são chamados database smells.

Alguns exemplos de database smells: * Multi-purpose column * Multi-purpose table * Redundant data * Tables with many columns * "Smart" columns * Lack of constraints * Fear of change

Dentre os database smells citados acima, devemos ter atenção especial ao "Fear of change", pois pode ser considerado o pior de todos, pois: * inibe inovação, * reduz efetividade, * produz ainda mais bagunça * ao longo do tempo a situação fica cada vez pior.

Lembra do valor "Coragem" do XP (eXtreme Programming)? Mudança é algo que deve ser considerado natural e irá acontecer em projetos de software, isso é um fato, não podemos fugir disso, então precisamos das práticas e ferramentas adequadas para que a mudança não seja um entrave na evolução do seu projeto, e sim algo natural e, de certa forma, trivial para s

Detalhes

Melhore esta página