Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Dúvida] Tabela aluno_curso

Olá pessoal, boa noite.

Eu comecei agora meus estudos em banco de dados e tô fazendo esse curso após terminar a formação de modelagem, então surgiram algumas dúvidas. Eu imagino que tanto a tabela aluno quanto a tabela curso criadas nas últimas vídeo aulas são entidades fortes, portanto, não teriam chaves estrangeiras nelas nesse modelo de duas entidades, certo? Dessa forma, eu também imagino que a tabela aluno_curso seja uma entidade associativa, criada como exemplo. A minha dúvida é justamente à respeito da cardinalidade dessa relação. A relação é de fato muitos para muitos pra necessitar de uma entidade associativa? O que eu quero dizer é, em uma modelagem real, faz sentido a existência dessa entidade associativa?

Agradeço muito qualquer resposta.

3 respostas
solução!

Gustavo,

Vou tentar explicar do jeito que eu vejo (que eu entendi) sua dúvida ...

  • "... não teriam chaves estrangeiras nelas nesse modelo de duas entidades, certo? "

Não... acredito que seja "uma entidade forte em relação a uma entidade fraca". Mas e se esta "entidade forte" tenha outros relacionamentos e desta vez passar a ser uma "entidade fraca"? Não quer dizer que uma suposta "entidade forte" não possa ter chaves estrangeiras de outros relacionamentos... captou minha mensagem? NÃO?!? Caramba... tudo bem, vou passar um exemplo:

Exemplo tosco: Um ALUNO pertence a um ESTADO de um país (mora em um estado do Brasil). Este aluno NÃO pode possui um código do estado (chave estrangeira) indicando o qual estado mora?!? Veja que a chave estrangeira pertence a OUTRO relacionamento da tabela ALUNO.

  • "tabela aluno_curso ... cardinalidade"

Essa tabela é uma QUEBRA de uma cardinalidade "N-N", formando duas cardinalidades "1-N". Um aluno pode estar matriculado em VÁRIOS (N) cursos e um curso pode ter VÁRIOS (N) alunos. NÃO tem como escrever isso no BD, então é preciso ter obrigatoriamente de uma tabela intermediária que faça uma "mediação" entre estas duas tabelas.

  • "A relação é de fato muitos para muitos pra necessitar de uma entidade associativa?"

Sim, ela é! Um aluno está frequentando N cursos e um curso ser frequentado por N alunos... "N-N" na cabeça!

Em qualquer Banco de Dados (na vida real) NÃO existe relacionamento "N-N", só existe: "1-1" ou "1-N" (o "N-1" ou "1-N" é o mais comum). Conclusão: É obrigatório a QUEBRA da entidade "N-N". Vida longa e próspera à Entidade Associativa!!!

Por favor, leia e assista também:

==========================================================

Disciplina: Fundamentos de Armazenamento e Manipulação de Dados

Professor: Andre Rodrigo Sanches

AULA: Modelo físico / Modelagem física

https://www.ime.usp.br/~andrers/aulas/bd2005-1/aula9.html

==========================================================

PATO BRANCO

Aula 12 - Chaves estrangeiras no PostgreSQL - Relação Um para Muitos

10 de ago. de 2021

EdiCursos

https://youtu.be/sk55PYlOogE

==========================================================

RELACIONAMENTO E INTEGRIDADE DO BANCO DE DADOS | POSTGRESQL #03

17 de abr. de 2018

Robson V. Leite

https://youtu.be/XAL05B5cCX4

==========================================================

[]'s,

Fabio I.

Olá Fábio!

Comentando somente para agradecer a resposta e as recomendações, foi muito esclarecedor!!

Muito obrigado.

Abraços.

Beleza! Valew por me pontuar Gustavo!