Banco de Dados: Modelagem conceitual

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”). Pessoas existem realmente, possuindo uma identificação distinta e um significado próprio. Logo, é um exemplo de entidade. Da mesma forma, Departamentos também podem ser representados como uma entidade, 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). Há casos em que estes círculos aparecem de forma preenchida, sendo estes atributos especiais, possuindo uma função específica no modelo. Nas Figuras 3, 4 e 5 apresentamos exemplos visuais de como inserir atributos nas entidades e nos relacionamentos.

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, com um código. O cpf é um exemplo de identificador possível.
Figura 3 – Entidades Médico e Paciente possuem atributos descritivos. Igualmente, o relacionamento Consulta possui um atributo chamado local.
Figura 4 – Entidades Médico e Paciente não possuem atributos. Por outro lado, o relacionamento Consulta possui um atributo identificador chamado Data/hora.
Figura 5 – A entidade Pessoa possui dois atributos, sendo um identificador (cpf) e outro descritivo (nome).

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 descritos nas Figuras 6 e 7.

Figura 6 – Exemplo de relacionamento ligando duas entidades (relacionamento binário).
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.

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 observamos um relacionamento binário, enquanto na Figura 7 o relacionamento é unário, também conhecido como auto-relacionamento.

Considerações finais

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.