1
resposta

[Dúvida] Quais seriam as entidades fortes e fracas nesse caso? Revisão

Em relação a dúvida do Luiz sobre as entidades fortes e fracas, na explicação foi apresentado que a Sessão seria uma entidade forte. Porém, essa entidade não depende diretamente da entidade Conferência para existir?

Na explicação da instrutora: "As conferências podem ser compostas por várias sessões temáticas diferentes." Ou seja, podem também não ter sessão. E se houver uma sessão, a data (por exemplo), estaria relacionada diretamente com a data de realização da conferência correto?

1 resposta

Oi Wellington, tudo bem?

Essa questão pode ser um pouco confusa mesmo! Para ficar mais claro, podemos nos basearmos nos conceitos:

  • Entidades fortes possuem uma chave primária própria e podem ser identificadas independentemente.
  • Entidades fracas não possuem chave primária própria e dependem da chave primária de outra entidade para existir.

No caso da Sessão, embora ela faça sentido apenas dentro do contexto de uma Conferência, ela possui atributos próprios que permitem identificá-la de forma única. Isso a torna uma entidade forte. O fato de uma Sessão sempre estar vinculada a uma Conferência pode ser garantido por uma chave estrangeira (id_conferencia), mas isso não a torna fraca, pois sua identificação não depende diretamente de uma chave da Conferência.

Um exemplo similar é em um contexto de empresa, com as entidades Departamentos e Funcionários:

  • Um Departamento só faz sentido dentro de uma empresa e, em algumas regras de negócio, pode ser exigido que ele tenha pelo menos um funcionário.
  • Ainda assim, ele possui uma chave primária própria (id_departamento) e pode ser identificado sem precisar "herdar" a chave de um Funcionário. Ele sempre vai existir mesmo estando "fechado" momentaneamente.

Quanto a dúvida sobre as datas, sim, a data de realização da Conferência define o intervalo de tempo no qual as Sessões podem ocorrer. Mas, cada Sessão pode ter uma data e horário específicos dentro desse período, o que justifica manter um atributo próprio para isso.

Espero ter esclarecido e fico à disposição em caso de dúvida!

Abraço!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado