Cursos / Informática para Internet / Banco de dados / Aula

arrow_back Aula 05 - Transformações ER para MR e dicionário de dados

Sétimo passo: mapear relacionamento um-para-muitos

Você se lembra da nossa Aula 02? Nela, vimos que um relacionamento um-para-muitos é usado quando uma entidade A pode se relacionar com uma ou mais entidades B. A Figura 6 mostra um relacionamento um-para-muitos no modelo ER.

Relacionamento um-para-muitos no diagrama ER.

Agora veremos como mapear tal relacionamento para o Modelo Relacional. Para definir o relacionamento no MySQL Workbench, você deve primeiro mapear as entidades Empregado e Dependentes para o Modelo Relacional, como já vimos anteriormente. Depois você deve realizar os seguintes subpassos:

  1. Inserir um atributo na tabela Dependentes com o mesmo nome e tipo do atributo chave primária da tabela Empregados, neste caso, o atributo Matricula. Uma dúvida que você pode ter é “como saber onde criar (qual tabela) o novo atributo?”. A resposta para esta dúvida é a seguinte: sempre que você tiver uma relação um-para-muitos ou 1:N, a entidade que estiver do lado N deverá receber o novo atributo com a chave estrangeira. No caso do exemplo, a entidade que está do lado do N é a entidade Dependentes. Ao final deste subpasso, você deve obter algo parecido com a Figura 7. Definindo relacionamento um-para-muitos.
  2. Definir uma chave estrangeira com o atributo Matricula para referenciar a chave primária da tabela Empregado. Ao final deste subpasso, você deve obter algo parecido com a Figura 8. Definindo relacionamento um-para-muitos.
  3. Note que a tabela Dependente possui como chave primária o atributo Nome_Dependente. Esse atributo foi criado durante o mapeamento da entidade Dependente no Modelo ER para o Modelo Relacional. Como você sabe, um atributo chave não pode ter duas tuplas com o mesmo valor. Neste caso, se dois empregados tiverem dois dependentes com o mesmo nome, o SGDB não irá aceitar o cadastro de um deles. Para evitar esse problema, você deve inserir o campo adicionado pelo subpasso 1 como chave primária da tabela. No caso, o campo adicionado foi o campo Matricula. Assim, a tabela Dependente terá como chave primária os campos Nome_Dependente e Matricula. Ao final deste subpasso, você deve obter algo parecido com a Figura 9. Definindo a chave primária de um relacionamento um-para-muitos.

Note que agora dois dependentes podem ter o mesmo nome, desde que eles estejam vinculados a empregados diferentes.

Versão 5.3 - Todos os Direitos reservados