Banco de dados - Mapeamento MER - Relacional

1.082 visualizações

Publicada em

Primeiros passos para conversão de um diagrama entidade-relacionamento para tabelas do modelo relacional.

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.082
No SlideShare
0
A partir de incorporações
0
Número de incorporações
212
Ações
Compartilhamentos
0
Downloads
31
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Banco de dados - Mapeamento MER - Relacional

  1. 1. • Após o projeto conceitual do banco de dados, passamos para o projeto lógico; • Nesta etapa, recebemos um esquema conceitual e o convertemos para um esquema lógico; – Particularmente, vamos estudar como converter um diagrama entidade-relacionamento para um conjunto de tabelas do modelo relacional; • Esta conversão é feita através de sete regras; Mapeamento MER - Relacional
  2. 2. • Regra 1: Mapeamento de Entidades Fortes – Cada entidade forte deve ser transformada em uma relação; – Todos os atributos simples da entidade devem ser incluídos na relação; – Apenas os componentes simples dos atributos compostos devem ser incluídos na relação; – Um dos atributos chaves da entidade deve ser escolhido como chave primária da relação; Mapeamento MER - Relacional
  3. 3. • Regra 1: Mapeamento de Entidades Fortes – Exemplo: Seja a entidade Empregado abaixo: Mapeamento MER - Relacional
  4. 4. • Regra 1: Mapeamento de Entidades Fortes: – Exemplo: Pela aplicação da Regra1, temos a seguinte relação: • Empregado (Matrícula, Nome, Salário, Rua, Número, Bairro, Cidade, UF, CEP); Mapeamento MER - Relacional
  5. 5. • Regra 2: Mapeamento de Entidades Fracas – Cada entidade fraca deve ser transformada em uma relação, seguindo as mesmas restrições da Regra 1 para os seus atributos simples e compostos; – Incluir os atributos da chave primária da tabela dominante como chave estrangeira da relação; – A chave primária da relação deve ser a combinação dos atributos da chave primária da relação dominante e da chave da entidade fraca; Mapeamento MER - Relacional
  6. 6. • Regra 2: Mapeamento de Entidades Fracas – Exemplo: Sejam as duas entidades abaixo relacionadas; Mapeamento MER - Relacional
  7. 7. • Regra 2: Mapeamento de Entidades Fracas – Exemplo: • Temos as seguintes relações: • Empregado (Matrícula, Nome, Salário, Rua, Número, Bairro, Cidade, UF, CEP); • Dependente (MatriculaEmpregado, Nome, Parentesco), pela aplicação da Regra 2; Mapeamento MER - Relacional
  8. 8. • Regra 3: Mapeamento de Relacionamentos Um para Um: – Deve-se identificar as entidades que participam do relacionamento; – Existem três soluções possíveis: • Escolha da chave estrangeira; • Relacionamento incorporado; • Relação de relacionamento; Mapeamento MER - Relacional
  9. 9. • Regra 3: Mapeamento de Relacionamentos Um para Um: – Escolha da chave estrangeira: • Deve-se escolher uma das relações e inserir nela a chave estrangeira da outra relação; – Geralmente, as entidades com participação total no relacionamento exercem este papel, ou seja recebem a chave estrangeira; • Incluir também todos os atributos do relacionamento como atributos da tabela; • É a solução mais utilizada para mapear este tipo de relacionamento; Mapeamento MER - Relacional
  10. 10. • Regra 3: Mapeamento de Relacionamentos Um para Um: – Escolha da chave estrangeira: • Exemplo: Sejam as entidades mostradas abaixo: Mapeamento MER - Relacional
  11. 11. • Regra 3: Mapeamento de Relacionamentos Um para Um: – Escolha da chave estrangeira: • Exemplo: – Temos as seguintes relações: – Empregado (Matrícula, Nome, Salário, Rua, Número, Bairro, Cidade, UF, CEP), pela aplicação da Regra 1; – Departamento (Código, Nome, Gerente, DataInício), pela aplicação da Regra 3 com a escolha da chave estrangeira; Mapeamento MER - Relacional
  12. 12. • Regra 3: Mapeamento de Relacionamentos Um para Um: – Relação incorporada: • Incorporar as duas entidades e o relacionamento em uma única relação; • Solução utilizada quando as duas entidades têm participação total no relacionamento; – Relação de relacionamento: • O relacionamento é transformado em uma relação; • A relação incorpora a chave primária das duas entidades como chave estrangeira; Mapeamento MER - Relacional
  13. 13. • Regra 4: Mapeamento de Relacionamentos Um para Muitos: – Deve-se incluir a chave primária da relação que representa a entidade que aparece do lado “1” do relacionamento como chave estrangeira na outra relação; – Isto acontece porque cada instância da outra entidade está relacionada a apenas uma instância da outra entidade; – Incluir também os atributos do relacionamento na relação que contém a chave estrangeira; Mapeamento MER - Relacional
  14. 14. • Regra 4: Mapeamento de Relacionamentos Um para Muitos: – Exemplo: Sejam as duas entidades abaixo relacionadas; Mapeamento MER - Relacional
  15. 15. • Regra 4: Mapeamento de Relacionamentos Um para Muitos – Exemplo: • Temos as seguintes relações; • Departamento (Codigo, Nome); • Empregado (Matrícula, Nome, Salário, Rua, Número, Bairro, Cidade, UF, CEP, CodDepto); Mapeamento MER - Relacional
  16. 16. • Regra 5: Mapeamento de Relacionamentos Muitos para Muitos – Deve-se criar uma nova relação para o relacionamento; – Incluir as chaves primárias das duas entidades que participam do relacionamento na relação; • A combinação destas chaves formará a chave primária da relação; – Incluir também na relação os atributos do relacionamento; Mapeamento MER - Relacional
  17. 17. • Regra 5: Mapeamento de Relacionamentos Muitos para Muitos – Exemplo: Sejam as entidades abaixo: • Mapeamento MER - Relacional
  18. 18. • Regra 5: Mapeamento de Relacionamentos Muitos para Muitos – Exemplo: • Teremos as seguintes relações: • Empregado (CodEmp, Nome, Salário, Endereço); • Projeto (CodProjeto, NomeProjeto); • Trabalha(CodEmp, CodProjeto, NumHoras) Mapeamento MER - Relacional
  19. 19. • Regra 6: Mapeamento de atributos multivalorados – Deve-se criar uma nova relação para o atributo multivalorado; – Inlcuir na relação o atributo multivalorado; – Inlcuir a chave primária da relação que representa a entidade ao qual o atributo está associado como chave estrangeira; – A chave primária será a combinação da chave estrangeira e do atributo multivalorado; Mapeamento MER - Relacional
  20. 20. • Regra 6: Mapeamento de atributos multivalorados – Exemplo: Vamos considerar a entidade abaixo: Mapeamento MER - Relacional
  21. 21. • Regra 6: Mapeamento de atributos multivalorados – Exemplo: • Teremos as seguintes relações: • Cliente (CodCliente, Nome, CPF, Salário); • TelefoneCliente (CodCliente, Telefone); Mapeamento MER - Relacional
  22. 22. • Regra 7: Mapeamento de relacionamentos n- ários – Para relacionamentos n-ários (n>2), deve-se criar uma nova relação para representar o relacionamento; – As chaves primárias de cada relação que representa uma entidade participante do relacionamento devem ser inseridas na relação; Mapeamento MER - Relacional
  23. 23. • Regra 7: Mapeamento de relacionamentos n- ários – Os atributos do relacionamento também devem ser inclusos na relação; – A chave primária da relação será a combinação das chaves primárias das relações; Mapeamento MER - Relacional
  24. 24. • Regra 7: Mapeamento de relacionamentos n- ários – Exemplo: Seja o relacionamento abaixo: Mapeamento MER - Relacional
  25. 25. • Regra 7: Mapeamento de relacionamentos n- ários – Exemplo: • Teremos as seguintes relações: • Aluno (Matrícula, Nome, Telefone); • Disciplina (Código, Nome, CargaHorária); • Semestre (Codigo, Titulo); • Matrícula (MatrículaAluno, CodDisciplina, CodSemestre) Mapeamento MER - Relacional
  26. 26. • Regra 8: Mapeamento de Generalização – Duas alternativas: • Criação de uma tabela para cada entidade mapeada: – As entidades mais especializadas recebem a chave primária da tabela genérica • Criação de uma tabela para cada entidade especializada: – As tabelas especializadas agregam todos os atributos presentes na entidade genérica Mapeamento MER - Relacional
  27. 27. • Vamos agora converter um DER que descreve um domínio acadêmico para o modelo relacional; • A conversão será feita usando as sete regras do algoritmo de mapeamento; • O DER utilizado é mostrado no próximo slide; Estudo de Caso
  28. 28. • Pela Regra 1, temos o mapeamento das entidades fortes; • Obtemos as seguintes relações: – Departamento (Codigo, Nome); – Professor (Matrícula, Nome); – Curso (Codigo, Nome); – Disciplina (Codigo, Nome, CargaHoraria); – Semestre (Codigo, Titulo); – Aluno (Matrícula, Nome, Telefone); Estudo de Caso
  29. 29. • O mapeamento da classe Dependente é feito pela Regra 2: – Encontramos a seguinte relação: • Dependente(MatriculaProfessor, Nome, Parentesco); Estudo de Caso
  30. 30. • Pela Regra 3, mapeamos o relacionamento “gerenciado” entre Departamento e Professor; – A relação Departamento fica com a seguinte forma: • Departamento (Codigo, Nome, Gerente); • O atributo Gerente é uma chave estrangeira que faz referência à matrícula do professor que gerencia o departamento; • O método usado foi o da escolha da chave estrangeira; Estudo de Caso
  31. 31. • Pela Regra 4, mapeamos os seguintes relacionamentos: – O relacionamento “possui” entre Departamento e Professor: • Professor (Matrícula, Nome, CodDepto); – O relacionamento “oferece” entre Departamento e Curso: • Curso (Codigo, Nome, CodDepto); Estudo de Caso
  32. 32. • Pela Regra 4, mapeamos os seguintes relacionamentos: – O relacionamento “responsável” entre Departamento e Disciplina; • Disciplina (Codigo, Titulo, CodDepto); – O relacionamento “possui” entre Curso e Aluno; – Aluno (Matrícula, CodCurso, Nome, Telefone); Estudo de Caso
  33. 33. • Pela Regra 5, mapeamos os seguintes relacionamentos: – O relacionamento “possui” entre Curso e Disciplina; • DisciplinaCurso (CodDisciplina, CodCurso); • Note que as chaves primárias das duas tabelas são colocadas como chaves estrangeiras na nova relação; • A combinação das duas chaves estrangeiras forma a chave primária da relação; Estudo de Caso
  34. 34. • Pela Regra 6, mapeamos o atributo multivalorado “Telefone”, da classe Aluno: – TelefoneAluno (MatrículaAluno, Telefone); – Note que uma nova relação é criada para mapear este atributo; – A chave primária da tabela que representa a entidade ao qual o atributo está relacionado é incluída como chave estrangeira na relação criada; Estudo de Caso
  35. 35. • Pela Regra 7, mapeamos os seguintes relacionamentos: – O relacionamento “leciona”, entre Professor, Disciplina e Semestre; • Leciona (MatrículaProfessor, CodDisciplina, CodSemestre); • Note que a chave primária das relações que representam as três entidades que compõem o relacionamento são inclusas como chaves estrangeiras; • A combinação destas chaves formam a chave primária da relação; Estudo de Caso
  36. 36. • Pela Regra 7, mapeamos os seguintes relacionamentos: – O relacionamento “cursada”, entre Disciplina, Aluno e Semestre; • MatrículaDisciplina (CodDisciplina, MatrículaAluno, CodSemestre); Estudo de Caso
  37. 37. • No fim, temos o seguinte esquema lógico relacional: – Departamento (Codigo, Nome, Gerente); – Professor (Matrícula, Nome, CodDepto); – Curso (Codigo, Nome, CodDepto); – Disciplina (Codigo, Nome, CargaHoraria, CodDepto); – Semestre (Codigo, Titulo); – Aluno (CodCurso, Matrícula, Nome, Telefone); Estudo de Caso
  38. 38. • No fim, temos o seguinte esquema lógico relacional: – DisciplinaCurso (IDDisciplina, IDCurso); – TelefoneAluno (MatrículaAluno, IDCurso, Telefone); – Leciona (MatrículaProfessor, IDDisciplina, IDSemestre); – MatrículaDisciplina (IDDisciplina, MatrículaAluno, IDCurso, IDSemestre); – Dependente(MatriculaProfessor, Nome, Parentesco); Estudo de Caso
  39. 39. • Para facilitar o seu entendimento, o esquema relacional gerado deve ser descrito em um dicionário de dados; • Este dicionário deve conter as seguintes informações: – Descrição de todas as relações; – Descrição de cada atributo das relações; • Tipo de dado, restrições, etc; Considerações Finais
  40. 40. • Exemplo de descrição da relação Departamento: Departamento: Relação que armazena os dados de cada departamento da instituição Atributo Descrição Tipo Restrições Codigo Atributo que representa o código de identificação do departamento String  Chave Primária Nome Atributo que representa o nome do departamento String  Não Nulo Gerente Atributo que armazena o código do professor que gerencia o departamento String  Não Nulo;  Chave estrangeira que referencia o atributo “Matrícula” da relação “Professor” Considerações Finais

×