Neste artigo veremos como evoluir um esquema de banco de dados de forma segura, iterativa e incremental. Em seguida, mostraremos alguns exemplos de casos comuns aplicando as técnicas de refactoring de banco de dados.
5. O que é Refactoring?
Martin
Fowler:
“É
um
processo
de
alteração
em
um
sistema
de
software,
de
modo
que,
o
comportamento
externo
do
código
não
mude,
mas
que
sua
estrutura
interna
seja
melhorada.”.
6. Refactoring de Banco de dados?
Consiste
em
simples
mudanças
no
esquema
do
banco
de
dados
(tabelas,
views,
trigger,
procedures,
etc.)
que
melhoram
o
design
sem
alterar
a
semântica
e
o
significado
dos
dados
que
já
estão
persistido.
7. Conceitualmente, refactoring de banco de dados é
mais difícil que refactoring de código…
Refactoring de código precisa apenas manter a
semântica comportamental, enquanto refactoring
de banco de dados, além de ter esta obrigação,
ainda precisa assegurar a semântica informacional.
14. Tabelas com muitas linhas
Causa
problemas
de
desempenho.
O
exemplo
mais
comum
é
a
tabela
de
movimento
de
estoque,
onde
são
armazenadas
todas
as
movimentações
dos
produtos.
Neste
caso,
o
correto
seria
criar
tabelas
de
histórico
para
guardar
os
dados
antigos,
deixando
a
vista
apenas
os
registros
de
determinado
período
17. Verifique
se
o
refactoring
é
mesmo
necessário,
pois
talvez
a
estrutura
do
modelo
atual
esteja
correta
#1
18. É
preciso
ter
em
mente
que
nenhuma
estrutura
deve
ser
tão
rígida
a
ponto
de
ser
inalterável.
Pequenas
melhorias
sempre
irão
acontecer
#2
19. Divida
o
seu
projeto
de
refactoring
em
pequenas
etapas
para
facilitar
o
controle
e
a
compreensão
de
todos
os
envolvidos.
Entretanto,
isto
exigirá
um
controle
rigoroso
sobre
o
versionamento
das
alterações
#3
20. Evite
duplicações
de
código
SQL
Utilize
um
framework
de
persistência
para
encapsular
o
acesso
ao
banco
de
dados
#4