O que é Modelo Entidade Relacionamento (MER)?

Segundo Martins (2007), em março de 1976, Peter P. Chen publicou um trabalho intitulado “The Entity-Relationship Model” no qual definia uma possível abordagem para o processo de modelagem dos dados, esse trabalho, após sua divulgação e ampla aceitação, passou a ser considerado como um referencial definitivo para o processo de modelagem de dados evoluído com o passar dos anos para uma abordagem mais próxima do ambiente de orientação de objeto, abordagem esse que torna a técnica mais rica, e portanto aplicável a novas finalidades.

O modelo relacional estabeleceu-se como o primeiro modelo de dados para aplicações comerciais desenvolvido para facilitar o projeto de banco de dados relacionais permitindo a representação de todas as estruturas dos mesmos e um melhor dialogo entre os profissionais envolvidos no projeto, umas das suas maiores vantagens são: flexibilidade, adaptabilidade, simplicidade e objetividade.

Segundo Martins (2007), com a criação de mais de um tipo de SGBD´s, houve uma grande preocupação com o estabelecimento de padrões que pudessem regrar este novo ambiente, assim surgiu o conceito de Schema, que é o conjunto de parâmetros e especificações para mapeamento das estruturas de dados, incluindo aspectos conceituais, lógicos e físicos.

Estes aspectos são abordados em diferentes níveis do Schema conforme Figura 29, com o objetivo de tornar possível a implementação física do banco de dados em qualquer SGBD, isso possibilita que um mesmo modelo lógico de dados, seja implementado em qualquer banco de dados, sem exigir transformações no modelo de dados original que durante essa implementação passara por níveis distintos, cada qual com suas características e particularidades.

Modelo Entidade Relacionamento

Modelo Conceitual

Modelo que representa fielmente o negocio em questão, demonstrando características fieis ao ambiente observado ou imaginado independente de qualquer limitação imposta por tecnologia, técnica de implementação ou dispositivo físico.

Deve ser utilizada na fase de analise, nunca na fase de projeto, em nível de conversação, representação do negocio, validação de conceitos etc. Um grande diferencial do modelo conceitual é sua estabilidade, pois permanece sem mudanças independente da escolha futura de implementação, em um SGBD relacional ou um hierárquico, por exemplo. Outro aspecto positivo do modelo conceitual é que como o mesmo não respeita regras e limitações imposta pela tecnologia, as pessoas que estarão desenvolvendo o modelo irão concentrar todo seu esforço no aspecto conceitual, obtendo, desta forma, maior detalhamento do conceito nessa fase.

Modelo Lógico

Ao contrário dos modelos conceituais, os modelos lógicos são os modelos em que os objetos, suas características e relacionamentos têm sua representação de acordo com as regras de implementação e limitantes impostos por alguma tecnologia, modelo esse utilizado já na fase de projeto, mais independente de dispositivo físico, implementando conceitos como chave primaria, normalização, integridade referencial, chaves compostas e outros.

Segundo Martins (2007), esse modelo será criado através do modelo conceitual já construído, teoria essa que alguns autores têm uma visão diferenciada, definindo que o método para obtenção do modelo lógico é o próprio processo criativo, sem haver a necessidade de um modelo conceitual.

Modelo Físico

Elaborado a partir do Modelo lógico levando em consideração limites impostos por dispositivo físico e pelos seus requisitos não funcionais dos programas que acessam os dados, cada dispositivo físico (SGBD) diferente poderá definir um modo diferente de implementação física das características e recursos necessários para o armazenamento e manipulação das estruturas de dados.

Segundo Pressman (2006), o modelo de dados consiste em três peças de informação inter-relacionadas: o objeto de dados, os atributos que descrevem o objeto de dados e as relações que conectam os objetos de dados uns aos outros.

Referência Bibliográficas

  • Pressman, Reger S. Engenharia de Software, 2006
  • Martins, José Carlos Cordeiro. Gerenciando Projetos de Desenvolvimento de Software – 2ª e 4ª edições, 2007.

Saiu na DevMedia!

  • Série Autenticação em Aplicações Web:
    Tornar algumas páginas acessíveis apenas a um grupo de usuários autenticados é uma tarefa trivial em aplicações web. Existem diferentes frameworks para isso, mas a maioria deles cobre desde o cadastro até as credenciais, passando pela autenticação e controle de acesso. Quer saber qual a lógica por trás dessas etapas?
  • CSS: da Sintaxe ao Flexbox:
    CSS é um item que não pode faltar na caixa de ferramentas de um programador web, pois é com ela que descrevemos para o navegador como os elementos em uma página serão apresentados para o usuário.
  • Série: MVC e Regras de negócio:
    Em uma arquitetura MVC, temos três camadas com diferentes responsabilidades. Em qual destas camadas deveria estar a regra de negócio da aplicação? Saiba isso e muito mais nesta série.

Saiba mais sobre Modelo Entidade Relacionamento ;)

  • Guias de Arquitetura de Software:
    Aprenda os Conceitos e a Importância da Arquitetura de Software. Nestas guias você aprenderá como estruturar seu projeto desde sua definição até a sua aplicabilidade.
  • Guias Engenharia de Software:
    Encontre aqui os Guias de estudo sobre os principais temas da Engenharia de Software. De metodologias ágeis a testes, de requisitos a gestão de projetos!
  • Engenharia de Software para programadores:
    Ter boas noções sobre engenharia de Software pode alavancar muito sua carreira e a sua forma de programar. Descubra nesse guia tudo o que um programador precisa saber sobre a ciência que existe por trás dos códigos.