Upload
vinicius-mainardi
View
40
Download
3
Embed Size (px)
Citation preview
Universidade Federal de UberlândiaFaculdade de Engenharia Mecânica
Engenharia Mecatrônica
Banco de dadosProf. Hiran Nonato
Extensão do Modelo Entidade Relacionamento
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
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
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
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
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
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
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
Representação
9Banco de Dados - 2012-2
FuncionárioCPF_func
Nome
Secretário Engenheiro Técnico
Idiomas CREA Especial.
d
Representação
10Banco de Dados - 2012-2
FuncionárioCPF_func
Nome
Secretário Engenheiro Técnico
Idiomas CREA Especial.
d
Especialização
Representação
11Banco de Dados - 2012-2
FuncionárioCPF_func
Nome
Secretário Engenheiro Técnico
Idiomas CREA Especial.
d
EspecializaçãoGeneralização
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
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
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
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
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
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
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
Exemplo mais completo
19Banco de Dados - 2012-2
Prof. Maria Camila – FACOM/UFU
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
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
22Banco de Dados - 2012-2
Prof. Maria Camila – FACOM/UFU
23Banco de Dados - 2012-2
Prof. Maria Camila – FACOM/UFU
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.
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.
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.
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.
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.
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.
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.
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
Agregação
• Tipos-entidades agregadas são representadascomo tipo-entidade comum
• Engloba dois tipos-entidades e um relacionamento
32Banco de Dados - 2012-2
Agregação
33Banco de Dados - 2012-2
Pessoa UniversidadeIngressaN N
Professor
Orienta
Aluno
Agregação
34Banco de Dados - 2012-2
Pessoa UniversidadeIngressaN N
Professor
Orienta
Aluno
Essa relação passa a atuar como uma
entidade “aluno”.
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
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
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
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??
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
Agregação
40Banco de Dados - 2012-2
Professor Aluno-pósOrientaM N
CodProf CodAlunoTítulo
“Orienta” não tem um identificador próprio
Agregação
41Banco de Dados - 2012-2
Professor Aluno-pósOrientaM N
CodProf CodAluno
Título
Projeto
Pode se tornar a chave
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
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.
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
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
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
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
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
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
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
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
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
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
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
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