Banco de Dados - Modelo ER

Embed Size (px)

Citation preview

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