Modelagem de dados: modelo conceitual, modelo lógico e físico

Definição de Modelagem de dados e o modelo conceitual, modelo lógico e modelo físico. Exercícios de modelagem de dados e algumas perguntas e respostas importantes sobre como lidar com bancos mal projetados e com modelagem ruim

Home » Tecnologia

Praticamente tudo o que vamos fazer na vida exige um planejamento, ainda que ele não seja visível, mas até de forma implícita fazemos planejamento o tempo todo. Sua finalidade é garantir que o resultado atenda a um propósito inicial e, portanto, precisamos definir as bases, o caminho, os recursos e diversos outros aspectos para que obtenhamos sucesso naquilo que estamos prestes a fazer. Com banco de dados a história não é diferente e nesse aspecto é que entra um termo conhecido como modelagem de dados, como veremos abaixo.

O que é modelagem de dados?

A modelagem de dados é uma técnica usada para a especificação das regras de negócios e as estruturas de dados de um banco de dados. Ela faz parte do ciclo de desenvolvimento de um sistema de informação e é de vital importância para o bom resultado do projeto. Modelar dados consiste em desenhar o sistema de informações, concentrando-se nas entidades lógicas e nas dependências lógicas entre essas entidades.

Modelagem de dados ou modelagem de banco de dados envolve uma série de aplicações teóricas e práticas, visando construir um modelo de dados consistente, não redundante e perfeitamente aplicável em qualquer SGBD moderno.

A modelagem de dados está dividida em:

Modelo conceitual

A modelagem conceitual basea-se no mais alto nível e deve ser usada para envolver o cliente, pois o foco aqui é discutir os aspectos do negócio do cliente e não da tecnologia. Os exemplos de modelagem de dados vistos pelo modelo conceitual são mais fáceis de compreender, já que não há limitações ou aplicação de tecnologia específica. O diagrama de dados que deve ser construído aqui é o Diagrama de Entidade e Relacionamento, onde deverão ser identificados todas as entidades e os relacionamentos entre elas. Este diagrama é a chave para a compreensão do modelo conceitual de dados.

Exemplo simples de Diagrama de Entidade e Relacionamento

Modelo de Entidade e Relacionamento

Modelo lógico

O modelo lógico já leva em conta algumas limitações e implementa recursos como adequação de padrão e nomenclatura, define as chaves primárias e estrangeiras, normalização, integridade referencial, entre outras. Para o modelo lógico deve ser criado levando em conta os exemplos de modelagem de dados criados no modelo conceitual.

Exemplo do diagrama de banco de dados gerado no Microsoft Visio.

Modelo de banco de dados visio

Faça aqui o download do dicionário de dados do modelo acima.

Modelo físico

No modelo físico fazemos a modelagem física do modelo de banco de dados. Neste caso leva-se em conta as limitações impostas pelo SGBD escolhido e deve ser criado sempre com base nos exemplos de modelagem de dados produzidos no item anterior, modelo lógico.

Faça aqui o download do modelo acima em SQL para banco relacional. Neste caso o modelo foi implementado para o banco MySQL.

Conclusão

Os detalhes da modelagem mostrados neste artigo são exemplos e não a regra de modelagem. Há outras abordagens que certamente poderão ajudar também, mas fiz questão sintetizar um pouco e mostrar mais o lado prático contribuindo com alguns exemplos. O assunto é extenso e nem sempre de fácil compreensão, mas com um pouco de prática fica mais fácil o entendimento.

Algumas perguntas e respostas sobre modelagem de dados

É preciso seguir fielmente o modelo conceitual, físico e lógico?

A modelagem de dados leva em consideração esses aspectos visando oferecer a possibilidade de uma maior compreensão do problema e propor um banco de dados que eu seja consistente e que de fato atenda as necessidades futuras. Naturalmente que existem banco de dados pequenos para atender situações muito pontuais e que talvez a compreensão seja tão óbvia que não seja necessário de mandar tanto tempo em análise e modelagem do mesmo. Mas de uma maneira geral todos os conceitos acima postos estão implícitos na modelagem, quer sejam visíveis ou não.

O que acontece com banco que não tem uma modelagem boa?

Um banco de dados é uma estrutura que vai responder de acordo com aquilo que foi proposto, ou seja, se uma modelagem mal feita foi implementada, os resultados podem ser maior consumo de recursos, dificuldades na manutenção dos dados e até problema de consistência dos mesmos. Assim, a etapa de modelagem é extremamente importante porque ela é o projeto do banco e por isso vale a pena debruçar um pouco sobre os conceitos que ela exige a fim de compreender bem o problema e procurar a melhor estratégia de modelagem para ter um banco de dados absolutamente consistente.

O que fazer com banco os antigos que foram mal projetados, mas contém milhares de dados?

Os chamados sistemas legados podem ser uma grande dor de cabeça, no caso de banco de dados então nem se fale. O que as vezes acontece é que na época em que foram projetados não se tinham ferramentas ou alguns conceitos que temos hoje não estavam totalmente desenvolvidos e por isso os bancos foram projetados usando o melhor que você havia na época. A pergunta que fica é: Devo migrar para um sistema novo? A resposta é depende. Às vezes dá mais trabalho migrar do que manter o sistema do jeito que está.

Falando imigração, como pode ser feita a migração de um banco antigo para um novo banco com uma modelagem diferente?

Você deve já ter ouvido falar de um conceito chamado “de para” que é muito comum em análise de sistemas, programação e afins. Isto significa que para cada ocorrência do sistema antigo (de), precisa haver uma nova ocorrência no novo sistema (para), em outras palavras, você precisa tirar algo de um local e colocar em outro, Portanto o trabalho deve ser primeiro analisar muito bem o que existe no banco antigo, criar uma nova modelagem que leve em consideração tudo que já exista lá mas agora sendo aplicado em um conceito um pouco diferente e com melhor consistência.

Não é um trabalho fácil e exige muita paciência, planejamento e muitos testes para você conseguir fazer uma migração de sucesso.


VEJA TAMBÉM:

CANAL NO YOUTUBE

INSCREVA-SE:



Sistemas Web

Playlist de SQL

Youtube Youtube Youtube
© 2021 - Utilidade Pública: Tecnologia, Educação e Cidadania.