Extensões do Modelo Entidade-Relacionamento Modelo Entidade

Propaganda
Modelo Entidade
Relacionamento Estendido
Pós-graduação em Ciência da Computação
CCM-202 Sistemas de Banco de Dados
Extensões do Modelo
Entidade-Relacionamento
Características
Profa. Maria Camila Nardini Barioni
[email protected]
Bloco B - sala 937
introduz semântica adicional ao modelo ER
utilizado na modelagem de aplicações mais
complexas, tais como CAD/CAM, BD gráficos, BD
geográficos
Conceitos
subclasse, superclasse, hierarquia de herança
generalização, especialização, e restrições
agregação
2° quadrimestre de 2011
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
Herança
Subclasse/Superclasse
de atributos
Subclasse
agrupamento das entidades de um
subgrupo do tipo-entidade
cada entidade que é membro de qualquer uma das
subclasses também é um empregado
4
Generalização
resultado da separação de um tipo-entidade de
nível mais alto (superclasse), formando vários
tipos-entidade de nível mais baixo (subclasse)
passos:
define-se um conjunto de subclasses de um tipoentidade
resultado da união de dois ou mais tipos-entidade
de nível mais baixo (subclasse), produzindo um
tipo-entidade de nível mais alto (superclasse)
é uma abstração de um conjunto de entidades
passos:
suprime-se as diferenças entre os tipos-entidade
identifica-se os atributos em comum
associa-se atributos adicionais específicos às subclasses
estabelece-se tipos-relacionamento adicionais específicos
às subclasses, caso necessário
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
Generalização/Especialização
Especialização
qualquer entidade membro de uma subclasse deve ser
também membro da superclasse
qualquer entidade membro da superclasse pode ser
opcionalmente incluída como membro de qualquer
número de subclasses
3
Generalização/Especialização
instâncias de relacionamento da superclasse são
herdados pelas entidades das subclasses
Observação
superclasse: tipo-entidade empregado
subclasses: secretário, engenheiro, técnico
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
atributos da superclasse são herdados pelas subclasses
de relacionamentos
Exemplo
2
generaliza-os em uma superclasse
5
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
6
1
Representação
nome_empregado
Representação
EMPREGADO
CPF_empregado
nome_empregado
EMPREGADO
tipo_empregado
d
SECRETÁRIO
TÉCNICO
idioma
tipo_empregado
especialização
generalização
ENGENHEIRO
grau_técnico
tipo_engenheiro
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
atributos de secretário =
atributos de
(empregado + secretário)
generalização
bottom-up
d
SECRETÁRIO
TÉCNICO
idioma
7
Representação
nome_empregado
CPF_empregado
especialização
top-down
ENGENHEIRO
grau_técnico
tipo_engenheiro
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
8
Chaves dos Tipos-Entidade
EMPREGADO
CPF_empregado
Restrição de chave do ME-R: todos os
tipos-entidade devem ter uma chave
única
tipo_empregado
semântica
é-um
d
Restrição relaxada para o MER-X
subclasses não precisam ter chave
explicitamente definida
SECRETÁRIO
idioma
TÉCNICO
grau_técnico
ENGENHEIRO
tipo_engenheiro
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
9
Restrições
Especialização definida pelo usuário
as subclasses que participam da hierarquia são
determinadas por uma condição baseada em
algum atributo da superclasse
exemplo: atributo tipo_empregado
denominação:
10
Restrições
Especialização definida pelo atributo
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
o membro da subclasse é determinado pelos
usuários na operação que adicionar uma entidade
à subclasse
um membro é especificado individualmente para cada
entidade pelo usuário
subclasses definidas por predicado (ou definidas por
condição)
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
11
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
12
2
Restrição de Disjunção
Restrição de Completude
Total
Subclasses mutuamente exclusivas
uma entidade de uma superclasse deve ser
membro, quando muito, de apenas uma
subclasse
representação:
d
“d” (disjoint)
Parcial
Subclasses que se sobrepõem
uma entidade de uma superclasse pode ser
membro de mais do que uma subclasse
representação: o
“o” (overlap)
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
13
Observações
uma entidade de uma superclasse pode não
pertencer a qualquer uma das subclasses
representação:
superclasse
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
Modele uma hierarquia de
generalização/especialização para os tipos-entidade
carro e caminhão. Defina as restrições de disjunção e
de completude.
possibilidades de hierarquias
total disjunta
CARRO
parcial disjunta
total com sobreposição
parcial com sobreposição
CAMINHÃO
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
15
Observações
16
Regras de inserção e remoção
se uma entidade de uma superclasse for removida
então ela deve ser automaticamente removida
de todas as subclasses a que pertence
se uma entidade for inserida em uma superclasse
então ela deve ser necessariamente inserida em
todas as subclasses definidas pelo
atributo, quando este for satisfeito
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
código-renavam
chassi
capacidade_carga
preço
número_eixos
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
código-renavam
chassi
número_passageiros
preço
velocidade-máxima
número_portas
Observações
Regras de inserção e remoção
14
Exercício
Restrições de disjunção e de completude
são independentes
cada entidade de uma superclasse deve ser
membro de alguma subclasse na
especialização
superclasse
representação:
17
se uma entidade for inserida em uma superclasse
com especialização total
então ela deve ser necessariamente inserida
em pelo menos uma das subclasses da
especialização
...
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
18
3
CPF_empregado
EMPREGADO
Generalização/Especialização
nome_empregado
tipo_empregado
forma_pagamento
cargo
d
Uma subclasse pode possuir outras
subclasses especificadas a partir dela
Herança simples
d
GERENTE
SECRETÁRIO
ENGENHEIRO
formação
idioma
tipo_engenheiro
TÉCNICO
1
MENSALISTA
gerencia
n
grau_técnico
HORISTA
salário
cada subclasse participa como subclasse em
apenas um relacionamento superclasse/subclasse
Herança múltipla
valor_hora
nro_projeto
cada subclasse pode participar como uma
subclasse em mais do que um relacionamento
superclasse/subclasse
PROJETO
nome_projeto
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
19
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
CPF_empregado
CPF_empregado
EMPREGADO
EMPREGADO
nome_empregado
tipo_empregado
nome_empregado
entidades de
engenheiro_gerente herdam
os
tipo_empregado
atributos e os relacionamentos
d
de empregado, engenheiro,
gerente e mensalista
forma_pagamento
cargo
d
d
GERENTE
SECRETÁRIO
d
SECRETÁRIO
ENGENHEIRO
formação
formação
idioma
tipo_engenheiro
TÉCNICO
MENSALISTA
HORISTA
salário
grau_técnico
ENGENHEIRO_GERENTE
tipo_engenheiro
TÉCNICO
valor_hora
MENSALISTA
subclasse
compartilhada
21
HORISTA
salário
grau_técnico
adicional
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
ENGENHEIRO_GERENTE
valor_hora
adicional
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
22
Agregação
Herança Múltipla
Regra
forma_pagamento
cargo
GERENTE
ENGENHEIRO
idioma
20
É um conceito para a construção de objetos
compostos a partir de seus objetos componentes
se um mesmo atributo ou relacionamento for
herdado mais do que uma vez por diferentes
relacionamentos superclasse/subclasse
então o atributo ou o relacionamento deve ser
incluído apenas uma vez na subclasse
Idéia: elementos de modelagem podem associar-se,
formando outros elementos que representam essa
associação
Pode assumir diversas formas:
Agregando atributos em Tipos-Entidade e TiposRelacionamento
os valores dos atributos compõem a entidade
Agregando Tipos-Entidade e Tipos-Relacionamentos
combinar entidades que estão relacionadas por uma instância
de relacionamento em uma entidade agregada de alto nível
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
23
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
27
4
Representação
Agregação
ALUNO
CPF_pessoa
CGC_univ
nome_pessoa
Tipos-entidades agregados são representados
como tipos-entidades comuns
data_ingresso
n
PESSOA
nome_univ
m
ingressa
UNIVERSIDADE
Engloba
m
dois tipos-entidades e um tipo-relacionamento
o tipo-entidade
aluno é composto dos
tipos-entidade pessoa
e universidade e do
tipo-relacionamento
ingressa
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
28
Agregação
n
CPF_professor
PROFESSOR
nome_professor
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
1o. Caso: O tipo relacionamento tem um
identificador próprio:
1) Quando é necessário identificar cada
relacionamento (o relacionamento tem chave)
2) Quando é necessário mais de um
relacionamento envolvendo as mesmas entidades
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:
Professor M
3) Quando existe a necessidade de associar dois
relacionamentos
N
Orienta
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
30
Título
único
em todonão
o sistema
O Conjunto
Relacionamento
tem de
identificador!!
CCM-202 Sistemas
de Banco de Dados - 2°
quadrimestre
2011
1o. Caso: O tipo relacionamento tem um
identificador próprio:
Tipo Entidade
Agregação
Projeto
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:
NroProf
31
Agregação
Agregação
Professor M
AlunoPós
NroAluno
NroProf
29
Agregação
Situações que indicam a necessidade de
agregação:
a agregação aluno
está relacionada ao
tipo-entidade
professor
orienta
Orienta
Título
N
Professor M
NroProf
AlunoPós
NroAluno
O TipoCCM-202
Relacionamento
não- 2°
tem
identificador!!
Sistemas de Banco de Dados
quadrimestre
de 2011
32
Orienta
N
AlunoPós
NroAluno
Título
Chave:
NroProfessor + NroAluno
ou
Título
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
33
5
Agregação
Agregação
Tipo Entidade
Agregação
Tipo Entidade
Agregação
Projeto
Projeto
Professor M
Orienta
N
Professor M
AlunoPós
NroAluno
NroProf
N
N
AlunoPós
1
NroAluno
NroProf
Título
E se for necessário armazenar
informações sobre as agências de
fomento que financiam cada
projeto?
é
financiado
Título
E se for necessário armazenar
informações sobre as agências de
fomento que financiam cada
projeto?
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
34
Agregação
Agência
Fomento
Nome
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
35
Agregação
2o. Caso: Pode haver mais de um
relacionamento envolvendo as mesmas
entidades
Orienta
2o. Caso: Pode haver mais de um
relacionamento envolvendo as mesmas
entidades
Como identificar cada locação?
Como identificar cada locação?
Data
Locação
Cliente
M
Loca
N
nro
Chave:
nro +
código +
data
DVD
código
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
36
Agregação
CRM
M
Loca
N
DVD
código
nro
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
37
Agregação
3o. Caso: Pode haver a necessidade de
associar dois tipos relacionamentos
Médico M
Cliente
Atende
N
3o. Caso: Pode haver a necessidade de
associar dois tipos relacionamentos
Médico M
Paciente
códps
CRM é:
• A questão agora
com que tipo
entidade existente
o novo tipo
entidade deve ser
associado?
• Suponha que seja necessário alterar esse modelo
do seguinte modo: é necessário saber que
medicamentos existem e que medicamentos
foram prescritos em cada consulta.
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
Atende
38
N
Paciente
códps
Medicamento
nome
laboratório
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
39
6
Agregação
Agregação
3o. Caso: Pode haver a necessidade de
associar dois tipos relacionamentos
Médico M
Atende
N
3o. Caso: Pode haver a necessidade de
associar dois tipos relacionamentos
Consulta
Médico M
Paciente
CRM
códps
N
Atende
Paciente
M
CRM
Prescrição
códps
Prescrição
N
nome
Medicamento
nome
Medicamento
laboratório
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
laboratório
40
Exercício
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
41
Exercício
Considere o esquema ER abaixo:
Considere o esquema ER abaixo:
ENTREVISTA
CPF
CNPJ
CPF
nome
nome
nome
n
CANDIDATO
CNPJ
nome
m
entrevista
n
EMPRESA
CANDIDATO
m
entrevista
EMPRESA
1
Como modelar a situação em que algumas
entrevistas resultam em uma oferta de emprego
(com cargo e salário inicial) e outras não?
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
resulta
1
42
Projeto Lógico de BD
OFERTA DE EMPREGO
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
43
Projeto Lógico de BD
Identificar tipos-relacionamentos e seus
atributos
Classificar tipos-entidades e atributos
cargo
salário
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
determinar o grau dos tipos-relacionamentos
definir tipos-relacionamento ternários cuidadosamente
identificar as restrições que se aplicam sobre cada
tipo-relacionamento
cardinalidade
participação
Identificar chaves primárias
Caso necessário, definir os papéis
Identificar tipo-entidade forte e tipo-entidade
fraca
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
44
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
45
7
Exercícios
Projeto Lógico de BD
Verificar os requisitos de operações
Fazer os exercícios da lista de exercícios
“Modelo Entidade Relacionamento
Estendido”
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
“Podemos notar que um projetista de BD necessita de
um bom conhecimento do minimundo que está sendo modelado
para que possa tomar essas decisões!”
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
46
Bibliografia
47
Leitura complementar para casa
Elmasri, Ramez; Navathe, Shamkant B. Sistemas de
banco de dados. 4 ed. São Paulo: Addison Wesley,
2005, 724 p. Bibliografia: p. [690]-714.
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
Capítulo 4 do livro: Elmasri, Ramez;
Navathe, Shamkant B. Sistemas de banco de
dados.
48
CCM-202 Sistemas de Banco de Dados - 2° quadrimestre de 2011
49
8
Download