8 ERROS para nunca cometer no seu Banco de Dados!

Se você é ou deseja ser um administrador de banco de dados, você certamente já sabe que os dados de uma organização são vitais para a manutenção de qualquer atividade, seja ela com fins lucrativos ou não.

Apesar de toda relevância envolvendo a temática, existem muitos profissionais amadores que negligenciam essa importância, fazendo coisas terríveis, gambiarras incríveis e péssimas práticas na gestão do banco de dados.

Nesse artigo, iremos focar exatamente nisso. Tudo que você não deve fazer na gestão do banco de dados da sua organização! Continue lendo e veja quais são os 8 erros que você nunca deve cometer!

1. Esquecer o modelo ER

Tanto na hora de desenvolver o banco de dados e novas aplicações, quanto na hora de prestar manutenção para uma base de dados, o modelo ER (Modelo Entidade Relacional) é essencial. Bases de dados que possuem uma documentação em forma de diagramas ER facilitam muito a vida dos profissionais que irão trabalhar com o banco, principalmente, em sistemas legados!

Com essa documentação, é possível ter uma noção geral sobre os relacionamentos existentes entre as tabelas, saber como o sistema se comporta, conhecer as chaves primárias e estrangeiras. Enfim, a lista vai longe, mas resumindo: com o diagrama ER, manter e desenvolver um sistema fica muito mais fácil.

Para facilitar a vida, hoje em dia, existem diversas ferramentas para auxiliar na construção desses diagramas. Portanto, não há mais desculpas para não fazer um modelo ER. Se você fizer isso em seus projetos, tenha certeza que o profissional que herdar o seu trabalho irá te agradecer!

2. DROP database sem backup

Acredito que poucos fazem isso sem os devidos cuidados, mas sempre é bom reforçar. Resumindo, o comando DROP database irá excluir toda a sua base de dados. Só por esse motivo, você já consegue entender o porquê de ser um comando pouco utilizado principalmente em ambientes de produção.

Em ambientes de homologação e desenvolvimento, costumamos usar o comando com mais frequência, mas sempre dá aquele friozinho na barriga.

“Será que estou no ambiente certo…? Vou revisar”

Isso ocorre principalmente quando estamos iniciando na área. Portanto, sempre revise o seu comando e se certifique que você está selecionando a base correta. Obviamente, também faça backups antes de executar o comando. Não custa nada!

3. UPDATE sem WHERE

Se você é um administrador de banco de dados, certamente já teve que atualizar registros, certo? Contudo, quantas vezes foi preciso atualizar todos os registros de uma tabela? Poucas vezes, certo? A verdade é que raramente precisamos atualizar todos os registros de uma tabela. Portanto, você nunca deve esquecer de usar a cláusula WHERE!

Caso contrário, você poderá alterar registros que não deveria e, muito provavelmente, irá se arrepender de ter feito isso. Por dois motivos principais: o retrabalho que isso irá envolver na hora de corrigir a falha e porque é muito provável que você irá causar um bug no software!

4. DELETE sem WHERE

Esquecer da cláusula WHERE no item anterior é ruim, mas esquecer dela no comando DELETE é imperdoável! Todas as vezes que você for executar esse comando é necessário o máximo de cuidado possível. Corrigir atualizações erradas é possível, ainda que leve um tempo considerável. Porém, recuperar registros deletados é muito mais complicado.

Devido à criticidade desse comando, é mais do que recomendável que você execute um SELECT com a cláusula WHERE, para assim, identificar os registros que você quer excluir e só depois de cuidadosamente verificado, executar o DELETE com a mesma cláusula WHERE utilizada no SELECT.

Para ver um guia completo sobre o comando SELECT, confira o nosso post sobre o tópico.

5. Misturar idiomas entre tabelas e colunas

Misturar idiomas já é estranho em qualquer área de programação, não é? Bom, mas em banco de dados existe um motivo a mais para não fazermos isso: em nossa base de dados queremos manter a simplicidade!

O SQL é uma das linguagens mais simples e intuitivas e, quando idiomas são misturados, você acaba com esse grande ponto positivo! Pense comigo, se você for executar um comando, você dificilmente irá lembrar o idioma usado para aquela determinada tabela ou coluna e, por isso, vai acabar desperdiçando um bom tempo para relembrar como modelou o seu banco de dados. Mais tempo ainda caso você não tenha criado um modelo ER (tópico 1 desse post).

Pensando em tudo isso e no fato que o Inglês já é um requisito básico para profissionais de TI, procure usar esse idioma como algo padrão sempre que você for trabalhar com tecnologia. Assim, você irá se forçar a aprender cada vez mais sobre o idioma. Isso irá facilitar muito a sua evolução na área.

