Professor.
Na aula (https://cursos.alura.com.br/course/modelagem-banco-relacional-entidade-relacionamento-modelo-relacional/task/75145), temos o seguinte diagrama:
DUVIDA:
A relação funcionário x departamento está ou nao invertida?
Professor.
Na aula (https://cursos.alura.com.br/course/modelagem-banco-relacional-entidade-relacionamento-modelo-relacional/task/75145), temos o seguinte diagrama:
DUVIDA:
A relação funcionário x departamento está ou nao invertida?
Em aula anterior (https://cursos.alura.com.br/course/modelagem-banco-relacional-entidade-relacionamento-atributo/task/91197) há explicação sobre esse ponto. Entretanto, há a seguinte afirmação sobre a possivel inversão:
[07:54] O que representamos do lado direito é o valor máximo que aparece. Por isso que em um diagrama de entidade-relacionamentos a relação correta é 1 para “n”, se estivéssemos falando de banco de dados relacional, então a cardinalidade seria de “n” para 1.
Duvida: o quê faz mudar algo entre o diagrama de relacionamentos e o banco de dados relacional?
OBS: essa matéria está MUITO confusa.
Aguardando resposta.
Olá Thiago, tudo bem?
Peço desculpas pela demora no retorno.
O instrutor acabou utilizando duas formas de apresentar a cardinalidade durante o curso e como a Nádia explicou para você neste outro tópico, as duas formas estão corretas. Na aula que você mencionou, ele utilizou a notação de cardinalidade minima e maxima, onde representamos a cardinalidade ao lado da entidade, que se trata da forma B que você exemplificou no vídeo que deixou de referência em um outro momento:
A leitura fica da seguinte forma: De funcionário para departamento (lado esquerdo) -> um funcionário trabalha em um e no máximo um departamento. Já de departamento para funcionário (lado direito) -> um departamento tem no mínimo um e no máximo N funcionários.
Tudo depende da forma como você modela o seu diagrama de relacionamentos, pois o que muda é a forma de interpretação. Se você utilizar a forma B, terá que se preocupar em fazer a mudança que o instrutor disse, que se trata apenas de uma inversão, ou seja, onde temos 1 para N viraria N para 1. Porém, se você utilizar a forma A, não terá que se preocupar com isso, pois a modelagem sairá da forma correta tanto para o diagrama quanto para o banco. Vamos modelar a relação entre funcionário e departamento da forma A:
Agora, compare com o diagrama de banco de dados mostrado:
Veja que não há alteração, continuamos com N do lado de funcionários e 1 do lado de departamento, então recorde isso, se representado na forma A, não é necessário a inversão. Já na forma B, a inversão precisa ocorrer para que a chave estrangeira do banco de dados fique do lado correto, pois ela precisa estar do lado N da relação, já que ela se repete na tabela. A chave estrangeira é o identificador que vai de uma tabela do banco de dados para a outra, gerando a relação entre elas. Observe no exemplo abaixo que a chave estrangeira é o id do departamento na tabela de funcionários e esse id do departamento se repete na tabela de funcionários, por isso funcionários é o lado N da relação, ou seja, ele tem vários identificadores da outra tabela, como podemos ver a seguir:
Se deixássemos 1 para N de funcionários para departamento, sem fazer a inversão, estaríamos dizendo que na tabela de departamento poderia ter vários identificadores repetidos de funcionários, dizendo então que um funcionário poderia trabalhar em vários departamentos, o que não é verdade.
Espero ter esclarecido sua dúvida e fico a disposição.
Bons estudos!
Olá, Danielle.
Obrigado pela resposta e elucidação.
Realmente esse curso tem que ser ser remodelado (tanto visual como conceitual) para facilitar o aluno, principalmente os leigos. Nessa questão que perguntei, por facilidade, deveria ser ensinado só um jeito (a forma A), mas informado que há outras (sem ensinar).
Abraços.
Fiz algumas pesquisas paralelas e acho o mesmo que thiago este curso precisa ser remodelado no visual para facilitar o aluno