8 Mapeamento MER-Rel

  • View
    11

  • Download
    2

Embed Size (px)

Text of 8 Mapeamento MER-Rel

  • Universidade Federal de UberlndiaFaculdade de Engenharia Mecnica

    Engenharia Mecatrnica

    Banco de dadosProf. Hiran Nonato

    Transformaes entre modelos (ER Relacional)

    Parte 1

  • At agora na disciplina

    Introduo a Banco de Dados

    Arquitetura de Banco de Dados

    Modelo Entidade-Relacionamento

    Modelo Entidade-Relacionamento Estendido

    Modelo Relacional

    2Banco de Dados - 2012-2

  • At agora na disciplina

    Introduo a Banco de Dados

    Arquitetura de Banco de Dados

    Modelo Entidade-Relacionamento

    Modelo Entidade-Relacionamento Estendido

    Modelo Relacional

    3Banco de Dados - 2012-2

    7 Passos

  • At agora na disciplina

    Introduo a Banco de Dados

    Arquitetura de Banco de Dados

    Modelo Entidade-Relacionamento

    Modelo Entidade-Relacionamento Estendido

    Modelo Relacional

    Gerar relaes a partir das entidades

    4Banco de Dados - 2012-2

    7 Passos

  • Passo 1: Tipo-entidade forte

    Modelo Entidade-Relacionamento Tipo-entidade E

    Atributos a1, a2, a3, ..., na

    Modelo Relacional

    Tabela de n colunas distintas, correspondendo aos n atributos de E

    5Banco de Dados - 2012-2

    Empregado

    cpf

    nome

    idade

  • Passo 1: Tipo-entidade forte

    Modelo Entidade-Relacionamento Tipo-entidade E

    Atributos a1, a2, a3, ..., na

    Modelo Relacional

    Tabela de n colunas distintas, correspondendo aos n atributos de E

    6Banco de Dados - 2012-2

    Empregado

    cpf

    nome

    idade

    Empregado (cpf, nome, idade)

  • Passo 1: Tipo-entidade forte

    Modelo Entidade-Relacionamento Tipo-entidade E

    Atributos a1, a2, a3, ..., na

    Modelo Relacional

    Tabela de n colunas distintas, correspondendo aos n atributos de E

    7Banco de Dados - 2012-2

    Empregado

    cpf

    Nome

    Idade

    Empregado (cpf, nome, idade)

    Atributo Composto

    Atributo derivado

  • Passo 2: Tipo-entidade fraca

    Modelo Entidade-Relacionamento Tipo-entidade forte E

    Tipo-entidade fraca A

    Atributos a1, a2, a3, ..., na

    Modelo Relacional Tabelas de n atributos de A e E, mais chave de E em A

    8Banco de Dados - 2012-2

    Empregado Tem Dependentes

    cpf_emp

    nome_emp

    nome

    sexo

  • Passo 2: Tipo-entidade fraca

    Modelo Entidade-Relacionamento Tipo-entidade forte E

    Tipo-entidade fraca A

    Atributos a1, a2, a3, ..., na

    Modelo Relacional Tabelas de n atributos de A e E, mais chave de E em A

    9Banco de Dados - 2012-2

    Empregado (cpf_emp, nome_emp)Dependentes(cpf_emp, nome, sexo)

    Empregado Tem Dependentes

    cpf_emp

    nome_emp

    nome

    sexo

  • Passo 2: Tipo-entidade fraca

    Modelo Entidade-Relacionamento Tipo-entidade forte E

    Tipo-entidade fraca A

    Atributos a1, a2, a3, ..., na

    Modelo Relacional Tabelas de n atributos de A e E, mais chave de E em A

    10Banco de Dados - 2012-2

    Empregado (cpf_emp, nome_emp)Dependentes(cpf_emp, nome, sexo)

    Empregado Tem Dependentes

    cpf_emp

    nome_emp

    nome

    sexo

  • Passo 3: Tipo-relacionamento (1:1)

    Modelo Entidade-Relacionamento Tipo-relacionamento binrio: E1 relacionando com E2

    Modelo Relacional (3 opes para a FK) Repete-se a PK de E1 em E2 e vice-versa

    Repete-se a PK de E1 em E2

    Repete-se a PK de E2 em E1

    11Banco de Dados - 2012-2

  • Passo 3: Tipo-relacionamento (1:1)

    Modelo Entidade-Relacionamento Tipo-relacionamento binrio: E1 relacionando com E2

    Modelo Relacional (3 opes para a FK) Repete-se a PK de E1 em E2 e vice-versa

    Repete-se a PK de E1 em E2

    Repete-se a PK de E2 em E1

    12Banco de Dados - 2012-2

    Chave primria de uma relao que inserida em outra

    relao

  • Passo 3: Tipo-relacionamento (1:1)

    13Banco de Dados - 2012-2

    Empregado Gerencia Departamento

    cpf_emp

    nome_emp

    cod_dep

    nome_dep

    1 1

  • Passo 3: Tipo-relacionamento (1:1)

    14Banco de Dados - 2012-2

    Empregado Gerencia Departamento

    cpf_emp

    nome_emp

    cod_dep

    nome_dep

    1 1

    Empregado (cpf_emp, nome_emp, cod_dep)Departamento(cod_dep, nome_dep, cpf_emp)

  • Passo 3: Tipo-relacionamento (1:1)

    15Banco de Dados - 2012-2

    Empregado Gerencia Departamento

    cpf_emp

    nome_emp

    cod_dep

    nome_dep

    1 1

    Empregado (cpf_emp, nome_emp, cod_dep)Departamento (cod_dep, nome_dep, cpf_emp)

    Empregado (cpf_emp, nome_emp)Departamento (cod_dep, nome_dep, cpf_emp)

  • Passo 3: Tipo-relacionamento (1:1)

    16Banco de Dados - 2012-2

    Empregado Gerencia Departamento

    cpf_emp

    nome_emp

    cod_dep

    nome_dep

    1 1

    Empregado (cpf_emp, nome_emp, cod_dep)Departamento(cod_dep, nome_dep, cpf_emp)

    Empregado (cpf_emp, nome_emp)Departamento (cod_dep, nome_dep, cpf_emp)

    Empregado (cpf_emp, nome_emp,cod_dep)Departamento (cod_dep, nome_dep)

  • Passo 3: Tipo-relacionamento (1:1)

    17Banco de Dados - 2012-2

    Empregado Gerencia Departamento

    cpf_emp

    nome_emp

    cod_dep

    nome_dep

    1 1

    Empregado (cpf_emp, nome_emp)Departamento (cod_dep, nome_dep, cpf_emp)

    No pode existir Departamento sem gerentePode existir Empregado que no gerencia um Departamento

  • Passo 3: Tipo-relacionamento (1:1)

    Outra forma de mapeamento

    18Banco de Dados - 2012-2

    Homem Namora Mulher

    nome

    idade

    nome

    idadeTempo

  • Passo 3: Tipo-relacionamento (1:1)

    Outra forma de mapeamento

    19Banco de Dados - 2012-2

    Homem(nome, idade)Mulher(nome, idade, nomeH, Tempo)

    Homem Namora Mulher

    nome

    idade

    nome

    idadeTempo

    Homem(nome, idade)Mulher(nome, idade)

    Namoro (nomeH, nomeM, tempo)

  • Passo 4: Tipo-relacionamento (1:N)

    Modelo Entidade-Relacionamento Tipo-relacionamento binrio: E1 relacionando com E2

    Modelo Relacional

    Repete-se a PK de E1 em E2

    A tabela de E1 ter somente os atributos de E1

    A tabela de E2 ter os atributos de E2

    a chave de E1 (Chave estrangeira)

    Os atributos do relacionamento

    20Banco de Dados - 2012-2

  • Passo 4: Tipo-relacionamento (1:N)

    21Banco de Dados - 2012-2

    Empregado Trabalha Departamento

    cpf_emp

    nome_emp

    cod_dep

    nome_dep

    N 1

  • Passo 4: Tipo-relacionamento (1:N)

    22Banco de Dados - 2012-2

    Empregado Trabalha Departamento

    cpf_emp

    nome_emp

    cod_dep

    nome_dep

    N 1

    Empregado (cpf_emp, nome_emp, cod_dep)Departamento (cod_dep, nome_dep)

  • Passo 4: Tipo-relacionamento (1:N)

    Outra forma de mapeamento

    23Banco de Dados - 2012-2

    Empregado Trabalha Departamento

    cpf_emp

    nome_emp

    cod_dep

    nome_dep

    N 1

    Empregado (cpf_emp, nome_emp, cod_dep)Departamento (cod_dep, nome_dep)

    Trabalha(cpf_emp, cod_dep)

    A chave primria do lado N vai para a tabela Trabalha.

  • Passo 4: Tipo-relacionamento (1:N)

    Outra forma de mapeamento

    24Banco de Dados - 2012-2

    Empregado Trabalha Departamento

    cpf_emp

    nome_emp

    cod_dep

    nome_dep

    N 1

    Empregado (cpf_emp, nome_emp, cod_dep)Departamento (cod_dep, nome_dep)

    Trabalha(cpf_emp, cod_dep)

    A chave primria do lado N vai para a tabela Trabalha.

    Evita valores null

  • Passo 5: Tipo-relacionamento (N:M)

    Modelo Entidade-Relacionamento Tipo-relacionamento binrio: E1 relacionando com E2

    Modelo Relacional

    A tabela de E1 ter somente os atributos de E1

    A tabela de E2 ter somente os atributos de E2

    A tabela R (relacionamento) ter:

    A chave primria de E1

    A chave primria de E2

    Os atributos do tipo-relacionamento

    Chave primria de R (PK de E1 + PK de E2)

    25Banco de Dados - 2012-2

  • 26Banco de Dados - 2012-2

    Empregado Desenvolve Projeto

    cpf_emp

    nome_emp

    cod_proj

    nome_proj

    N N

    Passo 5: Tipo-relacionamento (N:M)

    qtd_horas

  • 27Banco de Dados - 2012-2

    Empregado Desenvolve Projeto

    cpf_emp

    nome_emp

    cod_proj

    nome_proj

    N N

    Empregado (cpf_emp, nome_emp)Projeto (cod_proj, nome_proj)

    Desenvolve (cpf_emp, cod_proj, qtd_horas)

    Passo 5: Tipo-relacionamento (N:M)

    qtd_horas

  • 28Banco de Dados - 2012-2

    Empregado

    Supervisiona

    cpf_emp

    nome_emp

    Tipo-relacionamento Unrio

    Supervisor

    Supervisionado

    1

    N

  • 29Banco de Dados - 2012-2

    Empregado

    Supervisiona

    cpf_emp

    nome_emp

    1

    Empregado (cpf_emp, nome_emp, supervisor)

    Tipo-relacionamento Unrio

    Supervisor

    SupervisionadoN

  • Passo 6: Atributos multivalorados

    Duas opes de mapeamento

    Para cada atributo multivalorado cria-se uma nova relao

    Para cada valor possvel do atributo multivalorado cria-se um atributo monovalorado na mesma relao

    30Banco de Dados - 2012-2

    Empregado

    cpf_emp

    nome_emp

    telefones

  • Passo 6: Atributos multivalorados

    Para cada atributo multivalorado cria-se uma nova relao

    31Banco de Dados - 2012-2

    Empregado

    cpf_emp

    nome_emp

    telefones

    Empregado (cpf_emp, nome_emp, supervisor)Telefones (cpf_emp, telefone)