55
Universidade Federal de Uberlândia Faculdade de Engenharia Mecânica Engenharia Mecatrônica Banco de dados Prof. Hiran Nonato Extensão do Modelo Entidade Relacionamento

6 MER Estendido

Embed Size (px)

Citation preview

Page 1: 6 MER Estendido

Universidade Federal de UberlândiaFaculdade de Engenharia Mecânica

Engenharia Mecatrônica

Banco de dadosProf. Hiran Nonato

Extensão do Modelo Entidade Relacionamento

Page 2: 6 MER Estendido

Na última aula ...

• Modelo Entidade-Relacionamento

– Restrição de participação

– Grau de Tipos-Relacionamento

– Entidade fraca

– Projeto conceitual de BD

2Banco de Dados - 2012-2

Page 3: 6 MER Estendido

Modelo Entidade-Relacionamento estendido

• Criado para projetar esquemas de banco de dadosmais precisos

– Inclui todos os conceitos de modelagem do modelo EE

• Requisitos mais complexos do que as aplicaçõesmais tradicionais

• O MER-X inclui:

– Subclasse e superclasse

– Especialização e Generalização

– Agregação

3Banco de Dados - 2012-2

Page 4: 6 MER Estendido

Subclasse e superclasse

• Uma subclasse é um agrupamento das entidadesde um subgrupo do tipo-entidade

– Superclasse:

• Empregado

• Usuário

– Subclasse:

• Gerente, caixa, atendente, ...

• Professor, aluno, funcionário, ...

4Banco de Dados - 2012-2

Page 5: 6 MER Estendido

Herança

• De atributos

– Atributos da superclasse são herdados pelas subclasses

• De relacionamentos

– Instâncias de relacionamentos da superclasse sãoherdadas pelas entidades das subclasses

5Banco de Dados - 2012-2

Page 6: 6 MER Estendido

Generalização/Especialização

• Especialização

– Separação de um tipo-entidade de nível mais alto(superclasse) , formando tipo-entidade de nível maisbaixo.

– Subclasse pode definir:

• Atributos específicos

• Tipos-relacionamentos específicos

6Banco de Dados - 2012-2

Page 7: 6 MER Estendido

Generalização/Especialização

• Especialização (Passos)

– Define-se um conjunto de subclasses de um tipo-entidade

– Associa-se atributos adicionais específicos às subclasses

– Associa-se relacionamentos adicionais específicos àssubclasses

7Banco de Dados - 2012-2

Page 8: 6 MER Estendido

Generalização/Especialização

• Generalização

– Resultado da união de dois ou mais tipos-entidade deníveis mais baixo (subclasse), produzindo um tipo-entidade de nível mais alto (superclasse)

– Processo reverso da especialização

• Passos

– Identifica-se as diferenças entre os tipos entidade

– Identifica os atributos em comum

– Generaliza-os em uma superclasse

8Banco de Dados - 2012-2

Page 9: 6 MER Estendido

Representação

9Banco de Dados - 2012-2

FuncionárioCPF_func

Nome

Secretário Engenheiro Técnico

Idiomas CREA Especial.

d

Page 10: 6 MER Estendido

Representação

10Banco de Dados - 2012-2

FuncionárioCPF_func

Nome

Secretário Engenheiro Técnico

Idiomas CREA Especial.

d

Especialização

Page 11: 6 MER Estendido

Representação

11Banco de Dados - 2012-2

FuncionárioCPF_func

Nome

Secretário Engenheiro Técnico

Idiomas CREA Especial.

d

EspecializaçãoGeneralização

Page 12: 6 MER Estendido

Representação

12Banco de Dados - 2012-2

FuncionárioCPF_func

Nome

Secretário Engenheiro Técnico

Idiomas CREA Especial.

d

EspecializaçãoGeneralização

Secretário é umFuncionário

Page 13: 6 MER Estendido

Chaves

• No MER todos os tipos-entidades devem ter umachave única

• No MER-X as subclasses não precisar ter chaveexplicitamente definida

13Banco de Dados - 2012-2

