Bancos de Dados - Aula 07 - Mapeamento MER → Relacional  - Parte II: relacionamentos, cardinalidades

Bancos de Dados - Aula 07 - Mapeamento MER → Relacional - Parte II: relacionamentos, cardinalidades

Mapeamento de Relacionamentos em Bancos de Dados

Introdução ao Mapeamento

  • A aula é conduzida por Sara, que apresenta o tema do mapeamento do modelo entidade-relacionamento para o modelo relacional.
  • O foco inicial é no mapeamento de relacionamentos binários com cardinalidade um para um.

Cardinalidade Um para Um

  • Exemplo: Funcionário e Departamento, onde cada funcionário gerencia apenas um departamento e vice-versa.
  • A participação total do departamento no relacionamento indica que ele deve ter um funcionário gerenciando-o, enquanto o contrário não é obrigatório.

Abordagens de Mapeamento

  • Para mapeamentos com cardinalidade um para um, são identificadas as relações S e T correspondentes às entidades participantes.
  • Três abordagens podem ser utilizadas: chave estrangeira, relação unificada e referência cruzada. A abordagem de chave estrangeira será a principal discutida.

Regras da Abordagem Chave Estrangeira

  • Escolher uma das relações como S e incluir a chave primária da relação T como chave estrangeira na relação S.
  • Todos os atributos simples devem ser incluídos na entidade escolhida como S. No exemplo, a entidade Departamento é escolhida como S.

Implementação do Mapeamento

  • Na relação Departamento, insere-se um atributo que referencia a chave primária da tabela Funcionário (chave estrangeira).
  • O atributo "data de início da gerência" também faz parte do relacionamento entre as entidades.

Outras Abordagens

  • A abordagem de relação unificada e referência cruzada são mencionadas brevemente; mais detalhes serão abordados em exercícios futuros.

Mapeamento de Relacionamentos Um para N

Identificação das Relações

  • Para relacionamentos com cardinalidade um para n ou n para um, identifica-se a relação S representando o tipo entidade que participa do relacionamento.

Exemplo Prático

  • No exemplo "Funcionário trabalha para Departamento", cada funcionário está associado a apenas um departamento, mas cada departamento pode ter vários funcionários.

Construção do Relacionamento

  • O tipo Funcionário representa a relação S e o Departamento representa a relação T no modelo relacional.

Modelo Relacional e Chaves Estrangeiras

Importância das Chaves Estrangeiras

  • O atributo mencionado é uma chave estrangeira na relação "S", referindo-se à chave primária de outra relação, que é a relação "departamento". A integridade referencial é mantida pelo SGBD.
  • Para um funcionário ser associado a um departamento, o valor da chave estrangeira deve corresponder a um departamento já cadastrado no sistema. Essa verificação é realizada pelo SGBD.

Mapeamento de Relações

  • Se invertermos as relações, colocando "departamento" como relação "S" e "funcionário" como relação "T", surgiria um problema, pois um departamento pode ter vários funcionários. Isso exigiria um atributo multivalorado, que não é permitido no modelo relacional.
  • Um exemplo adicional envolve o relacionamento entre departamentos e projetos. Cada departamento pode controlar vários projetos, sendo necessário incluir o atributo correspondente na tabela de projetos para identificar qual projeto pertence a qual departamento.

Relacionamentos Recursivos

  • O relacionamento recursivo ocorre quando um funcionário supervisiona outros funcionários. Cada funcionário tem apenas um supervisor. Para modelar isso, adicionamos um novo atributo ao funcionário que referencia seu supervisor.
  • Este novo atributo atua como uma chave estrangeira que se refere à própria tabela de funcionários, permitindo registrar tanto o funcionário quanto seu supervisor.

Relacionamentos Muitos para Muitos

  • Para mapear relacionamentos muitos para muitos (m:n), criamos uma nova relação específica que representa esse relacionamento. As chaves primárias dessa nova relação são combinações das chaves estrangeiras das entidades envolvidas.
  • No exemplo em questão, os funcionários podem trabalhar em vários projetos e vice-versa. O relacionamento inclui também o atributo "horas", que indica quantas horas cada funcionário dedicará a cada projeto.

Estrutura do Modelo Relacional Completo

  • Ao criar uma nova relação para o mapeamento do trabalho em projetos, incluímos atributos como P número (chave estrangeira do projeto), F idente (chave estrangeira do funcionário), e horas (atributo do relacionamento).
  • Quando lidamos com relacionamentos muitos para muitos, as chaves provenientes de duas tabelas são definidas como a chave primária da nova relação criada para representar essa associação.
Video description

Engenharia de Computação – Bancos de Dados Disciplina EID - 002 - Bancos de Dados Professora responsável: Sarajane Peres Playlist da disciplina: https://www.youtube.com/playlist?list=PLxI8Can9yAHeHQr2McJ01e-ANyh3K0Lfq