2 REDE – 15/02/2024 – BD – Modelo Conceitual de Dados – Blog Gerardão

2 REDE – 15/02/2024 – BD – Modelo Conceitual de Dados

A finalidade do modelo conceitual de dados é capturar os requisitos de informação e regras de negócio sob o ponto de vista do negócio. Para isto, torna-se necessário o entendimento e a correta aplicação dos mecanismos de abstração, utilizados na modelagem conceitual de dados.

Elementos Estruturais de um Modelo Conceitual de Dados

1 – Entidades
Formam um conjunto de “coisas” com conceitos comuns às quais desejamos armazenar os dados.
Entidades podem ser pessoas, lugares, organizações, objetos físicos e tangíveis.

As entidades são representadas através de um retângulo com o nome da entidade escrito em seu centro. Conforme figura a seguir, as entidades são classificadas em dois tipos: Entidades Fortes e Entidades Fracas.

As entidades fortes possuem um alto grau de independência de existência de identificação. Geralmente, outras entidades podem depender dela para serem identificadas. Podemos tomar como exemplo a entidade “BANCO”, onde a existência da mesma não depende de nenhuma outra entidade para ser identificada.

As entidades fracas possuem dependência de existência e/ou identificação. São sempre ligadas a outras tabelas através de relacionamentos. Podemos tomar como exemplo a entidade “AGENCIA”, onde a existência e identificação da mesma estão vinculadas a outra entidade forte, no caso o “BANCO”

2 – Relacionamentos
Relacionamentos são associações entre entidades com um significado específico dentro do mundo real. Os objetos do mundo real não ocorrem de forma isolada, eles se associam ou se vinculam.

A figura de um relacionamento é representada através de um losango, tal como as entidades os relacionamentos são classificados em fortes ou fracos. Tal como as entidades, os relacionamentos também possuem nome e devem expressar o real significado dentro do contexto modelado. A figura a seguir mostra como os relacionamentos são representados em um modelo conceitual de dados.

Na figura acima DEPENDENTE é uma entidade fraca em relação ao EMPREGADO, sempre que esta relação existir de forma fraca, o relacionamento também será fraco, por esta razão o losango desta relação está representado com uma linha dupla. Já na relação entre EMPREGADO e CARGO não há dependência de existência ou identificação, pois um CARGO não depende de um EMPREGADO para existir e ser identificado e vice-versa.

Quando tratamos de relacionamentos, devemos ter em mente três conceitos importantes que influenciam diretamente na modelagem e entendimento de um modelo conceitual. Os conceitos são o grau, cardinalidade e tipo do relacionamento.

Grau dos Relacionamentos

O grau de um relacionamento corresponde ao número de entidades envolvidas na mesma relação. O grau de um relacionamento pode ser:

Binário: Onde duas entidades participam de um relacionamento. Este é o grau utilizado na maioria dos relacionamentos.

Ternário: Onde três entidades participam de um relacionamento. Muito se discute sobre o uso e aplicabilidade de relacionamentos com grau maior que dois (ternários e n-ários) em modelos de dados. Alguns autores sugerem inclusive que esses relacionamentos não sejam adotados.

N-ário: Onde quatro ou mais entidades participam de um relacionamento.

A figura a seguir mostra exemplos comuns de graus de relacionamentos.

Cardinalidade

A cardinalidade representa a quantidade de vezes que um elemento de um conjunto de entidades pode, em um determinado instante, estar associado em um dado relacionamento, a outros elementos de outras entidades.

A cardinalidade de uma relação é definida em cada um dos sentidos do relacionamento por um conjunto (x,y) onde x representa a cardinalidade mínima e y representa a cardinalidade máxima.

A cardinalidade mínima é responsável por orientar a obrigatoriedade (opcionalidade) do relacionamento. Já a cardinalidade máxima é responsável por definir a quantidade máxima de vezes que um elemento pode estar associado no relacionamento.

Até agora, por fins didáticos, a cardinalidade não estava sendo representada nos exemplos deste artigo, porém vale a pena destacar que seu uso é obrigatório, pois as cardinalidades refletem regras que obrigatoriamente devem ser representadas em um modelo conceitual de dados.

A figura a seguir mostra um exemplo de uso das cardinalidades em um relacionamento dentro de um modelo conceitual de dados.

No exemplo acima, um EMPREGADO trabalha em uma e somente uma EMPRESA e, em uma EMPRESA trabalham nenhum ou vários EMPREGADOS. Ou seja, dentro do contexto que foi modelado, é impossível existir um EMPREGADO sem uma EMPRESA associada, porém é totalmente viável criar uma EMPRESA e não associar inicialmente algum EMPREGADO.

Tipos de Relacionamentos

O simples fato de associar duas entidades através de um relacionamento com suas cardinalidades às vezes não são suficientes para representar todas as regras de negócio existentes dentro dessas relações.

Para isto, podemos usar mecanismos de representação um pouco mais detalhados. Sob esta ótica, podemos ainda classificar os relacionamentos em três tipos:

  • Relacionamentos independentes;
  • Relacionamentos Contingentes;
  • Relacionamentos mutuamente exclusivos.

Relacionamentos Independentes:

Tipo de relacionamento presente na maioria das relações. Não há necessidade de interpretação simultânea de outro relacionamento. Ou seja, é independente, não depende de ninguém para existir ou influenciar o seu comportamento.

Relacionamentos Contingentes:

