Buscar

aula 4 - mer (parte 2)

Prévia do material em texto

IF64A-Banco de Dados 1
pbugatti@utfpr.edu.br
Prof. Pedro Henrique Bugatti
Aula AnteriorAula Anterior
` MER – Modelo Entidade-Relacionamento
` Conjunto de Entidades
` Conjunto de Relacionamentos
` Atributos
` Restrição de Unicidade
` Cardinalidade
` Papéis no Relacionamento
Modelo conceitual (projeto conceitual)
Modelo de dados abstrato que descreve a
estrutura de um banco de dados
2
estrutura de um banco de dados
independente de um SGBD
Auto RelacionamentoAuto-Relacionamento
Empregado PessoaEmpregado
supervisor
Pessoa
EsposaMaridosupervisionado
N
supervisiona
11
casadoCom
1
João
supervisionada
R b
esposa
João
Pedro
Paulo
M i
supervisor
Roberto
Pedro
Felipe marido
3
Maria Ana
Roteiro AulaRoteiro Aula
` Restrição de Participação
` Entidade Fraca
` MER-X – Modelo Entidade-Relacionamento Estendido
` Agregação` Agregação
4
Conjunto de Relacionamentos
▪ Considere o exemplo: 
j
Curso DisciplinaPossui
N1
¾ S d i d i i di i li ? 
Curso
¾ Se um curso deixar de existir, o que acontece com suas disciplinas? 
¾ Faz sentido guardar as disciplinas de um curso que não existe mais? 
¾ Uma disciplina pode existir sem estar associada a um Curso?
5
Conjunto de Relacionamentos
▪ ex: toda entidade Disciplina deve estar associada a 
l C
j
pelo menos um Curso
Curso DisciplinaPossui
N1
Participação Total de Disciplina em Possui
6
Conjunto de Relacionamentos Conjunto de Relacionamentos –
Restrição de Participação
R t i ã d P ti i ã 
ç p ç
▪ Restrição de Participação 
Restrição Restrição EstruturalEstrutural
▪ Participação Total
▪ Participação Parcial
7
p ç
Conjunto de Relacionamentos Conjunto de Relacionamentos –
Participação Total
▪ Participação Total ou Dependência Dependência 
p ç
ExistencialExistencial
▪ toda entidade de um CE deve participar, 
obrigatoriamente, de ao menos um g
relacionamento do CR
▪ uma entidade só existe se estiver associada a 
outra entidade por meio de um relacionamento 
8
Conjunto de Relacionamentos Conjunto de Relacionamentos –
Participação Total
▪ ex: toda entidade Disciplina deve 
( b i i !) i i d l i 
p ç
(obrigatoriamente!) participar de um relacionamento 
Possui deve estar associada a uma entidade 
CursoCurso
▪ Notação DER: linha dupla conectando o CE ao CR
Curso DisciplinaPossui
N1
9
Participação Total de Disciplina em Possui
Conjunto de Relacionamentos Conjunto de Relacionamentos –
Participação Parcial
▪▪ Participação Parcial Participação Parcial nem todas as entidades 
p ç
de um CE participam de um CR
▪ uma entidade pode existir sem estar associada a outra
N ã DER li h i l d CE CR▪ Notação DER: linha simples conectando o CE ao CR
Aluno DisciplinaMonitora
NN
Aluno
10
Participação Parcial de Aluno em Monitora
Conjunto de RelacionamentosConjunto de Relacionamentos
` Considere o exemplo:
Turma DisciplinaPossui
1N
Sigla
NomeNro
N Al gNro Alunos
Como identificar uma turma na SEMÂNTICA do 
d í i d li ã ? 
11
domínio de aplicação? 
Conjunto de Relacionamentos Conjunto de Relacionamentos –
Entidade Fraca
T DisciplinaPossui
1N
Turma DisciplinaPossui
Nome
Sigla
NomeNro
Nro Alunos
uma Turma é identificada por meio da Disciplina à qual está associada
ENTIDADE FRACA!
12
Conjunto de Relacionamentos Conjunto de Relacionamentos –
Entidade Fraca
▪▪ Entidade FracaEntidade Fraca
▪ não tem atributos que possam identificá-la q p
univocamente na SEMÂNTICA do domínio de 
aplicação
▪ não tem chave (semântica) própria
 id tifi ã d d d l i t ▪ sua identificação depende de um relacionamento 
com uma entidade de outro conjunto (chamada 
d )
13
de owner)
Conjunto de Relacionamentos–
Entidade FracaEntidade Fraca
` Notação DER: ç
ƒ Entidade Fraca: traço duplo no retângulo
ƒ CR Identificador: traço duplo no losango 
O
Entidade Fraca
Owner
Turma DisciplinaPossui
1N
Sigla
NomeNro
14
Sigla
Relacionamento IdentificadorNro Alunos
Conjunto de Relacionamentos Conjunto de Relacionamentos –
Entidade Fraca
▪ Conjunto de Entidades Fracas: Conjunto de Entidades Fracas: 
▪ possui participação total no CR (chamado 
de CR identificador)de CR identificador)
▪ a cardinalidade do CR é 1:N ou 1:1
Por que? Por que? 
15
Conjunto de Relacionamentos–
Entidade FracaEntidade Fraca
yy Chave ParcialChave Parcial: um ou mais atributos de um CEs Fracas que 
podem identificar univocamente as entidades fracas 
relacionadas a um mesmo ownerrelacionadas a um mesmo owner
◦ CR 1:N
◦ Ex: Identificação de Turma: Sigla + Nro
Di i li1NTurma DisciplinaPossui
1N
Notação DER: traço pontilhado Sigla
NomeNro
Nro Alunos
16
Chave Parcial
Conjunto de Relacionamentos–
Entidade FracaEntidade Fraca
` Observação: o conceito de entidade fraca é mais 
li d à â ti d d í i d li ã dligado à semântica do domínio da aplicação do que 
à existência ou não de atributos que possam ser 
chavechave
` poderíamos incluir um ID único em turma, mas 
semanticamente, no contexto da aplicação, não é relevante, 
pois a turma acaba sendo identificada por meio da disciplina 
Turma DisciplinaPossui
1N
Sigla
NomeNro
Nro Alunos
Conjunto de Relacionamentos–
Entidade FracaEntidade Fraca
` Ex:
Turma DisciplinaPossui
1N
NomeNro
N
Sigla
Nro Alunos
M t i l Aluno
N
Matricula
Atributo derivado
18RA
Nome
Atributo derivado
Conjunto de Relacionamentos–
Entidade FracaEntidade Fraca
Turma DisciplinaPossui
1N
Turma pPossui
NomeNro
1
Sigla
Nro
Nro Alunos
AulaPossui N Aula
Data
Hora
Assunto
ExercícioExercício
A) Construa um DER com um exemplo real de entidade fraca.
B) Em um buffet, um cliente pode contratar várias festas. Uma
festa, no entanto, é contratada por um único cliente. Uma festa
tem várias bebidas e vários alimentos, sendo obrigatória a
escolha de elo menos m de cada cate oria O a amento deescolha de pelo menos um de cada categoria. O pagamento de
uma festa pode ser à vista ou parcelado em até 12 vezes,
devendo ser controlada a data de vencimento e data dedevendo ser controlada a data de vencimento e data de
pagamento de cada parcela.
20
Exercício – Habitação
A empresa de habitação EMHAB está desenvolvendo um sistema de
controle de todos os condomínios que já construiu Cadacontrole de todos os condomínios que já construiu. Cada
condomínio possui um conjunto de prédios que obedecem a uma
determinada numeração. Assim, o condomínio “X de Tal” possui, porç , p , p
exemplo, 36 prédios, cada um possuindo Y apartamentos. Sabe-se
dados sobre os moradores de cada apartamento/prédio, incluindo
nome, cpf, rg, sexo, idade, e a renda média considerando todos os
moradores de um determinado apartamento. Um apartamento é
id tifi d d t d édi ú l didentificado, dentro de um prédio, por um número e pelo seu andar -
e um prédio é identificado, em um determinado condomínio, por um
número Podem ser colocados mais dados sobre o prédio tais comonúmero. Podem ser colocados mais dados sobre o prédio, tais como,
as cores de sua pintura, quantos andares contém, etc. Um
condomínio pode ser identificado por nome, cidade em que sep p , q
localiza e número de identificação.
MER X MER-X 
` Limitação do Modelo E-R → não consegue expressar
relacionamentos entre relacionamentos.
` Solução → Agregação → abstração através da qualç g g ç ç q
relacionamentos são tratados como entidades de nível
mais alto
22
MER X AgregaçãoMER-X - Agregação
` Suporte a Abstrações de Dados
` Abstração de Agregação
` Abstração de Generalização / Especialização
` Conceito Geral: construção de objetos compostos a 
partir de objetos componentes` Idéia: elementos de modelagem podem associar-se criando 
outros elementos que representam essa associação
23
MER Estendido AgregaçãoMER Estendido - Agregação
` Ex. parte do DER para uma aplicação Agência de Empregos
24
MER Estendido AgregaçãoMER Estendido - Agregação
Entrevista
Candidato EmpresaEntrevistaN M
NRG CNPJN
NomeNome Data
Salario
Resulta Emprego
Cargo1
Salario
25
MER Estendido AgregaçãoMER Estendido - Agregação
Consulta
Paciente Médico
Consulta
N N
Paciente Médicoatende
Nome Nome
CPF
Data
CRM
Nome
Se for necessário registrar o medicamento prescrito em cada consulta??
26
MER Estendido AgregaçãoMER Estendido - Agregação
Consulta
P i t
Consulta
N N
Paciente Médicoatende
N
N Nome
CPF
Data
CRM
Prescrição M di t
N
Nome Nome
Prescrição Medicamento
Id
Preço
Id
27
MER Estendido AgregaçãoMER Estendido - Agregação
` Toda Agregação sempre é gerada a partir de um (E SÓg g ç p g p (
UM!!!!) relacionamento
` Indícios de uso da Agregação` Indícios de uso da Agregação
` necessidade de associar dois relacionamentos
` ex: Relacionamento entrevista e resulta
28
ExercícioExercício
` A) Construa um DER com um exemplo real de
agregação.
` B) Em um hospital, um paciente pode realizar consultas
com vários médicos. Cada consulta pode ter váriosp
exames realizados. Devem ser armazenados os dados da
consulta (data, horário e motivo) e os dados dos exames
(descrição e resultado).
29
ExercícioExercício
` C) Em uma dada biblioteca um cliente pode retirar vários
livros e um livro pode ser retirado por vários clientes.
Para toda retirada devem ser armazenadas a data de
retirada e a data de devolução. Os livros devolvidos com
ê l S b l datraso têm uma multa. Sobre a multa, devem ser
armazenados a quantidade de dias e valor.
30
IF64A-Banco de Dados 1
pbugatti@utfpr.edu.br
Prof. Pedro Henrique Bugatti

Outros materiais

Materiais relacionados

Perguntas relacionadas

Materiais recentes

Perguntas Recentes