Page 14: 6 MER Estendido

Restrições

• Especialização definida pelo atributo– As subclasses que participam da hierarquia são determinadas

por uma condição baseada em algum atributo dasuperclasse.

– Exemplo: atributo tipo_funcionário

– Denominação: subclasses definidas por predicado (oudefinidas por condições)

14Banco de Dados - 2012-2

Page 15: 6 MER Estendido

Restrições

• Especialização definida pelo usuário

– O membro da subclasse é determinado pelo usuário naoperação que adicionar uma entidade à subclasse

– Um membro é especificado individualmente para cadaentidade pelo usuário

15Banco de Dados - 2012-2

Page 16: 6 MER Estendido

Restrição de disjunção

• Subclasses mutuamente exclusivas

– Uma entidade de uma superclasse deve ser membro deapenas uma subclasse

Disjunção:

• Subclasses que se sobrepõem

– Uma entidade de uma superclasse pode ser membro demais do que uma subclasse

Sobreposição:

16Banco de Dados - 2012-2

d

o

Page 17: 6 MER Estendido

Restrição de completude

• Total

– Cada entidade de uma superclasse deve ser membro dealguma subclasse na especialização

• Parcial

– Uma entidade de uma superclasse pode não pertencer aqualquer uma das subclasses

17Banco de Dados - 2012-2

Funcionário

Funcionário

Page 18: 6 MER Estendido

Restrições

• Restrição de disjunção e completude sãoindependentes

– Total disjunta

– Parcial disjunta

– Total com sobreposição

– Parcial com sobreposição

18Banco de Dados - 2012-2

Page 19: 6 MER Estendido

Exemplo mais completo

19Banco de Dados - 2012-2

Prof. Maria Camila – FACOM/UFU

Page 20: 6 MER Estendido

Exercício

• Modelo uma hierarquia de generalização /especialização para os tipos-entidade automóvel,moto, carro, caminhão. Defina as restrições dedisjunção e completude.

20Banco de Dados - 2012-2

Page 21: 6 MER Estendido

Generalização/Especialização

• Uma subclasse pode possuir outras subclassesespecíficas a partir dela

• Herança simples

– Cada subclasse participa como subclasse em apenas umrelacionamento superclasse/subclasse

• Herança múltipla

– Cada subclasse pode participar como uma subclasse emmais do que um relacionamento superclasse/subclasse

21Banco de Dados - 2012-2

Page 22: 6 MER Estendido

22Banco de Dados - 2012-2

Prof. Maria Camila – FACOM/UFU

Page 23: 6 MER Estendido

23Banco de Dados - 2012-2

Prof. Maria Camila – FACOM/UFU

Page 24: 6 MER Estendido

24Banco de Dados - 2012-2

Prof. Maria Camila – FACOM/UFU

Se um atributo ou relacionamento for herdado

mais do que uma vez, ele deve ser incluído apenar

uma vez na subclasse.

Page 25: 6 MER Estendido

Exercícios

25Banco de Dados - 2012-2

FuncionárioCPF_func

Nome

Secretário Engenheiro Técnico

Idiomas CREA Especial.

?

?Um determinado funcionáriopode assumir mais de uma função,além de secretário, engenheiro etécnico.

Page 26: 6 MER Estendido

Exercícios

26Banco de Dados - 2012-2

FuncionárioCPF_func

Nome

Secretário Engenheiro Técnico

Idiomas CREA Especial.

o

Um determinado funcionáriopode assumir mais de uma função,além de secretário, engenheiro etécnico.

Page 27: 6 MER Estendido

Exercícios

27Banco de Dados - 2012-2

AlunoMatricula

Nome

Graduação Lato Strictu

ano Duração Ms/Dc

?

?Um determinado aluno podecursar mais de um curso, massomente cursos de graduação,lato sensu ou strictu sensu.

Page 28: 6 MER Estendido

Exercícios

28Banco de Dados - 2012-2

AlunoMatricula

Nome

Graduação Lato Strictu

ano Duração Ms/Dc

o

