Você está na página 1de 26

Banco de Dados

Mdulo 3 - Modelo ER
Conceitos Adicionais

MODULO03.PRZ

Tpicos
Conceitos adicionais do Modelo ER
Entidade Fraca Especializao / Generalizao Agregao e Relacionamentos sobre Relacionamentos

Atualizaes no Modelo ER Resumo

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

Pertence total em Turma Turma identificador de Pertence Cdigo chave de Disciplina

Pertence discriminador de Turma

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)

Letra atributo discriminador de Turm

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

Restries de integridade sobre especializaes:


disjuntas ou com superposio total ou parcial

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

(d,t) delete t from Turma

(a,t)

Matriculado

Legenda:

propaga bloqueia Vermelho: remoo Azul: insero

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)

begin transaction delete t from Turma end transaction

(a,t)

Matriculado

Legenda:

propaga bloqueia Vermelho: remoo Azul: insero


escopo da transao

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

Você também pode gostar