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

DÚVIDA_01_Modelagem de bancos (ERxRelacional) : Representando as integridades referenciais

Professor.

Na aula (https://cursos.alura.com.br/course/modelagem-banco-relacional-entidade-relacionamento-modelo-relacional/task/75145), temos o seguinte diagrama: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

DUVIDA:

A relação funcionário x departamento está ou nao invertida?

5 respostas

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.

solução!

Olá Thiago, tudo bem?

Peço desculpas pela demora no retorno.

  • A relação funcionário x departamento está ou não invertida?

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:

Relacionamento entre funcionario e departamento

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.

  • O quê faz mudar algo entre o diagrama de relacionamentos e o banco de dados relacional?

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:

Relacionamento entre funcionario e departamento da forma A

Agora, compare com o diagrama de banco de dados mostrado:

Relacionamento entre a tabela de funcionarios e a tabela de departamentos

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:

Relacionamento entre a tabela de funcionarios e a tabela de departamentos

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

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software