Database
 sql >> Base de Dados >  >> RDS >> Database

Projeto de banco de dados com Vertabelo


O design do banco de dados vai muito além de apenas desenhar linhas e caixas. Neste artigo, reflito sobre o processo de modelagem de dados com ênfase nas melhores práticas, bem como em como usar ferramentas para implementar essas melhores práticas para criar um bom design de banco de dados.

O projeto de banco de dados é o processo de produzir um modelo detalhado de um banco de dados. O início da modelagem de banco de dados envolve conhecer a área de negócio e a funcionalidade que está sendo desenvolvida.

Se você estiver um pouco inseguro sobre as etapas envolvidas no processo de design de banco de dados, eu o indicaria para esta descrição das etapas de design de banco de dados.

Comece a modelar:fale com a empresa


Este é um princípio fundamental na tecnologia da informação. Estamos resolvendo um problema de negócios do lado dos dados para que os dados necessários estejam disponíveis. Precisamos conversar com os empresários para entender suas necessidades.

Devemos fazer perguntas como:
  • “Qual é o domínio?”
  • "Quais são os desafios neste domínio?"
  • “Quais são os problemas a serem resolvidos?”
  • "Quais informações precisamos armazenar?"

Ao conversar com a empresa, podemos considerar compensações que podem afetar o modelo de banco de dados. Também lançamos as bases para a modelagem.

Vamos usar um exemplo concreto. Pegue um aplicativo de contabilidade para uma empresa:você precisaria modelar clientes, fornecedores, faturas, pagamentos, contas, saldos, etc. Você precisa aprender sobre esses conceitos e sobre contabilidade. Você só pode fazer isso falando aos empresários.

Colocando os conceitos em ordem


Esse trabalho inicial com o negócio o levará a um modelo de quais "conceitos" devem ser armazenados no banco de dados (leia esta explicação sobre os diferentes níveis de modelos). Do conceito do que precisamos armazenar no banco de dados, ou seja, nosso modelo conceitual, passamos para um modelo lógico. O modelo lógico documenta os conceitos e regras de negócios sobre os quais colocamos detalhes (você pode estar interessado em ler esta discussão sobre se a modelagem de dados lógicos é obsoleta).

Se você não tiver certeza sobre os diferentes tipos de modelos de dados, consulte nosso artigo sobre como implementar modelos de dados conceituais, lógicos e físicos com o Vertabelo.

O modelo de dados lógico adiciona mais informações aos conceitos que já documentamos. Ele descreve como os dados são estruturados e como as entidades estão relacionadas entre si. Além disso, inclui informações sobre os tipos de dados que estamos gerenciando.

No Vertabelo, podemos criar um modelo de dados lógico por meio de um diagrama de entidade-relacionamento lógico (ERD). Confira os detalhes de como realizar a modelagem lógica de dados com o Vertabelo.

Aqui está um modelo de dados lógico simples e ainda não completo de clientes, fornecedores, faturas, pagamentos e contas.

Outra vantagem que encontro ao trabalhar com o Vertabelo é que não preciso me preocupar muito com a notação exata. A ferramenta de modelagem permite que você se preocupe com o design e não com as especificidades das notações e símbolos do diagrama entidade-relacionamento (ERD), que, obviamente, devem ser a menor de suas preocupações durante o processo de design do banco de dados.

Vamos ser físicos


Para realmente trabalhar com o banco de dados, precisamos passar do nosso modelo lógico para o físico. A ferramenta Vertabelo nos permite gerar facilmente um modelo de dados físico a partir de um lógico. Você primeiro cria um modelo de dados lógico, então você pode "auto-magicamente " gere um modelo físico selecionando o modelo lógico e clicando em "Gerar modelo de dados físico" (consulte este guia detalhado para obter as etapas exatas).

Obviamente, o modelo de dados físicos gerado será semelhante ao modelo lógico; no entanto, os tipos de dados lógicos serão convertidos em tipos de dados permitidos para o sistema de gerenciamento de banco de dados (DBMS) específico para o qual você gera o modelo físico. O modelo físico também indicará quais atributos são chaves estrangeiras entre tabelas. Você também pode realizar modelagem adicional relacionada aos aspectos físicos do banco de dados – por exemplo, índices e visualizações.

Além disso, é possível criar um modelo de dados físico diretamente; você não precisa criar um lógico primeiro. Ir direto para um modelo físico fará sentido para atividades de modelagem menores e mais direcionadas, onde o domínio de negócios é mais bem definido. O processo de modelagem de banco de dados físico é direto e não deve apresentar muitos desafios. Ter um modelo de dados lógico será útil para projetos maiores, mas ter pelo menos um modelo físico é melhor do que não ter nenhum.

Evolução do design do seu banco de dados


