Neste e nos próximos artigos vou falar um pouco sobre um assunto que muitos desconhecem: a Modelagem de Dados.
Primeiramente, o que é modelagem dados? Para quem não sabe, a modelagem de dados é um processo no qual você "projeta" ou "planeja" a sua base de dados de forma que você possa aproveitar os recursos do Gerenciador de Banco e também para que possa construir um banco de dados consistente, que reaproveite recursos, que exija menos espaço em disco e, sobretudo, que possa ser bem administrado.
Assim, como no processo de software, a modelagem de dados é um processo que possui etapas a serem seguidas, mas que podem ser superadas, dependendo do tipo de banco que se pretende construir. O documento principal da modelagem de dados é o Diagrama de Entidade-Relacionamento - DER (leia-se: dér) ou Modelo de Entidade-Relacionamento (MER). Neste documento, são representadas as entidades e os relacionamentos entre elas. As entidades são os "embriões" das tabelas do banco. Até avançarmos esta fase da modelagem, elas recebem esta nomenclatura.
Esta primeira fase é o que chamamos de Modelagem Lógica. É quando determinamos o fluxo de dados entre as entidades, isto é, como o próprio nome diz, quando determinamos a lógica do banco que iremos contruir.
O relacionamento entre as entidades é um quesito que deve ser especialmente analisado. No modelo lógico, toda entidade deve estar relacionada à outra. Quando sobram entidades sem relacionamento, é sinal de que há algum problema. Podem ser entidades que estão sobrando, ou seja, que na verdade não deveriam existir, ou alguma entidade pode estar relacionada à qual não deveria.
Dependendo do tipo de base de dados que se deseja, pode-se aproveitar ferramentas do próprio banco e, desta forma, economizar linhas de código.
Suponha que façamos um controle de bens doméstimos. Certamente para este sistema não há previsão de migrar a base de dados para uma plataforma maior, como o SQL Server, ou Oracle, certo? Então por que não aproveitar alguns recursos do banco de dados Access para controlar os seus dados? Isto deve ser levado em conta quando se modela um banco. Mas há também casos onde se prevê uma migração ou, quem sabe, se está apenas pensando em um módulo de um sistema.
Neste caso, quanto menos dependência do gerenciador do banco, melhor. Pode-se implementar rotinas no próprio sistema e torná-lo "universal" a qualquer tipo de banco de dados, seja ele proprietário (Access, SQL Server, Oracle) ou livre (MySQL, PostGreSQL).
Em plataformas como a Oracle, há módulos de modelagem de dados próprios, totalmente integrados ao banco de dados. Como sabemos, este não é o caso do Access. Mesmo assim, podemos fazer uma análise, por mais simples que seja o banco de dados, antes de colocar Access para rodar.
Após terminarmos a modelagem lógica, partimos para a modelagem física. Nesta etapa, vamos determinar as tabelas, campos e relacionamentos que efetivamente vamos contruir em nosso banco de dados. Para isto, vamos repensar o modelo lógico que criamos e adequá-lo para a "realidade".
Após esta visão geral, vamos nos aprofundar mais na modelagem voltada para o Access.
Continuaremos discutindo no próximo artigo.
Até lá.
Básico mas muito interessante para quem estuda na área de sistemas de informação, aguardo os próximos...
Responder comentárioUm pouco teorico e interessante!!!
Responder comentárioMuito interessante e de fácil compreensão. Já estou querendo os próximos.
Responder comentárioja saiu a 2ª parte? show a matéria
Responder comentárioBoa matéria mas estou me perguntando se a modelagem de banco de dados se resume apenas a projetar com cuidado o modelo lógico. Se isso for verdade, visualizar o impacto de uma modelagem ruim vai depender da experiência do modelador e não existem metricas para medir estes impactos como temos na engenharia de software.
Responder comentárioMuito boa a matéria, já estou esperando as próximas. Um abraço!
Responder comentárioParabéns !!! Aguardo os novos artigos.
Responder comentárioFlavio, a modelagem de banco é menos complexa que a modelagem de sistemas, no sentido de que na modelagem de banco voce aplica as regras de modelagem e pronto. Não tem muito o que pensar. Mas voce tem toda razão, voce só perceberá os erros de modelagem do banco quando voce implementar a parte do seu sistema que acessa ele. Paradoxal, não?
Responder comentárioMuito bom o artigo! Tive um professor que odeia o Access. Ele diz que Access não é um SGBD e por ae vai... Espero outros artigos, abraço.
Responder comentárioTudo bem pessoal? Espero que sim!
Estou aguardando a continuaçãod esta matéria, sobre modelagem de dados, este newsletter, já o terceiro com a mesma matéria, a qual já li, fazem três semanas, desculpem se o prazo é maior, mas esta informação é importante...
Obrigado e abraço a todos!
Gostei, mas já que vc estava falando de Modelagem Conceitual não custava falar um pouco sobre Normalização (1FN, 2FN E 3FN) -> Algo que comento em meu Livro que em breve estará nas bancas.
Wenderson Golberto
Wendersom, falarei sobre normalização quando abordarmos o Modelo Lógico.
Responder comentárioMe desculpe se fui me antecipei, é que eu pensei que vc estava Flando de Nivéis de Abstração.
Responder comentárioMauri, Belo artigo, sei que a maioria dos desenvolvedores ou analistas não usando a modelagem de dados, já vão direto para o projeto físico, mas percebi que vc cometeu um engano, em relação que o Der pode ser chamado de Mer, e que faz parte do projeto lógico.
Na realidade o Mer é o modelo ou regra utilizado para que seje construido o diagrama de entidade relacional, que por sua vez faz parte do projeto conceitual do banco de dados.
Já havia estudado sobre Modelagem de Dados porém nunca havia encontrado um bom artigo sobre. Está sendo ótimo relembrar esses conceitos! Aguardo ansiosamente pelo próximo artigo!
Responder comentárioTenho um banco de dados, que gera relatótios mês a mês, mais não estou conseguindo imprimir os somatórios. Se alguém puder me ajudar me mande um e-mail. Grato.
Responder comentárioTiago, na verdade o que eu chamei de "modelo lógico" você conhece como modelo conceitual. O significado nao muda, fica apenas a nomenclatura diferente. A respeito do MER, você tem toda a razão.
Responder comentárioOs textos publicados neste espaço são de responsabilidade única de seus autores (colunistas e leitores) e podem não expressar necessariamente a opinião do iMasters.
Mauri Gonçalves é formando em Análise de Sistemas pela Faculdade de Ciências Sociais Aplicadas de Cascavel (PR). Já atuou como designer gráfico, webdesigner e hoje trabalha com projeto e desenvolvimento de sistemas small business pela MG Sistemas como home-officer.
2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.