30
Universidade Federal de Uberlândia Faculdade de Engenharia Mecânica Engenharia Mecatrônica Banco de dados Prof. Hiran Nonato Transformações entre modelos (ER-X Relacional) Parte 2

9 Mapeamento MERX-Rel

Embed Size (px)

Citation preview

Universidade Federal de UberlândiaFaculdade de Engenharia Mecânica

Engenharia Mecatrônica

Banco de dadosProf. Hiran Nonato

Transformações entre modelos (ER-X Relacional)

Parte 2

Última aula (7 passos)

1. Mapear todos os tipos-entidade forte

2. Mapear todos os tipos-entidade fraca

3. Mapear todos os tipos-relacionamento 1:1

4. Mapear todos os tipos-relacionamento 1:N

5. Mapear todos os tipos-relacionamento N:M

6. Mapear todos os atributos multivalorados

7. Mapear todos os tipos-relacionamento de grau > 2

2Banco de Dados - 2012-2

Última aula (7 passos)

1. Mapear todos os tipos-entidade forte

2. Mapear todos os tipos-entidade fraca

3. Mapear todos os tipos-relacionamento 1:1

4. Mapear todos os tipos-relacionamento 1:N

5. Mapear todos os tipos-relacionamento N:M

6. Mapear todos os atributos multivalorados

7. Mapear todos os tipos-relacionamento de grau > 2

3Banco de Dados - 2012-2

E o MER-X.

Mapeamento do MER-X

1. Mapear todos os tipos-entidade forte que não são subclasses

2. Mapear todos os tipos-entidade fraca que não são subclasses

3. Mapear todos os tipos-relacionamento 1:1

4. Mapear todos os tipos-relacionamento 1:N

5. Mapear todos os tipos-relacionamento N:M

6. Mapear todos os atributos multivalorados

7. Mapear todos os tipos-relacionamento de grau > 2

8. Mapear ocorrências de Generalização/Especialização

4Banco de Dados - 2012-2

Generalização/Especialização (1)

• Modelo Entidade Relacionamento

– E1 é superclasse

– E2, .... En são subclasses de E1

• Modelo Relacional

– A relação E1 será composta pelos atributos de E1

– As relações de E2 a En serão compostas pelos atributos:• Os atributos de E2

• A chave primária de E1

5Banco de Dados - 2012-2

Generalização/Especialização (1)

6Banco de Dados - 2012-2

Usuário

Aluno Professor

Matrícula SIAPE

d

CodUsuario

Nome

Generalização/Especialização (1)

7Banco de Dados - 2012-2

Usuário (codusuario, nome)Aluno (codusuario, matricula)Professor (codusuario, siape)

Empregado

Aluno Professor

Matrícula SIAPE

d

CodUsurio

nome

Generalização/Especialização (1)

8Banco de Dados - 2012-2

Empregado

Secretario Engenheiro

Setor Formação

d

Codempregado

nome

Tecnico

Conselho

Generalização/Especialização (1)

9Banco de Dados - 2012-2

Empregado (codempregado, nome)Secretario (codempregado, setor)

Tecnico (codempregado, conselho)Engenheiro (codempregado, formacao)

Empregado

Secretario Engenheiro

Setor Formação

d

Codempregado

nome

Tecnico

Conselho

Generalização/Especialização (1)

• Essa opção funciona para qualquer tipo de especialização– total, parcial, disjunta e sobreposta

• Interessante quando

– Existem poucas classes, cada uma com diversos atributos específicos

– Uma consulta tipicamente se concentra em uma ou poucas subclasses de cada vez

10Banco de Dados - 2012-2

Generalização/Especialização (2)

• Modelo Entidade Relacionamento

– E1 é superclasse

– E2 .... En são subclasses de E1

• Modelo Relacional

– As relações de E2 a En serão compostas pelos atributos:• Os seus próprios atributos

• Os atributos de E1

• A chave primária de E1

– A chave primária será a chave de E1

11Banco de Dados - 2012-2

Generalização/Especialização (2)

12Banco de Dados - 2012-2

Secretario (codempregado, nome, setor)Tecnico (codempregado, nome, conselho)

Engenheiro (codempregado, nome, formacao)

Empregado

Secretario Engenheiro

Setor Formação

d

Codempregado

nome

Tecnico

Conselho

Generalização/Especialização (2)

• Essa opção funciona apenas para participação total– É mais adequada para disjunção, mais suporta sobreposição

• Interessante quando– É freqüente o acesso a cada entidade em sua totalidade,

incluindo-se seus dados genéricos e específicos

– Esta opção evita junção no processo de consultas

• Não interessante quando– Houver a necessidade freqüente de acessar informações

envolvendo todas as entidades genéricas

