A modelagem de dados é o primeiro passo em nosso projeto na criação de um banco de dados, pois é nele que criamos um modelo de dados específico para um determinado domínio.
Modelo de Dados
É uma representação simples, normalmente gráfica, de estrutura de dados reais mais complexas, sendo esta um modelo de uma abstração de um objeto ou evento real de maior complexidade. Sua função é auxiliar na compreensão das complexidades do ambiente real. Pela visão do BD, nada mais é que um modelo que representa estruturas de dados e suas característica, relações, restrições, transformações e outros elementos que tenham finalidade de dar suporte ao problema específico de um domínio.
Modelagem de Dados
Este é um processo iterativo e progressivo. Deve-se compreender o problema do domínio, e conforme essa compreensão de desenvolve, os detalhes irão surgir e acrescidos no modelo. Ao final da modelagem, teremos uma visão detalhada do todo, com todas as instruções para a construção de um BD que atenda às necessidades dos usuários finais. Essa modelagem terá descrições textuais e gráficas, que ajudarão no entendimento dos principais elementos de dados.
Características Básicas
Um modelo de dados pronto para implementação terá as seguintes características:
- Descrição da estrutura de dados que armazenará os dados do usuário final;
- Conjunto de regras aplicáveis para garantir a integridade dos dados;
- Metodologia de manipulação de dados que dê suporte a transformação de dados reais;
Importância dos Modelos de Dados
Estes modelos podem ajudar na comunicação entre o projetista, programadores e o usuário final, dando uma compreensão mais aprimorada da organização para a qual está sendo desenvolvida.
As aplicações são criadas para gerenciar os dados e transformá-las em informações. Daí a importância de não ignorar esta etapa fundamental, principalmente que cada um dos envolvidos (projetistas, programadores e usuários finais) tem visões diferentes sobre o sistema como um todo.
Caso tenha um bom projeto em mãos para trabalhar, esses pontos de vista diferentes não importarão. Se você não tiver algo bom, você pode sofrer com prejuízos futuros. Imagina um software que faz conflito de dados, mostrando valores de produtos de forma trocada, algo como uma caneta simples mostrando o valor de R$ 1.200,00, que seria o valor de um outro produto que poderia ser um computador, por exemplo.
O modelo de dados é uma abstração que não será possível obter dados a partir dele, mas você irá precisar para começar seu projeto de banco de dados, dando mais segurança para o seu projeto dar certo, atendendo as necessidades do usuário final.
Graus de Abstração de Dados
Modelagem Conceitual
O objetivo aqui é criar um modelo conceitual de forma gráfica, sendo este chamado de Diagrama Entidade e Relacionamento (DER), que identificará todas as entidades e relacionamentos de uma forma global. Aqui é evitado qualquer detalhamento específico do modelo de BD.
O modelo conceitual mais utilizado é o de ER, que é ajudado pelo DER, que na prática, constitui o modelo básico do BD. Este é utilizado para representar graficamente o esquema conceitual.
Através deste modelo, teremos uma visão de cima (macro) compreendida de modo relativamente fácil sobre o ambiente de dados. Também é independente de hardware ou software, ou seja, não depende de nenhum SGBD utilizado para implantá-lo. Por tanto, qualquer alteração no software ou hardware, não terão efeito no nível conceitual.
Modelagem Lógica
Depois que selecionamos um SGBD, iremos mapear o modelo conceitual para ele. O projetista relaciona as características e restrições do modelo conceitual com as do modelo selecionado para implementação. O modelo lógico constitui uma representação específica de um modelo interno, utilizando as estruturas de BD suportada pelo banco escolhido. Em um Banco de Dados Relacional (BDR), o esquema interno é expresso utilizando linguagem SQL, por padrão.
Neste nível, o modelo lógico depende do software. Por tanto, qualquer alteração feita no SGBD exigem que o modelo interno seja alterado para adequar-se às características e exigências de implementação do modelo de BD. Quando conseguimos alterar o modelo lógico sem afetar o modelo conceitual, teremos o que é chamado de independência lógica. No entanto, o modelo lógico continua independente de hardware, ou seja, qualquer alteração (escolha de um computador, sistema operacional diferente, etc) não afetará no modelo lógico.
É nesta modelagem que serão definidas os padrões e nomenclaturas, chaves primárias e estrangeiras, sempre levando em conta o modelo conceitual criado anteriormente.
Modelagem Física
Aqui é trabalhado no nível mais baixo de abstração, descrevendo o modo como os dados são salvos em meios de armazenamentos, como discos e fitas, sendo exigido a definição tanto dos dispositivos de armazenamento físico como dos métodos de acesso (físico) necessários para se chegar aos dados nesse dispositivos, o que o torna dependente tanto de software como de hardware. Os projetistas precisam de um conhecimento detalhado do hardware e do software utilizado para implementar o projeto de BD.
Não é necessário que o projetista se preocupe com as características do armazenamento físico dos dados, mas a implementação de um modelo relacional pode exigir sintonização refinada no nível físico para melhorar o desempenho, principalmente em BD muito grandes em ambientes mainframes.
Níveis de Abstração de Dados
MODELO | GRAU DE ABSTRAÇÃO | FOCO | INDEPENDÊNCIA |
Externo | Alto | Visões dos usuários finais | Hardware e Software |
Conceitual | Média-Alta | Visão global dos dados (independe do modelo do BD) | Hardware e Software |
Lógica | Média-Baixa | Modelo específico de BD | Hardware |
Físico | Baixo | Métodos de armazenamento e acesso | Nem hardware ou software |
Bons estudos e um grande abraço!
[…] http://www.diegomacedo.com.br/modelagem-conceitual-logica-e-fisica-de-dados […]
Como posso saber se minha modelagem ficou bem feita? Pois, não sei se o que faço está certo ou errado.
Você teria algum livro para referência?
MUITO BOM AJUDOU BASTANTE
Onde se concentram a maior parte das definições de dados?
lógico (externo) ou conceitual?
Seria externo? Pelo nível de abstração de dados ser alto? Ou do contrário?
Sou engenheiro de computação, ficou realmente muito bom seu trabalho!
Muito obrigado Mario! Bom estudo! 🙂
Muito bom seu artigo. Mas tenho uma dúvida, UML é um padrão de modelagem lógica?
Essa modelagem de dados é o mesmo que algoritimos?
De forma resumida: Não, o algoritmo é a lógico do código-fonte utilizado para criar os programas, basicamente está ali na camada lógica. A modelagem de dados é um processo para se criar um software a partir de uma visão geral sobre como os dados serão armazenados no banco de dados, desde uma visão mais abstrata e regras de negócio, até a camada física.
Na verdade, modelagem é a compreensão do problema por parte do analista de sistemas para a atingir aos objetivos do requisitante do sistema. Algoritmos são procedimentos lógicos para a solução de problema.
Excelente o que você diz, ótima matéria.
Mas queria te fazer uma pergunta: No levantamento e análise de requisitos de que forma os modelos poderiam auxiliar e como você pode ilustrar sua resposta?
Muito bom o resumo.
Parabéns pela iniciativa.
gostei
Muito bom para pesquisa! Parabéns pelo trabalho
Um desenvolvedor recebe um documento detalhando de maneira precisa
e
estrutura
da
um banco de dados. O
desenvolvedor deverá im
plementar um software para acessar
esse
banco de dados através de um SGBD
conforme esta estrutura. Esse documento é um
projeto
conceitual, um
projeto
lógico ou um
projeto
físico?
Lógico
Muito bom!
Show de Bola! Muito bem explicado!