6. Pensar que performance é só na aplicação

Se você é daqueles que pensa que performance é uma preocupação que apenas os desenvolvedores da aplicação precisam ter, você está enganado. Garantir que o SGBD está otimizado e fazendo tudo que pode para executar as atividades exigidas pela aplicação, com eficiência e menor tempo de execução, é uma atividade de responsabilidade do DBA!

O desenvolvedor precisa garantir a performance de sua aplicação e o DBA, de sua base de dados. Para falar mais sobre esse assunto, bem como, explicar as principais técnicas e práticas de otimização de banco de dados MySQL, veja esse ebook que criamos em parceria com a KingHost!

7. Menosprezar a normalização de dados

Não, normalização de dados não é besteira! Reduzir redundâncias, evitar anomalias, aumentar a integridade e o desempenho dos dados deve ser um compromisso do DBA. Portanto, não deixe essa atividade de lado! Estude e pratique as técnicas de normalização de dados em seus projetos atuais e futuros.

8. Criar tabelas baseadas em datas

Antigamente era muito comum DBAs iniciantes criarem tabelas que serviriam apenas para um determinado ano ou período. Isso caiu em desuso (thank god!), mas sempre é bom relembrar: isso não é ruim, isso é péssimo!

Por que isso é ruim?

Bom, vamos imaginar que você crie uma tabela de vendas para cada mês e deseje tirar um relatório anual de todas as vendas do ano, você já pensou na complexidade desse SELECT? Isso mesmo! Você terá que fazer o JOIN de 12 tabelas diferentes, o desempenho desse comando será péssimo e a sua produtividade vai cair muito.

Qual seria o jeito certo?

Simples, crie uma coluna que guardará a data do registro. Se você parar para observar, o número de registros será o mesmo, porém todos serão agrupados na mesma tabela, excluindo a necessidade de se fazer tantos JOINs em um só comando.

“Ah, mas eu trabalho com muitos registros e isso vai atrapalhar a performance!”

Claro que não! Existem técnicas para se trabalhar com tabelas com muitos registros: crie índices para as principais colunas que não sofrem muitas modificações e crie rotinas de limpeza para remover registros mais antigos, com essas práticas sua performance será excelente mesmo com muitos registros em uma única tabela.

Para saber mais sobre performance e otimização do banco de dados, não esqueça de ler esse ebook que comentei em alguns tópicos acima.

Calma! Não entre em pânico!

É ser um DBA não é uma tarefa fácil, mas apesar de não ser uma das áreas mais “tranquilas” da TI, ainda assim, certamente é uma das mais recompensadoras. A profissão sempre está em alta e com muitas oportunidades para quem merece.

Mas como você pode ver acima, é preciso ser qualificado! O mercado não tem mais vagas para quem continua cometendo erros bobos, principalmente, tratando-se de um ativo tão importante para as organizações, os DADOS!

Resumindo, se você já decidiu que quer se especializar na área, vá em frente! Trabalhar com banco de dados pode se tornar fascinante facilmente. Contudo, não esqueça de se qualificar, isso será um enorme diferencial entre um profissional amador e um profissional qualificado!

Se você é novo na área, dê uma olhada em nosso curso de banco de dados relacionais e linguagem SQL para iniciantes! Tenho certeza de que você irá gostar do treinamento. Além disso, nesse artigo, você também pode conhecer mais sobre o perfil de um DBA!

Para finalizar, espero ter ajudado você com esse post, seja para parar de cometer alguns dos erros acima, seja para ajudar você a nunca cometê-los!

Qualquer dúvida, crítica ou sugestão de outros erros que nunca devemos cometer em nosso banco de dados, deixe o seu comentário abaixo! Iremos adorar ouvir a sua opinião. Abraços e até a próxima!

 

Curso Online de Introdução a Banco de Dados Relacionais e SQL da Becode

Written by Alysson Zanette

Principal responsável pelo desenvolvimento back-end do LMS Becode. Na Becode e TargetTrust, atua como DevOps, profissional responsável por criar o elo entre a área de desenvolvimento e a infraestrutura de TI. Hoje é reconhecido como uma das principais referências técnicas de ambas instituições de ensino, onde também atua como instrutor das linhas de formação em TI!

Internet das Coisas - O que é? Aonde vive? Como se alimenta...!? | Becode

Internet das Coisas (IoT): O que é? Aonde vive? Como se alimenta…!?

Desenvolvimento Android vs iOS - Escolha de que lado você fica!

Desenvolvimento Android vs iOS – Escolha de que lado você fica!