2.4 Tipos de relacionamento ou cardinalidade do relacionamento
Caracterizam-se pelo número mínimo e máximo de ocorrências de uma entidade associada a ocorrências de outra entidade.
Um para um (1:1)
Figura 8 - Relacionamento um para um (1:1)
Uma ocorrência da entidade Curso se relaciona obrigatoriamente com somente uma ocorrência da entidade Aluno e vice-versa.
Um para muitos (1:N)
Figura 9 - Relacionamento um para muitos (1:N)
Uma ocorrência da entidade Curso se relaciona obrigatoriamente com uma ou muitas ocorrências da entidade Aluno. Já a entidade Aluno se relaciona com somente uma ocorrência da entidade Curso.
Muitos para muitos (N:N)
Figura 10 - Relacionamento muitos para muitos (N:N)
Uma ocorrência da entidade Curso se relaciona obrigatoriamente com uma ou muitas ocorrências da entidade Aluno e vice-versa.
A definição desses 3 tipos de relacionamento pode ser chamada ainda de cardinalidade simples. Sua utilização nos permite ter uma ideia de como as ocorrências de uma entidade se relacionam com ocorrências de outra entidade. Por essa abordagem conseguimos representar somente a cardinalidade máxima permitida, pois temos a representação de um único valor ao lado de cada entidade.
A cardinalidade é uma informação extremamente importante e que deveria obrigatoriamente estar presente em todo e qualquer relacionamento que exista dentro de um banco de dados com modelo entidade relacional.
Cardinalidade mínima e máxima
Figura 11 - Cardinalidade máxima e mínima
É importante saber que os valores que estão ao lado da entidade ditam as regras de como as outras entidades irão se comportar diante de um relacionamento.
Exemplo:
Figura 12 - Exemplo de cardinalidade máxima e mínima
Na Figura 12 temos a seguinte representação graças à cardinalidade:
- Cada ocorrência da entidade Curso poderá se relacionar com no mínimo nenhuma e com no máximo várias ocorrências da entidade Aluno;
- Cada ocorrência da entidade Aluno irá se relacionar com no mínimo e no máximo uma ocorrência da entidade Curso.
Obviamente a cardinalidade será definida de acordo com a sua regra de negócio. No meu exemplo utilizei a seguinte lógica: um curso pode ter nenhum ou vários alunos associados a ele, porém, um aluno obrigatoriamente estará associado a somente um curso. Até aqui apresentei exemplos utilizando as entidades Curso, Turma e Aluno. Então vamos mudar um pouco:
Figura 13 - Exemplo de cardinalidade máxima e mínima
Na Figura 13 temos a seguinte representação graças à cardinalidade:
- Cada ocorrência da entidade Homem poderá se relacionar com no mínimo nenhuma e com no máximo uma ocorrência da entidade Mulher;
- Cada ocorrência da entidade Mulher poderá se relacionar com no mínimo nenhuma e com no máximo uma ocorrência da entidade Homem.
Em outras palavras, um homem pode não estar em nenhum relacionamento — cardinalidade 0 — ou pode se relacionar com no máximo uma mulher — cardinalidade 1.
Relacionamento opcional e relacionamento obrigatório:
Figura 14 - Obrigatoriedade do relacionamento
Na Figura 14 temos um ótimo exemplo de relacionamento obrigatório e opcional. Ao lado da entidade Curso temos o valor 1; ele indica que todas as ocorrências da entidade Aluno devem obrigatoriamente se relacionar com alguma ocorrência da entidade Curso. Já ao lado da entidade Aluno temos o valor 0, ou seja, não é obrigatório que as ocorrências da entidade Curso se relacionem com as ocorrências da entidade Aluno.