Atenção: esse artigo tem um vídeo complementar. Clique e assista!

De que se trata o artigo

Descreve o tema de refatoração de banco de dados como um tema importante e necessário no gerenciamento de bancos de dados.


Para que serve

Este tema é essencial para o processo de manutenção de bancos de dados, pois possibilita a implantação de melhorias no acesso aos dados do banco de dados, impactando diretamente do desempenho dos sistemas.


Em que situação o tema é útil

Geralmente em bases de dados que possuem um alto volume de dados e que sofram alterações constantes ao longo da vida de um projeto.

Resumo DevMan

A refatoração trata-se de um tema já bastante familiar no contexto de código fonte, onde diversas empresas já possuem estratégias definidas para refatoração periódica de seus códigos fontes, mas está sendo implantado agora em bancos de dados a fim de trazer melhorias no acesso aos dados armazenados em uma base sem alterar sua semântica. Neste contexto, este artigo descreve o tema de refatoração de banco de dados como um tema importante e necessário no gerenciamento de bancos de dados.

Este artigo descreve o assunto de refatoração em banco de dados. Este tema já é bastante familiar no contexto de código fonte, onde diversas empresas já possuem estratégias definidas para refatoração periódica de seus códigos fontes, mas está sendo implantado agora em bancos de dados a fim de trazer melhorias no acesso aos dados armazenados em uma base sem alterar sua semântica.

Ao longo deste artigo conheceremos um pouco mais sobre o tema.

Refatoração

Refatoração consiste em uma técnica de programação que trata da recodificação de código de forma disciplinada. A ideia básica é que você faz pequenas mudanças em seu código a fim de melhorar seu projeto, facilitar seu entendimento e manutenção. Refatoração possibilita que você evolua um código gradativamente ao longo do tempo, adotando uma abordagem iterativa e incremental para programação.

Um aspecto crítico de uma refatoração é que esta mantém a semântica comportamental de seu código, ao menos do ponto de vista de caixa preta (avaliando apenas suas saídas). Ou seja, o sistema, ao final do processo de refatoração, deve apresentar as mesmas saídas que eram obtidas antes deste processo. Por exemplo, existe um método simples de refatoração chamado Rename Method (Método de Renomear), algo como mudar de getBois()para getManada(). Apesar de esta mudança parecer simples superficialmente, é preciso fazer mais que apenas esta simples mudança, é preciso também mudar todas as invocações deste método ao longo de toda a aplicação para que esta passe a invocar o novo nome. Uma vez que estas mudanças foram feitas, então podemos dizer verdadeiramente que refatoramos o código, pois este agora estaria funcionando novamente como antes do processo.

É importante entender que não adicionamos qualquer nova funcionalidade quando estamos refatorando um código. Neste momento, apenas melhoramos o código existente. Quando adicionamos uma nova funcionalidade, estamos adicionando um novo código.

Sim, podemos necessitar refatorar um código existente antes que possamos adicionar uma nova funcionalidade. Sim, podemos descobrir depois que precisamos refatorar um novo código que acabamos de adicionar. O ponto a ser destacado é que refatorar código e adicionar uma nova funcionalidade são duas tarefas completamente diferente.

Refatoração de Banco de Dados

Neste artigo, iremos abordar com mais detalhes o processo de refatoração aplicado a banco de dados. A partir deste ponto, iremos usar o termo “refatoração de código” para se referenciar ao processo de refatoração de código tradicional para distingui-lo de refatoração de banco de dados.

Vamos começar com algumas definições. Uma refatoração de banco de dados é uma mudança simples feita em um esquema de banco de dados que melhora seu projeto enquanto mantém sua semântica de comportamento e de informação.Para contextualizar esta discussão, um esquema de banco de dados inclui tanto aspectos estruturais, tais como definições de tabelas e views, bem como os aspectos funcionais, tais comoprocedimentos armazenados (stored procedures) e gatilhos (triggers).Um ponto interessante a se notar é que uma refatoração de banco de dados é conceitualmente mais difícil do que uma refatoração de código; refatoração de códigoapenas precisa manter a semântica comportamental, enquanto a refatoração de banco de dadosdeve manter também a semântica de informação.

...
Quer ler esse conteúdo completo? Tenha acesso completo