Banco de Dados

9 out, 2018

Modelagem relacional e normalização de dados como introdução à lógica de programação

Publicidade

Desenvolvedores de diversos níveis de experiência, para ficar constantemente em um estado de aprendizado e prática, precisam logo no início de uma forte base de apresentação da tecnologia trabalhada e da própria lógica e raciocínio. Nesse começo de aprendizado, noções e aprofundamentos comuns e fundamentais, são:

  • Algoritmos
  • Estruturas de dados
  • Gerência de alocação de memória
  • Conceitos de design patterns
  • Padrões de clean code

Com isso, o desenvolvedor, independentemente da linguagem, conquista uma forte compreensão de lógica de programação para ser usada no decorrer de seus trabalhos e em sua forma de pensar no cotidiano.

Mas será essa a melhor abordagem atual para explicar os conceitos de otimização de algoritmos e de lógica, ou ainda a única com esse mesmo efeito?

Desenvolvedores de software que passam pela área de banco de dados, ou vice-versa, mesclam e aperfeiçoam um grande raciocínio quando se envolvem com a parte de planejamento e modelagem relacional, normalização de dados e Tunning, aumentando a naturalidade da preocupação e execução da performance e organização das estruturas de códigos e instruções lógicas.

Muitas das responsabilidades com controle de redundâncias, uso de memória e desempenho das aplicações e seus métodos de funcionamento podem ser melhor conhecidas e mais facilmente sentidas com as técnicas de modelagem e normalização de dados.

O levantamento e a diagramação de requisitos, os tamanhos e tipos de dados, as etapas de aplicação das formas normais, a organização de quais atributos pertencem a quais entidades, a obrigatoriedade e quantidade das relações entre elas, resolvendo ligações de muitos-para-muitos e se atentando ao melhor modelo sem redundâncias ou excesso de armazenamento, são os melhores exercícios de aplicacão da lógica para vários ramos de desenvolvimento.

Claro que como as tecnologias e plataformas específicas, cada área tem suas particularidades e seu ferramental já bem preparado para diversos usos manuais e automáticos, mas o princípio básico propriamente dito de otimização e performance, em banco de dados, tem ampla relação com a lógica de programação e com o desempenho de estruturas de algoritmos.

  • Quantidade e tipos de dados das variáveis usadas pela aplicação
  • O encadeamento de funções e seus inputs e outputs
  • Modelos de escopo e integridade de referências
  • A especificidade e amplitude de condições, recursividades e suas dependências no sistema

Todos exemplos com ótimas analogias e aplicações perceptíveis diretamente no desenvolvimento de programas e algoritmos, e mais ainda com os princípios na modelagem e normalização de bases de dados relacionais.

Repletas de ligações que podem ser extremamente custosas sem a otimização adequada.

Qual a melhor forma de validar e sentir os problemas de gerenciamento de memória senão com uma consulta SQL a uma tabela em um banco de dados repleta de JOINS e atributos estrangeiros?

Sendo que um banco de dados serve apenas como estrutura de armazenamento, assim, sem nenhum imprevisto ou complexidade causada por características exclusivas de processamento.

Qual a melhor forma de analisar fluxos, interdependências e repetições em uma possível instrução além de seus diagramas como em um modelo relacional de banco de dados?

Processos de verificação de performance e qualidade em algoritmos podem ser muito influenciados pelas características do ambiente e dos padrões de codificação aplicados, mas se utilizando dos mesmos princípios de modelagem relacional e normalização de dados, tão básicos e fundamentais na construção da lógica, a progressão do conhecimento conquistado e aplicado pode ser muito maior, mais rápida e benéfica para desenvolvedores de diversas tecnologias.