Estabelecem associações simultâneas entre os elementos envolvidos. Ou seja, mais de um relacionamento deve ocorrer em um mesmo instante.

Sua representação é recomendada, pois envolvem regras de negócio específicas que se não mapeadas neste momento, fatalmente serão esquecidas mais adiante no decorrer do projeto.

A figura a seguir mostra um exemplo de relacionamento contingente.

No exemplo acima é impossível alocar empregados em um projeto sem um gerente definido e também não é possível definir um gerente para um projeto sem existir empregados alocados no projeto. Ou seja, os dois relacionamentos devem ocorrer no mesmo instante.

Relacionamentos Mutuamente Exclusivos:

Estabelecem associações onde, se um relacionamento ocorre, os outros não deverão ocorrer em relação a um determinado objeto.

Sua representação é recomendada, pois envolvem regras de negócio específicas que se não mapeadas neste momento, fatalmente serão esquecidas mais adiante no decorrer do projeto.

A figura a seguir mostra um exemplo de relacionamento mutuamente exclusivo.

O exemplo acima reflete um exemplo onde uma obra é gerida por uma Empresa Privada ou por uma Unidade Federativa ou por um Município. Ou seja, três tipos de entidades podem gerir uma obra, porém somente uma é a entidade gestora.

3 – Atributos

Os atributos são informações que caracterizam as entidades e os relacionamentos. Um atributo pode: identificar, descrever, qualificar, quantificar ou registrar o estado/situação/ocorrência de uma entidade.

No modelo conceitual são representados através de “pirulitos” colocados juntos as entidades.

Os atributos podem ser classificados em quatro tipos:

Atributo identificador: Representado através de uma bola cheia na extremidade do atributo. Atributos identificadores identificam ou compõe a identificação única de uma ocorrência em uma entidade. Vale ressaltar que uma entidade e/ou relacionamento pode possuir mais de um atributo identificador, desde que os mesmos em conjunto componham a identificação única.

Atributo não identificado: Representado através de uma bola vazia na extremidade do atributo. Corresponde a maioria das ocorrências de uma entidade. Além disso, atributos não identificados podem ser opcionais, ou seja, em algumas instâncias de entidade, alguns atributos poderão conter valores nulos.

Atributos multivalorados: Representado através de uma flor ou asterisco na extremidade do atributo.

Atributos multivalorados são utilizados para representar mais de uma ocorrência de valor de um atributo dentro de uma mesma instância de uma entidade. Exemplo: Geralmente, uma pessoa possui mais de um número de telefone. Como o objetivo do modelo conceitual é capturar a essência do negócio sem levar em conta aspectos de implementação, este tipo de abordagem é utilizado para representar todas essas instâncias em um único atributo, porém deve-se ter em mente que este tipo de abordagem não deve ser utilizado a partir da modelagem lógica de dados, onde entrarão em cena os conceitos de normalização.

Atributos compostos: Representados através de uma oval com vários nós na extremidade do atributo.

Atributos compostos são utilizados para representar mais de um tipo de informação (qualificação) em um atributo. Tal como o atributo multivalorado, seu uso é recomendado somente no modelo conceitual de dados.

A figura a seguir, mostra os tipos de atributos utilizados em um modelo conceitual de dados.

2 – Auto Relacionamento

O auto relacionamento, também conhecido como relacionamento recursivo representa a associação entre elementos pertencentes à mesma entidade.

Em um auto relacionamento temos sempre dois papéis formados pelos elementos de uma entidade. A representação desses papéis é obrigatória e fundamental para o entendimento do modelo. De forma geral, prefiro utilizar um substantivo para nomear o relacionamento e verbos ou expressões verbais para nomear os papéis.

Geralmente, utilizamos um auto relacionamento quando:

1- Desejamos representar estruturas hierárquicas dentro da mesma entidade. Este tipo de representação sempre utilizará uma cardinalidade (0,1) x (0,N). A figura a seguir mostra um exemplo de utilização de um auto relacionamento com essas características.

3 – Generalização e Especialização

Existem situações onde precisamos representar entidades comuns com um maior ou menor grau de propriedades em cada uma, sempre mantendo uma visão hierárquica entre essas entidades. Dependendo da situação, podemos utilizar a Generalização ou a Especialização.

A consiste em criar um conceito superior para as entidades existentes, mantendo uma relação de hierarquia de entidade entre a nova entidade (entidade pai) e as entidades já existentes (entidades filhas). A figura abaixo demonstra um exemplo de uso do mecanismo de generalização.

Já a Especialização consiste em criar novos conceitos (entidades filhas) a uma entidade já existente, mantendo uma relação de hierarquia das novas entidades com a entidade pai (já existente). A figura a seguir demonstra um exemplo de uso do mecanismo de especialização.

EXERCÍCIOS

  • Desenvolva o Diagrama Entidade-Relacionamento para as seguintes situações:
  1. Um aluno realiza vários trabalhos. Um trabalho é realizado por um ou mais alunos.
  2. Um diretor dirige no máximo um departamento. Um departamento tem no máximo um diretor
  3. Um autor escreve vários livros. Um livro pode ser escrito por vários autores.
  4. Uma equipe é composta por vários jogadores. Um jogador joga apenas em uma equipe.
  5. Um cliente realiza várias encomendas. Uma encomenda diz respeito apenas a um cliente

2 comentários em “2 REDE – 15/02/2024 – BD – Modelo Conceitual de Dados”

Deixe um comentário