Escolar Documentos
Profissional Documentos
Cultura Documentos
Mdulo 3 - Modelo ER
Conceitos Adicionais
MODULO03.PRZ
Tpicos
Conceitos adicionais do Modelo ER
Entidade Fraca Especializao / Generalizao Agregao e Relacionamentos sobre Relacionamentos
MODULO03.PRZ
Entidades Fracas
Definio:
um esquema de entidades E fraco sse E no tem chave um esquema de entidades F forte sse F tem chave
Problemas:
como recuperar uma entidade fraca do BD? atravs de consultas aos seus atributos navegando para a entidade atravs de relacionamentos como identificar uma entidade fraca? atributo discriminador + chave transferida de uma ou mais entidades fortes via um relacionamento discriminador
MODULO03.PRZ 3
Entidades Fracas
Relacionamento Discriminador:
Seja E um esquema de entidades fraco. Seja R um esquema de relacionamentos sobre F1,...,Fn. R um esquema de relacionamentos discriminador para E sse: E ocorre em um nico papel em R e todos os outros esquemas de entidades de R so fortes R total em E E um identificador de R
MODULO03.PRZ
Entidades Fracas
Turma
A B A L520 L512 L540 t1 t2 t3
Pertence
t1 t2 t3 d1 d1 d2
Disciplina
d1 inf1731 d2 inf1732 BD CSGBD
MODULO03.PRZ
Entidades Fracas
Atributo Discriminador:
Seja E um esquema de entidades fraco. Suponha que E tenha um atributo A. Seja R um esquema de relacionamentos sobre F1,...,Fn. Suponha que R seja discriminador para E e que Fi = E. A um atributo discriminador para E em R sse: para todo estado s do BD, para todo (f1,...,fn) e (g1,...,gn) em s(R) se (f1,...,fi-1,fi+1,...,fn) = (g1,...,gi-1,gi+1,...,gn) e s(A)(fi) = s(A)(gi) ento fi = gi
MODULO03.PRZ
Entidades Fracas
Turma
A B A L520 L512 L540 t1 t2 t3
Pertence
t1 t2 t3 d1 d1 d2
Disciplina
d1 inf1731 d2 inf1732 BD CSGBD
As turmas da mesma disciplina tem letras distintas (que podem ser reusadas em disciplinas distintas)
MODULO03.PRZ
Entidades Fracas
Entidade Fraca ou Atributo?
Situao: E um esquema de entidades fraco E no tem atributos R um esquema de relacionamento binrio entre E e F R discriminador para E Simplificao: E pode ser modelado como atributo de F R removido os possveis esquemas de relacionamento sobre E passam a ser sobre F Exemplo: Situao:
Professor modelado como entidade fraca para Turma, ligado por um relacionamento Leciona Professor no tem atributos
Simplificao:
Professor pode ser modelado como atributo de Turma Leciona deixa de existir
MODULO03.PRZ 8
Entidades Fracas
Entidade Fraca ou Atributo?
Situao: E um esquema de entidades fraco E no tem atributos R um esquema de relacionamento entre F1,...,Fn e E = Fi R discriminador para E Simplificao: E pode ser modelado como atributo de R os possveis esquemas de relacionamento sobre E passam a ser sobre R
MODULO03.PRZ
Especializao / Generalizao
Definio:
Sejam E e F dois esquemas de entidades E uma especializao de F ou F uma generalizao de E sse E herda todos os atributos de F em todo estado s do BD, s(E) um subconjunto de s(F)
MODULO03.PRZ
10
Especializao / Generalizao
Exemplo: Horista e Efetivo so especializaes de Professor
Professor
Horista
1 Efetivo
MODULO03.PRZ
11
Especializao / Generalizao
Formas de definio:
manual: automtica: pertinncia definida explicitamente pelo usurio pertinncia definida por predicados
MODULO03.PRZ
12
Agregao
Agregao e relacionamentos sobre relacionamentos:
a noo de relacionamento pode ser estendida de tal forma a permitir que um relacionamento envolva entidades e tambm relacionamentos a noo de agregao corresponde simplesmente a tratar um relacionamento e as entidades participantes como uma nova entidade a noo de agregao equivalente a permitir relacionamentos sobre relacionamentos
MODULO03.PRZ
13
Agregao
relacionamento sobre relacionamento
Professor
1
Coordena Leciona Ocupa Aloca
Sala
Equipamento
Disciplina
Pertence
Turma
Matriculado
Aluno
MODULO03.PRZ
14
Agregao
agregao
Professor
1
Coordena Leciona Ocupa Aloca
Sala
Equipamento
Disciplina
Pertence
Turma
Matriculado
Aluno
MODULO03.PRZ
15
Atualizaes no Modelo ER
Operaes elementares:
insero de uma entidade ou relacionamento remoo de uma entidade ou relacionamento teste de existncia de uma entidade ou relacionamento recuperao de atributos de entidade ou relacionamento recuperao de entidades participantes de relacionamento
MODULO03.PRZ
16
Atualizaes no Modelo ER
Transao (correta):
seqncia de operaes elementares que preservam todas as restries de integridade definidas no esquema ER
Problema:
como construir transaes corretas, com relao a: chaves identificadores restries de cardinalidade dependncias de existncia
MODULO03.PRZ
17
Atualizaes no Modelo ER
Dependncias de existncia:
Seja R um esquema de relacionamento sobre F1,...,Fn. Seja s um estado do BD. Para todo relacionamento (f1,...,fn) em s(R), fi existe em s(Fi) Seja R um esquema de relacionamento sobre F1,...,Fn. Suponha que R seja total sobre Fi. Seja s um estado do BD. Para todo ei em s(Fi), existe (f1,...,fn) em s(R) tal que ei = fi
MODULO03.PRZ
18
Atualizaes no Modelo ER
Dependncias de existncia (cont.):
Seja F uma generalizao de F1,...,Fn. Seja s um estado do BD. todo fi em s(Fi) existe em s(F) Seja F uma generalizao de F1,...,Fn. Suponha que F seja total. Seja s um estado do BD. para todo f em s(F), f existe em s(Fi), para algum i em [1,n]
MODULO03.PRZ
19
Atualizaes no Modelo ER
Dependncias de existncia (cont.):
Seja F uma generalizao de F1,...,Fn. Suponha que no haja superposio entre Fi e Fk. Seja s um estado do BD. para todo f em s(F), f existe em s(Fi) sse f no existe em s(Fk)
MODULO03.PRZ
20
Atualizaes no Modelo ER
Sub-problema:
como construir transaes corretas com relao a dependncias de existncia?
Soluo:
definio de assertivas para bloquear inseres ou remoes que violariam as dependncias de existncia, ou definio de triggers para propagar inseres ou remoes que violariam as dependncias de existncia
MODULO03.PRZ
21
Atualizaes no Modelo ER
insert t into Turma
(t,d) 1
Pertence
t n
Disciplina
Turma
(a,t)
Matriculado
Legenda:
Aluno
MODULO03.PRZ
22
Atualizaes no Modelo ER
Problema:
Com encapsular os conjuntos de entidades e relacionamentos de tal forma a preservar as restries de integridade?
Soluo:
definir triggers para propagao de atualizaes e assertivas para bloqueio de atualizaes definir transaes da seguinte forma: transao inicia com uma insero (ou remoo) sistema dispara triggers e aplica assertivas
triggers podem disparar outros triggers triggers podem ser bloqueados por assertivas assertivas podem provocar o rollback de toda a transao
MODULO03.PRZ 23
Atualizaes no Modelo ER
Disciplina
d
Pertence
Turma
(d,t)
(a,t)
Matriculado
Legenda:
Aluno
MODULO03.PRZ
24
Resumo
Entidade
um objeto com existncia independente deve ser modelado como entidade (para que possa ser representado no BD incondicionamente, ou seja, sem que dependa da representao de outros objetos) um objeto com mais de uma propriedade prpria deve ser modelado como uma entidade (para evitar redundncias)
MODULO03.PRZ
25
Resumo
Relacionamento
um evento que envolve vrios objetos deve ser modelado como um relacionamento
Atributo
uma propriedade de uma entidade ou relacionamento deve ser modelada como um atributo (da entidade ou do relacionamento)
Especializao / Generalizao
organiza conjuntos de entidades em hierarquias racionaliza a definio de atributos via herana
MODULO03.PRZ 26