Desde a abstração conceitual dos requisitos de negócios, é preciso mapear os dados que farão parte do escopo do projeto de forma a se conseguir um modelo flexível com o melhor desempenho possível, além de uma boa integração entre os componentes e a definição da melhor tecnologia a ser adotada. Sistemas grandes ou pequenos serão comprometidos pela forma como tudo foi estruturado e projetado: o sistema gerenciador, o SQL utilizado, as chaves escolhidas para as tabelas, o dimensionamento do espaço (volumetria) do que será utilizado ao longo dos anos, memória, capacidade do servidor, a visibilidade da eficiência e eficácia do negócio que darão sinais de que foram feitas as escolhas certas ou que precisamos mudar o rumo, paralelização com as integrações entre os times de Inteligência / Analytics / BI.
Outro fato é que com o tempo, o sistema muda e evolui naturalmente. Tudo aquilo que pensamos no início em relação ao banco de dados precisa ser evoluído também ou repensado, dependendo de como foi feito.
Evitar certos vícios e práticas pouco adequadas ou não pensadas para o ambiente dos dados pode comprometer o êxito de todo o projeto, ou ao longo do tempo se tornar uma grande pedra no sapato de toda a equipe. É o caso das más escolhas de tipos de dados, tamanho de tabelas, entre outros, que veremos mais a frente nesse artigo. Com base em um banco de dados relacional, vamos relembrar algumas boas práticas que podem garantir o uso ao longo dos anos, aliviando o trabalho dos DBAs, ADs e do próprio SGBD.
Encontrando a arquitetura ideal – modelagem
Definir o modelo de dados junto com as equipes de desenvolvimento e os times de negócios parece algo bem óbvio, mas é o ponto primordial que sempre acaba impactado pela falta de comunicação entre esses mundos, que precisam estar bem conectados.
É a fase de mais alto nível de um projeto, trata-se de se colocar no lugar do cliente, imaginar e entender o que é o produto, qual será o seu uso, como de fato o resultado final afetará a vida do seu cliente, e então tornar-se parte do projeto, acompanhando todas as reuniões de discussões da evolução. Isso lhe dará uma ideia ampla e lhe permitirá traçar caminhos para o gerenciamento, a monitoração do ambiente, os KPI’s (Key Performance Indicator) tão importantes para tomada de decisão.
De posse do conhecimento e entendimento do resultado final, vamos para os componentes internos da área de gestão de dados, que será o ponto central da documentação do projeto de banco de dados. Na medida em que avançam as discussões e o projeto vai tomando forma, precisamos ter clareza com as normas, padrões adotados e compartilhados pela empresa, bem como as ferramentas que servirão de base para os times e para o pessoal da área de dados (AD).
O pessoal que cuida da gerência dos dados precisa oficializar um lugar compartilhado onde todos da empresa tenham acesso fácil aos documentos, normas e padrões, e os mesmos devem ser mantidos atualizados, seja numa ferramenta corporativa ou na nuvem. Nesse repositório teremos, por exemplo, os primeiros modelos conceituais, lógicos e físicos que estão em fase de desenvolvimento, bem como e-mails de decisões importantes tomadas em reuniões do produto, regras de negócio que precisam ser divulgadas, arquivos PDF, arquivos do Erwin ou outra ferramenta CASE, etc.
Precisamos também de um controlador de versões de arquivos, pois as alterações estruturais do banco serão constantes e será inevitável manter um histórico, compartilhar links de scripts SQL com outras áreas, configurar ferramentas de deploy contínuo. Enfim, é aqui que entra um GIT ou SVN para criar o repositório central de scripts SQL.
Continuamos descendo um pouco mais nessa hierarquia da arquitetura e modelagem, e agora vamos pensar um pouco sobre os padrões de nomenclatura para objetos (databases, schemas, tabelas, triggers, functions, etc.) a serem adotados pela companhia que facilitará as próximas fases do projeto. Será fácil, por exemplo, um desenvolvedor reconhecer que um campo criado no banco é de determinado tipo de dados apenas olhando o nome do campo, ou que uma sequence no padrão “seq_table1_idt” é um gerador de ID (Identification) para a tabela “TABLE1”. Mais alguns exemplos para mostrar melhor o que chamamos de padronização de nomenclatura:
- num_clicks: número de cliques que é um inteiro ou um number;
- des_store: campo varchar que fará uma descrição da loja;
- tablename_pk: facilidade para encontrar Primary Keys consultando as views de dicionário;
- tableorigem_tabledestino_fk: facilidade para entender que a FK se trata de chave estrangeira que provem da “tableorigem” para “tabledestino”;
- nomedatabela: ...
Quer ler esse conteúdo completo? Tenha acesso completo
Confira outros conteúdos:
Por Jardel Em 2017Crie sua conta grátis e baixe o e-bookDê um upgrade no início da sua jornada.Perguntas frequentes
Quem somos?Por que a programação se tornou a profissão mais promissora da atualidade?Como faço para começar a estudar?Em quanto tempo de estudo vou me tornar um programador?Sim, você pode se tornar um programador e não precisa ter diploma de curso superior!O que eu irei aprender estudando pela DevMedia?Principais diferenciais da DevMediaQual o investimento financeiro que preciso fazer para me tornar um programador?Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado! Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um Full-Stack Dev!Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.