Após identificar os relacionamentos entre entidades, é necessário definir quantas ocorrências de uma entidade podem estar associadas a outra.
Essa definição é chamada de cardinalidade.
Cardinalidade é a regra que define quantas ocorrências de uma entidade podem estar relacionadas com outra entidade.
Ela é utilizada durante a modelagem para representar corretamente as regras de negócio do sistema.
| Tipo | Representação |
|---|---|
| Um para Um | 1 : 1 |
| Um para Muitos | 1 : N |
| Muitos para Muitos | N : N |
Uma ocorrência de uma entidade está relacionada com apenas uma ocorrência da outra entidade.
PESSOA 1 -------- 1 PASSAPORTE
Cada pessoa possui apenas um passaporte e cada passaporte pertence a apenas uma pessoa.
Uma ocorrência da primeira entidade pode estar relacionada com várias ocorrências da segunda entidade.
CLIENTE 1 -------- N PEDIDO
Um cliente pode realizar vários pedidos, mas cada pedido pertence a apenas um cliente.
Várias ocorrências de uma entidade podem se relacionar com várias ocorrências da outra.
ALUNO N -------- N CURSO
Um aluno pode cursar vários cursos e um curso pode possuir vários alunos.
A cardinalidade é normalmente indicada ao lado das entidades nos diagramas.
CLIENTE (1) ------- (N) PEDIDO
Isso indica que um cliente pode possuir vários pedidos.
Nos bancos relacionais, a cardinalidade é implementada por meio de chaves primárias e estrangeiras.
CLIENTE
id_cliente
nome
PEDIDO
id_pedido
data_pedido
id_cliente
O campo id_cliente na tabela Pedido representa o relacionamento 1:N.
Relacionamentos muitos para muitos exigem uma tabela intermediária.
ALUNO
id_aluno
CURSO
id_curso
MATRICULA
id_aluno
id_curso
A tabela Matrícula conecta alunos e cursos.
| Relacionamento | Cardinalidade |
|---|---|
| Pessoa x CPF | 1 : 1 |
| Cliente x Pedido | 1 : N |
| Aluno x Curso | N : N |
| Médico x Paciente | N : N |