Um determinado aluno podecursar mais de um curso, massomente cursos de graduação,lato sensu ou strictu sensu.

Page 29: 6 MER Estendido

Exercícios

29Banco de Dados - 2012-2

?

ContaTitular

Poupança Corrente

Taxa juros n. cartão

?

Número

Existem contas que não sãopoupança nem corrente. Umaconta não pode ser classificadaem mais de um tipo.

Page 30: 6 MER Estendido

Exercícios

30Banco de Dados - 2012-2

NúmeroConta

Titular

Poupança Corrente

Taxa juros n. cartão

d

Existem contas que não sãopoupança nem corrente. Umaconta não pode ser classificadaem mais de um tipo.

Page 31: 6 MER Estendido

Agregação

• É um conceito para construção de objetoscompostos a partir de seus objetos componentes

• Pode assumir várias formas:– Agregando atributos em tipos-entidades e tipos-

relacionamentos

• Os valores dos atributos compõem a entidade

– Agregando tipos-entidades e tipos-relacionamentos

• Combinar entidades que são relacionadas por uma instância derelacionamento em uma entidade agregada de alto nível

31Banco de Dados - 2012-2

Page 32: 6 MER Estendido

Agregação

• Tipos-entidades agregadas são representadascomo tipo-entidade comum

• Engloba dois tipos-entidades e um relacionamento

32Banco de Dados - 2012-2

Page 33: 6 MER Estendido

Agregação

33Banco de Dados - 2012-2

Pessoa UniversidadeIngressaN N

Professor

Orienta

Aluno

Page 34: 6 MER Estendido

Agregação

34Banco de Dados - 2012-2

Pessoa UniversidadeIngressaN N

Professor

Orienta

Aluno

Essa relação passa a atuar como uma

entidade “aluno”.

Page 35: 6 MER Estendido

Agregação

35Banco de Dados - 2012-2

Pessoa UniversidadeIngressaN N

Professor

Orienta

Aluno

Essa relação passa a atuar como uma

entidade “aluno”. A agregação aluno está relacionada com a entidade

professor

Page 36: 6 MER Estendido

Agregação

• Situações que indicam a necessidade de agregação:

1. Quando é necessário identificar cada relacionamento(o relacionamento tem chave)

2. Quando é necessário mais de um relacionamentoenvolvendo as mesmas entidades

3. Quando existe a necessidade de associar doisrelacionamentos

36Banco de Dados - 2012-2

Page 37: 6 MER Estendido

Agregação

• 1º Caso: O tipo-relacionamento tem um identificador próprio:– Nesse caso, embora seja possível identificar a entidade agregação

por um identificador próprio, ela também pode ser identificada pelo relacionamento entre as entidades que participam do relacionamento

37Banco de Dados - 2012-2

Professor Aluno-pósOrientaM N

CodProf CodAluno

Page 38: 6 MER Estendido

Agregação

• 1º Caso: O tipo-relacionamento tem um identificador próprio:– Nesse caso, embora seja possível identificar a entidade agregação

por um identificador próprio, ela também pode ser identificada pelo relacionamento entre as entidades que participam do relacionamento

38Banco de Dados - 2012-2

Professor Aluno-pósOrientaM N

CodProf CodAluno

E o título??

Page 39: 6 MER Estendido

Agregação

• 1º Caso: O tipo-relacionamento tem um identificador próprio:– Nesse caso, embora seja possível identificar a entidade agregação

por um identificador próprio, ela também pode ser identificada pelo relacionamento entre as entidades que participam do relacionamento

39Banco de Dados - 2012-2

Professor Aluno-pósOrientaM N

CodProf CodAlunoTítulo

Page 40: 6 MER Estendido

Agregação

40Banco de Dados - 2012-2

Professor Aluno-pósOrientaM N

CodProf CodAlunoTítulo

“Orienta” não tem um identificador próprio

Page 41: 6 MER Estendido

Agregação

41Banco de Dados - 2012-2

Professor Aluno-pósOrientaM N

CodProf CodAluno

Título

Projeto