Os desenvolvedores geralmente pensam que o modelo de banco de dados deve girar em torno do código real, enquanto os modeladores de dados pensam que o código deve ser criado com base em um modelo de dados relativamente estático. A modelagem de dados hoje precisa ser colaborativa . O código e o modelo de dados influenciam um ao outro.

Portanto, precisamos de uma ferramenta que suporte um processo e modelagem colaborativa de design de banco de dados. Além de trabalhar com a empresa para criar o design conceitual, os modeladores de dados precisam colaborar durante o ciclo de desenvolvimento para atualizar os modelos de dados lógicos e físicos conforme necessário. Modeladores e desenvolvedores devem adaptar o modelo até que ele realmente suporte os requisitos de negócios e não funcionais do sistema.

Obviamente, as mudanças podem levar a erros. Novamente, ter uma ferramenta pode ajudar; uma ferramenta que valida constantemente seu modelo de dados é inestimável. O Vertabelo possui uma validação integrada, ao vivo e on-line para modelos de dados lógicos e físicos para que os problemas sejam detectados durante a modelagem, não durante a implementação. E os erros ficam visíveis para todos que colaboram com ele. Além disso, você pode ajustar as configurações de validação conforme necessário. Aqui está um exemplo do meu modelo de dados incompleto com vários erros e avisos.

Voltando ao exemplo de contabilidade, você pode descobrir durante o desenvolvimento que não é suficiente modelar uma única moeda, como euros ou dólares, para faturas e pagamentos. Em vez disso, você precisaria armazenar os valores com sua respectiva moeda e convertê-los para a moeda “base” na qual a escrituração da empresa é realizada. Você também pode precisar das taxas de câmbio e informações históricas das taxas que foram usadas para a conversão de moedas no passado.

É aqui que uma ferramenta colaborativa de modelagem de banco de dados como o Vertabelo realmente prova seu valor. Você pode encontrar mais informações sobre como usar o Vertabelo para modelagem colaborativa. Basta clicar e compartilhar seu modelo com os membros de sua equipe.

Física para implementação


Depois de ter sua primeira versão do modelo físico, você provavelmente estará ansioso para começar a trabalhar com o banco de dados real. Para isso, a Vertabelo irá gerar scripts SQL DDL (Data Definition Language) para criar o banco de dados. Não vou escrever todos os detalhes aqui, pois você pode encontrá-los no artigo da base de conhecimento online como gerar um script SQL criando um banco de dados.

Deixe-me contar por experiência própria – este é um recurso tão bem-vindo. Você evita ter que lidar com os caprichos de diferentes sintaxes SQL DDL de banco de dados e pode focar em seu design .

Versão


Agora, como escrevi acima, seus modelos evoluirão, seja durante o design do banco de dados, durante o desenvolvimento do software ou posteriormente durante o uso real do seu banco de dados. Existem dois ótimos recursos do Vertabelo sobre os quais quero ter certeza de que você está ciente.

Primeiro, o Vertabelo inclui gerenciamento de versões. Você pode rastrear modificações e gerenciar versões dos modelos de dados, para que seja fácil "voltar no tempo" e reverter para uma versão anterior, se necessário. Se você for disciplinado, poderá marcar as diferentes versões com nomes precisos, sejam rascunhos ou versões reais do banco de dados.

O outro recurso, com o qual sonhei por muitos anos durante minha modelagem de banco de dados, é a capacidade da ferramenta Vertabelo de automaticamente gere scripts de migração entre versões do seu modelo de dados. Perdi a conta das vezes que tive que escrever manualmente e corrigir scripts de migração repetidamente. Aqui está um exemplo de geração de scripts de migração entre duas versões de um banco de dados para uma pesquisa online.

Que benção para os modeladores de dados ter uma ferramenta que gerencia versões com eficiência e descobre o impacto das mudanças entre as versões!

Modelos grandes


Primeiro, deixe-me ser honesto. Nem sempre estou trabalhando com modelos grandes, mas às vezes tenho que criá-los. Aqui, novamente, a Vertabelo nos oferece uma solução para organizar nossos modelos.

Podemos agrupar visualmente tabelas com áreas temáticas; se você quiser ver como fazer isso, você também pode assistir a um vídeo sobre como gerenciar grandes modelos de dados no Vertabelo.

Você também pode usar essa técnica quando estiver fazendo engenharia reversa de um script SQL DDL em um modelo de dados.

Comece a usar o design de banco de dados


Se você estiver procurando por algumas práticas recomendadas de design de banco de dados, recomendo que você dê uma olhada neste artigo. Para obter dicas para um melhor design de banco de dados, você não precisa procurar mais do que este artigo. E veja este para obter conselhos sobre como começar a usar o Vertabelo para o design do seu banco de dados.