Banco de DadosMdulo 3 - Modelo ERConceitos Adicionais
MODULO03.PRZ
1
TpicosConceitos adicionais do Modelo EREntidade Fraca Especializao / Generalizao Agregao e Relacionamentos sobre Relacionamentos
Atualizaes no Modelo ER Resumo
MODULO03.PRZ
2
Entidades FracasDefinio: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 discriminadorMODULO03.PRZ 3
Entidades FracasRelacionamento 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
4
Entidades FracasTurmaA B A L520 L512 L540 t1 t2 t3
Pertencet1 t2 t3 d1 d1 d2
Disciplinad1 inf1731 d2 inf1732 BD CSGBD
Pertence total em Turma Turma identificador de Pertence Cdigo chave de Disciplina
Pertence discriminador de Turma
MODULO03.PRZ
5
Entidades FracasAtributo 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
6
Entidades FracasTurmaA B A L520 L512 L540 t1 t2 t3
Pertencet1 t2 t3 d1 d1 d2
Disciplinad1 inf1731 d2 inf1732 BD CSGBD
As turmas da mesma disciplina tem letras distintas (que podem ser reusadas em disciplinas distintas)
Letra atributo discriminador de Turm
MODULO03.PRZ
7
Entidades FracasEntidade 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 existirMODULO03.PRZ 8
Entidades FracasEntidade 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
9
Especializao / GeneralizaoDefinio: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 / GeneralizaoExemplo: Horista e Efetivo so especializaes de Professor
Professor
Horista
1 Efetivo
MODULO03.PRZ
11
Especializao / GeneralizaoFormas de definio:manual: automtica: pertinncia definida explicitamente pelo usurio pertinncia definida por predicados
Restries de integridade sobre especializaes:disjuntas ou com superposio total ou parcial
MODULO03.PRZ
12
AgregaoAgregao 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
Agregaorelacionamento sobre relacionamentoProfessor1Coordena Leciona Ocupa Aloca
Sala
Equipamento
n
Disciplina
1
Pertence
n
Turma
Matriculado
Aluno
MODULO03.PRZ
14
AgregaoagregaoProfessor1Coordena Leciona Ocupa Aloca
Sala
Equipamento
n
Disciplina
1
Pertence
n
Turma
Matriculado
Aluno
MODULO03.PRZ
15
Atualizaes no Modelo EROperaes 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 ERTransao (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 ERDependncias 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 ERDependncias 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 ERDependncias 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 ERSub-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 ERinsert t into Turma
d
(t,d) 1Pertence
t n
Disciplina
Turma
(d,t) delete t from Turma
t
(a,t)
Matriculado
Legenda:
propaga bloqueia Vermelho: remoo Azul: insero
Aluno
MODULO03.PRZ
22
Atualizaes no Modelo ERProblema: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 assertivastriggers podem disparar outros triggers triggers podem ser bloqueados por assertivas assertivas podem provocar o rollback de toda a transaoMODULO03.PRZ 23
Atualizaes no Modelo ER
Disciplinad
1
Pertence
n
Turma
(d,t)
t
begin transaction delete t from Turma end transaction
(a,t)
Matriculado
Legenda:
propaga bloqueia Vermelho: remoo Azul: inseroescopo da transao
Aluno
MODULO03.PRZ
24
ResumoEntidadeum 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
ResumoRelacionamentoum evento que envolve vrios objetos deve ser modelado como um relacionamento
Atributouma propriedade de uma entidade ou relacionamento deve ser modelada como um atributo (da entidade ou do relacionamento)
Especializao / Generalizaoorganiza conjuntos de entidades em hierarquias racionaliza a definio de atributos via heranaMODULO03.PRZ 26