– Houver a possibilidade de existirem especializações não previstas a priori

13Banco de Dados - 2012-2

Generalização/Especialização (3)

• Modelo Entidade Relacionamento

– E1 é superclasse

– E2 .... En são subclasses de E1

• Modelo Relacional

– A relação E1 será composta pelos atributos:• Os atributos de E1

• Os atributos de E2, ...., En

• Um atributo discriminador, caso necessário

14Banco de Dados - 2012-2

Generalização/Especialização (3)

15Banco de Dados - 2012-2

Empregado (codempregado, nome, setor, conselho, formacao, tipoempregado)

Empregado

Secretario Engenheiro

Setor Formação

d

Codempregado

nome

Tecnico

Conselho

Generalização/Especialização (3)

16Banco de Dados - 2012-2

Empregado (codempregado, nome, setor, conselho, formacao, tipoempregado)

Empregado

Secretario Engenheiro

Setor Formação

d

Codempregado

nome

Tecnico

Conselho

Sobreposição

Generalização/Especialização (3)

• Interessante para subclasses disjuntas

• Muitos campos nulos

17Banco de Dados - 2012-2

Generalização/Especialização (4)

• Modelo Entidade Relacionamento

– E1 é superclasse

– E2 .... En são subclasses de E1

• Modelo Relacional

– A relação E1 será composta pelos atributos:• Os atributos de E1

• Os atributos de E2, ...., En

• Vários atributos discriminadores de valores booleanos

18Banco de Dados - 2012-2

Generalização/Especialização (4)

19Banco de Dados - 2012-2

Empregado (codempregado, nome, secretario, setor, tecnico, conselho, engenheiro, formacao)

Empregado

Secretario Engenheiro

Setor Formação

d

Codempregado

nome

Tecnico

Conselho

Generalização/Especialização (4)

• Interessante quando– Existem poucos atributos específicos nas subclasses

– Houver a possibilidade de existirem especializações (sem atributo específico) não prevista à priori

20Banco de Dados - 2012-2

Exercício 1

21Banco de Dados - 2012-2

Exercício 2

22Banco de Dados - 2012-2

Agregação

• Para mapear ocorrências de agregação– Considerar cada um dos casos como o tipo-entidade

resultante da agregação é identificado

– Levar em consideração as chavess dos tipos-entidades componentes, o tipo-relacionamento gerador, os atributos do tipo-relacionamento gerador, o tipo-entidade agregação, e os atributos do tipo-entidade agregação

23Banco de Dados - 2012-2

Agregação (1)

• Deve ser usada– Quando o tipo-entidade agregação é identificado por atributo

próprio + chaves dos tipos-entidades que participam do tipo-relacionamento gerador

– Uma mesma instancia do tipo-relacionamento gerador resulta em mais de uma entidade agregada

24Banco de Dados - 2012-2

Agregação (1)

25Banco de Dados - 2012-2

Médico PacienteAtendeN M

Consulta

CRM

Nome

RG

Nome

Data

Paciente (RG, nome)Medico (CRM, nome)

Consulta (RG, CRM, Data)

Agregação (2)

• Deve ser usada– Quando o tipo-entidade agregação é identificado por um de

seus atributos

– Em geral o atributo é identificador da agregação era identificador do tipo-relacionamento gerador

26Banco de Dados - 2012-2

Agregação (2)

27Banco de Dados - 2012-2

Professor Aluno-pósOrientaN M

Projeto

Nro Func

Nome

Matri

Nome

Título

Professor (NroFunc, nome)Alunopos (Matricula, nome)

Projeto (Título, Professor, Aluno)

Agregação (3) Mistura da 1ª e 2ª opção

28Banco de Dados - 2012-2

Médico PacienteAtendeN M

Consulta

CRM

Nome

RG

Nome

Data

Paciente (RG, nome)Medico (CRM, nome)

Consulta (NroRegistro, data, RGPa, CRMMe)

NroRegistro

Exercícios para apresentação (05/01)

• Fazer um modelo entidade-relacionamento que consiga estabelecer as restrições possíveis para o minimundo “Facebook”.

• Este modelo deve contemplar questões, como:

– Perfil

– Conversas (Mensagens)

– Amigos

– Páginas

– Eventos

– Fotos

– Grupos

• Fazer o mapeamento para o modelo Relacional

• Fazer a inserção de pelo menos 5 registros em cada tabela.

29Banco de Dados - 2012-2

Bibliografia

• Elmasri, Ramez; Navathe, Shamkant B. Sistemas de banco de dados. 4 ed. São Paulo: Addison Wesley, 2005, 724 p.

• Slides das Professoras Maria Camila – FACOM/UFU

30Banco de Dados - 2012-2