Pular para o conteúdo
Felipe Túlio

Modelagem conceitual de Banco de Dados

5 min de leituraBanco de Dados

Quando buscamos construir um banco de dados, a primeira etapa a ser desenvolvida é o levantamento de requisitos. Durante essa etapa, os projetistas de banco de dados entrevistam os usuários que utilizarão o sistema para entenderem e documentarem seus requisitos de dados. O resultado dessa etapa é um conjunto de requisitos dos usuários escrito de forma concisa.

Etapas da modelagem

Com este documento em mãos passamos para a etapa seguinte, que é a modelagem conceitual. Nela definimos o que será representado no banco, sem nos preocuparmos com o modo de armazenamento físico ou a tecnologia usada. Para Elmasri e Navathe (2011, p. 132),

“o esquema conceitual é uma descrição concisa dos requisitos de dados dos usuários e inclui detalhes dos tipos de entidade, relacionamentos e restrições; estes são expressos usando os conceitos fornecidos pelo modelo de dados de alto nível.” — Elmasri e Navathe, 2011, p. 132

A próxima etapa no projeto de banco de dados é a implementação do próprio banco de dados, focando em alguma tecnologia de SGBD disponível. A maioria dos SGBDs utiliza um modelo de dados de implementação, de modo que o esquema conceitual é transformado em modelo de implementação. Essa etapa é chamada de projeto lógico ou mapeamento do modelo de dados. O resultado desta etapa é um esquema que considera as especificidades do SGBD escolhido. O mapeamento do modelo de dados normalmente é automatizado ou semiautomatizado nas ferramentas de projeto do banco de dados.

A última etapa é a fase do projeto físico, durante a qual as estruturas de armazenamento internas, organizações de arquivo, índices, caminhos de acesso e parâmetros físicos do projeto para os arquivos do banco de dados são especificados. (Elmasri e Navathe, 2011, p. 132).

Na Figura 1 apresentamos um esquema geral do processo de modelagem do banco de dados e desenvolvimento de sistemas, descrevendo as etapas e suas relações entre si. Nela, podemos ver que tudo começa com a estipulação do minimundo, que é uma porção da realidade, captada pelo analista.

Figura 1 – Esquema geral do processo de modelagem de banco de dados e desenvolvimento de sistemas. Fonte: Retirado de Elmasri e Navathe (2011, p. 133).

Modelagem Entidade-Relacionamento

A modelagem Entidade-Relacionamento é a técnica mais comum para modelar dados conceitualmente. Ela foi proposta por Peter Chen (1976) e utiliza uma notação gráfica simples, baseada em três elementos:

  • Entidades → representadas por retângulos
  • Relacionamentos → representados por losangos
  • Atributos → representados por círculos

Segundo Date (2003, p. 292),

“o modelo entidade-relacionamento é um formalismo gráfico usado para representar dados de forma conceitual.” — Date, 2003, p. 292

Entidades

Conforme Machado e Abreu (2011, p. 57), uma entidade é um “objeto que existe no mundo real com uma identificação distinta e um significado próprio”. Em outras palavras, podemos dizer que entidades são coisas do mundo real que queremos representar no banco de dados. São tipos de entidades as coisas concretas — como um “Carro”) — ou abstratas — (como um “Cargo”).

As pessoas existem realmente, possuindo uma identificação distinta e um significado próprio. Logo, é um exemplo de entidade (Pessoa). Da mesma forma, setores de empresas também podem ser representados como uma entidade (Departamentos), com a diferença de que um departamento é algo abstrato, ou seja, não existe de fato no mundo físico.

Na Figura 2 temos a exemplificação das entidades no modelo proposto por Peter Chen em 1976.

Figura 2 – Exemplo visual de duas entidades na modelagem conceitual.

Atributos

Os atributos são os dados que descrevem entidades ou relacionamentos. Machado e Abreu (2011, p. 61) dizem que os atributos são “as instâncias de uma entidade”. Eles normalmente são representados por círculos não-preenchidos (não coloridos), iguais aos apresentados na Figura 3.

Figura 3 – Entidades Médico e Paciente possuem atributos descritivos. Igualmente, o relacionamento Consulta possui um atributo chamado local.

Há casos em que estes círculos aparecem de forma preenchida, sendo estes atributos especiais, possuindo uma função específica no modelo. Na Figura 4 apresentamos um exemplo visual de como inserir o atributo identificador.

Figura 4 – A entidade Pessoa possui dois atributos, sendo um identificador (cpf) e outro descritivo (nome).

De forma geral, podemos dizer que os tipos de atributos são:

  • Descritivos:
    • Simples (atômico): altura, peso
    • Composto: endereço (rua, número, bairro)
    • Multivalorado: telefone
  • Identificadores (chave primária): distingue unicamente uma entidade (normalmente um código). O cpf é um exemplo de identificador possível.

Relacionamentos

As entidades descrevem as coisas do mundo real que estamos tentando representar. Como as coisas no mundo real se relacionam entre si, é natural que precisemos de uma forma para descrever estas relações. Para isso, temos os relacionamentos. Segundo Machado e Abreu (2011, p. 73),

“relacionamento é o acontecimento que liga objetos existentes no mundo real.” — Machado e Abreu, 2011, p. 73

Pela definição, percebemos que os relacionamentos são capazes de conectar entidades, descrevendo para os projetistas e desenvolvedores como os dados das entidades devem se relacionar no banco de dados. São representados visualmente por um losango, conforme descrito na Figura 6.

Figura 6 – Exemplo de relacionamento ligando duas entidades (relacionamento binário).

Os relacionamentos podem envolver: 1. Uma entidade (relacionamento unário); 2. Duas entidades (relacionamento binário); e 3. Três ou mais entidades (relacionamento ternário).

Na Figura 6 acima observamos um relacionamento binário, enquanto na Figura 7 abaixo o relacionamento é unário, também conhecido como auto-relacionamento.

Figura 7 – O relacionamento chamado Casamento indica um auto-relacionamento, ou seja, quando uma entidade se relaciona com ela mesma. Este é um exemplo de relacionamento unário.

Conclusão

Após tantas considerações sobre a modelagem conceitual, é possível ponderar que construir bancos de dados exige bastante raciocínio sobre o contexto representado (minimundo). Também podemos supor que um banco modelado e construído de forma insatisfatória pode comprometer a qualidade das informações geradas pelo sistema computacional. Assim, é importante que os envolvidos na elaboração do sistema busquem a melhor compreensão do problema que está sendo representado.

Obrigado pela leitura e bons estudos!

Referências

ELMASRI, R.; NAVATHE, S. B. Sistemas de Banco de Dados. 6ª ed. São Paulo: Pearson, 2011.

DATE, C. J. Introdução a Sistemas de Banco de Dados. Rio de Janeiro: Elsevier, 2003.

MACHADO, Felipe Nery Rodrigues; ABREU, Maurício Pereira de. Projeto de Banco de Dados: uma visão prática. 16 ed. São Paulo: Érica, 2011.