Pode se tornar a chave

Page 42: 6 MER Estendido

Agregação

42Banco de Dados - 2012-2

Professor Aluno-pósOrientaM N

CodProf CodAluno

Título

Projeto

Agora precisamos armazenar informações da agência de fomento

Page 43: 6 MER Estendido

Agregação

43Banco de Dados - 2012-2

Professor Aluno-pósOrientaM N

CodProf CodAluno

Título

Projeto

Agora precisamos armazenar informações da agência de fomento

Ag. Fomento

Financ.

Page 44: 6 MER Estendido

Agregação

• 2º Caso: pode haver mais de um relacionamento envolvendo as mesmas entidades:– Como identificar cada locação

44Banco de Dados - 2012-2

Cliente DVDLocaM N

Nro Codigo

Page 45: 6 MER Estendido

Agregação

• 2º Caso: pode haver mais de um relacionamento envolvendo as mesmas entidades:– Como identificar cada locação

Chave: nro +

codigo +

data45Banco de Dados - 2012-2

Cliente DVDLocaM N

Nro Codigo

Data

Page 46: 6 MER Estendido

Agregação

• 3º Caso: pode haver necessidade de associar os tipos relacionamentos

• E se quisermos saber quais medicamentos foram prescritos na consulta? Como fazer isso?

46Banco de Dados - 2012-2

Médico PacienteAtendeM N

CRM Codigo

Page 47: 6 MER Estendido

Agregação

• 3º Caso: pode haver necessidade de associar os tipos relacionamentos

47Banco de Dados - 2012-2

Médico PacienteAtendeM N

CRM Codigo

Prescr.

Medicamento Nome

Page 48: 6 MER Estendido

Agregação

• 3º Caso: pode haver necessidade de associar os tipos relacionamentos

48Banco de Dados - 2012-2

Médico PacienteAtendeM N

CRM Codigo

Prescr.

Medicamento Nome

Page 49: 6 MER Estendido

Agregação

• 3º Caso: pode haver necessidade de associar os tipos relacionamentos

49Banco de Dados - 2012-2

Médico PacienteAtendeM N

CRM Codigo

Atende

Medicamento Nome

M

N

Consulta

Page 50: 6 MER Estendido

Exercícios

• Conside o seguinte MER abaixo

• Como modelar uma situação onde uma entrevista possa resultar em uma contratação, onde a data e o salário deverão ser informados

50Banco de Dados - 2012-2

Candidato EmpresaEntrevistaM N

CPF CNPJ

Page 51: 6 MER Estendido

Exercícios

• Conside o seguinte MER abaixo

51Banco de Dados - 2012-2

Candidato EmpresaEntrevistaM N

CPF CNPJ

Resulta

Contratação data

M

N

Entrevista

Salário

Page 52: 6 MER Estendido

Projeto Lógico de BD

• Classificar tipos-entidades e atributos

– Tipos-entidade possuem informações descritivas, atributos não

– Atributos devem ser mantidos de forma atômica

– Atributos devem ser relacionados às entidades que eles descrevem

• Identificar chave primárias

52Banco de Dados - 2012-2

Page 53: 6 MER Estendido

Projeto Lógico de BD

• Identificar tipos-relacionamentos e seus atributos

– Determinar o grau dos tipos-relacionamentos• Definir tipos-relacionamentos ternários cuidadosamente

– Identificar as restrições que se aplicam sobre cada tipo-relacionamento• Cardinalidade

• Participação

– Caso necessário, definir os papéis

• Identificar tipo-entidade forte e tipo-entidade fraca

53Banco de Dados - 2012-2

Page 54: 6 MER Estendido

Projeto Lógico de BD

• Verificar os requisitos de operações

– Se eles se referirem a dados que não estão modelados, repetir os passos anteriores.

• Modelar hierarquias de generalização

– Identificar atributos e relacionamentos comuns

– Determinar as restrições de disjunção e de completude

• Modelar agregações

54Banco de Dados - 2012-2

Page 55: 6 MER Estendido

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

55Banco de Dados - 2012-2