Cardinalidade
- No DER podemos completar as associações com a sua cardinalidade.
- A cardinalidade define os graus de uma associação:

Relacionamento um-para-um (1:1)
- Indica que uma única ocorrência de uma entidade pode se relacionar com apenas uma única ocorrência de outra entidade.
- Este tipo de relacionamento é raro (no mundo cotidiano)
- Exemplo: MARIDO (1) possui (1) ESPOSA

- Exemplos de Maridos e suas respectivas Esposas

- Uma forma interessante de armazenar:

- Cada linha de uma tabela se relaciona facilmente com a linha de outra
Relacionamento um-para-muitos (1:N ou 1:M)
- Indica que uma ocorrência de uma entidade pode se relacionar com muitas ocorrências de outra entidade
- No entanto, a recíproca não é verdadeira
- Este tipo de relacionamento é o mais encontrado

- Uma situação comum: Um pai tem vários filhos

Relacionamento muitos-para-muitos (N:M)
- Indica que várias ocorrências de uma entidade podem se relacionar com muitas ocorrências de outra entidade
- Geralmente, um relacionamento desse tipo pode ser convertido e simplificado pela criação de uma entidade intermediária (do tipo associativa) e de dois relacionamentos do tipo 1:N (um-para-muitos)
- Exemplo:
- Sistema de compras: Um cliente pode comprar vários produtos, e um produto pode ser comprado por vários clientes
- Nesse caso, existe a necessidade da implementação de uma entidade fraca entre as duas entidades
- Essa entidade é chamada de entidade fraca pois sua chave primária é formada por duas chaves estrangeiras
- Nesse caso, as chaves estrangeiras poderão se repetir, mas o conjunto delas duas nunca irá se repetir, formando a chave primária

- Outra situação comum: Armazenar informações sobre professores e suas disciplinas.
- Temos que levar em consideração duas premissas:
- Um professor pode ministrar mais de uma disciplina
- Uma disciplina pode ter mais de um professor

- Essas condições forçam a ter uma segunda tabela para manter os relacionamentos acima.

Exercícios
- Criar tabelas baseadas em cada informação abaixo. Não se esquecer de definir o ou os campos-chave. Pode ser que tenham que incluir:
- 1. Novos atributos além dos que foram citados. Ex: Talvez achem interessante ter o atributo CPF para os funcionários
- 2. Novas tabelas: Avaliar cada uma e definir se será necessário criar outras tabelas relacionadas
- Funcionário = {Nome + Endereço + Salário + Data-admissão}
- Cliente = {Nro-CPF + Nome + Endereço + Data-Nasc}
- Aluno = {Matrícula + Nome + Sexo + Data-nasc.}
- Dependente-Funcionário = {Matrícula-Func + Nome-dep + Data-nasc }
- Benefícios = {Matrícula-Func + Codbenefício + Data-benef}
- Notas = {Matrícula + Disciplina + Sem + Notas}
- Pedido = {NroPedido + Cliente + Data Pedido + Produto}
- Conta = {nro-conta + saldo + juro + período}
- Venda= {NF + Data + Valor + Cliente}
- Produto = {Cod+ Descricao + Tipo + Valor + Saldo}
- Professores = {Cod+ Nome + Titulacao + Data Nascimento + Endereco}
- Usuario = {Email + Nome + Endereço + Data-Nasc}
- Pagamentos= {NF + Data + Valor + Cliente}