Cardinalidade Banco de Dados: Entenda os Relacionamentos!

Cardinalidade Banco de Dados - Entendenda as Quantidades Mínimas e Máximas em Relacionamentos

Introdução

A cardinalidade é um conceito fundamental na modelagem de dados, pois descreve as quantidades mínima e máxima que um relacionamento pode ter. Neste artigo, vamos explorar o conceito de cardinalidade em banco de dados e como ele é usado para modelar as relações entre objetos.

O que é cardinalidade em banco de dados?

A cardinalidade em banco de dados descreve as quantidades mínima e máxima que um relacionamento pode ter. Por exemplo, quantas mercadorias são vendidas através de uma nota fiscal? Só tem sentido a emissão de uma nota fiscal se pelo menos uma mercadoria for vendida através da mesma. Por outro lado, pode-se vender várias mercadorias através de uma única nota fiscal.

Uma instância de NOTA FISCAL pode se relacionar com UMA instancia de MERCADORIA no mínimo, e com VÁRIAS instâncias no máximo.

A cardinalidade descreve as quantidades mínima e máxima que um relacionamento

A trena não está relacionada com nenhuma instância de NOTA FISCAL. Portanto, uma MERCADORIA pode ser vendida por NENHUMA NOTA FISCAL no mínimo, e por VÁRIAS no máximo, é o caso de serrote que é vendido pelas notas fiscais 851, 852 e 853.

Chegamos então aos valores da cardinalidade e às combinações possíveis de serem feitas com os valores mínimos e máximos.

O parêntesis representa a cardinalidade mínima zero, e a ausência deste, a cardinalidade mínima um. Para indicar o valor máximo UM, usamos o número 1, e o valor máximo VÁRIOS a letra N.

Assim, escrevemos o relacionamento em questão, da seguinte forma:

NOTA FISCAL        (N)   :   N        MERCADORIA (vende)

MERCADORIA       N    :   (N)      NOTA FISCAL (é_vendida)

O sinal de “dois pontos” entre os valores das cardinalidades indica que trata-se de um relacionamento entre objetos.

Como representar a cardinalidade no desenho do modelo de dados?

Para representar a cardinalidade no desenho do modelo de dados, várias convenções ou padrões são conhecidos. Uma das mais comuns é a chamada “pé de galinha” (Crow’s Foot), que utiliza símbolos gráficos para indicar a quantidade mínima e máxima de instâncias que podem se relacionar. Por exemplo, uma instância de NOTA FISCAL pode se relacionar com UMA instância de MERCADORIA no mínimo, e com VÁRIAS instâncias no máximo. Isso seria representado por um traço unindo os dois objetos, com um símbolo indicando a cardinalidade mínima (UMA) e outro indicando a cardinalidade máxima (VÁRIAS).

cardinalidade pé de galinha no modelo de dados Crow's Foot

Exemplo:

Representação da cardinalidade no desenho do modelo de dados
  • Uma ÁREA LOTAÇÃO tem obrigatoriamente pelo menos 1 empregado;
  • Um EMPREGADO está vinculado obrigatoriamente a uma área de LOTAÇÃO;
  • Um EMPREGADO pode ter vários, um ou nenhum DEPENDENTE;
  • Um DEPENDENTE (se existir) está obrigatoriamente vinculado a um EMPREGADO.
  • Um EMPREGADO pode ser GERENTE.
  • Um GERENTE é um EMPREGADO.
  • Um EMPREGADO tem obrigatoriamente um NÍVEL SALARIAL;
  • Em um mesmo NÍVEL SALARIAL podemos ter vários, um ou nenhum EMPREGADO.

Não há limitação quanto ao número de relacionamentos

Não há limitação quanto ao número de relacionamentos que um objeto pode ter com outros objetos do modelo de dados. Os relacionamentos são particulares para cada ciclo de negócio, consequentemente são particulares para cada modelo de dados. Eles mudam com as mudanças do ciclo de negócio que o modelo retrata. Por exemplo, o objeto CLIENTE de um sistema de um consultório dentário terá relacionamentos diferentes do mesmo objeto CLIENTE quando este pertencer a um sistema de uma imobiliária.

Conclusão

A cardinalidade é um conceito fundamental na modelagem de dados, pois permite aos desenvolvedores definir as quantidades mínima e máxima que um relacionamento pode ter. Através da representação clara da cardinalidade no desenho do modelo de dados, é possível criar modelos precisos e eficientes.

Perguntas frequentes

O que é cardinalidade em banco de dados?

A cardinalidade em banco de dados descreve as quantidades mínima e máxima que um relacionamento pode ter.

O que e cardinalidade 1:N ou n 1?

Cardinalidade 1:N (um para muitos) é um tipo de relacionamento em banco de dados onde uma instância de uma entidade pode estar associada a várias instâncias da outra entidade. Já a cardinalidade N:1 (muitos para um) é o inverso, onde várias instâncias de uma entidade podem estar associadas a uma única instância da outra entidade. Por exemplo, um departamento pode ter vários funcionários (1:N), mas cada funcionário está associado a apenas um departamento (N:1).

Como representar a cardinalidade no desenho do modelo de dados?

A representação da cardinalidade no desenho do modelo de dados é feita através da utilização de símbolos gráficos para indicar a quantidade mínima e máxima de instâncias que podem se relacionar.

Existe limitação quanto ao número de relacionamentos que um objeto pode ter?

Não há limitação quanto ao número de relacionamentos que um objeto pode ter com outros objetos do modelo de dados.

Os relacionamentos mudam com as mudanças do ciclo de negócio?

Sim, os relacionamentos mudam com as mudanças do ciclo de negócio que o modelo retrata.

O mesmo objeto pode ter relacionamentos diferentes em diferentes sistemas?

Sim, o mesmo objeto pode ter relacionamentos diferentes em diferentes sistemas, dependendo do ciclo de negócio que o modelo retrata.

Prof. Eduardo H Gomes
Prof. Eduardo H Gomes

Mestre em Engenharia da Informação, Especialista em Engenharia da Computação, Cientista da Computação, Professor de Inteligência Artificial no IFSP, 18 anos de docência no Ensino Superior. Apaixonado por Surf, Paraglider, Mergulho livre, Tecnologia, SEO, Banco de Dados e Desenvolvimento Web.