Vous êtes sur la page 1sur 42

Mecanismos de Abstrao

modelagem conceitual um PROCESSO CRIATIVO !


um esquema conceitual uma abstrao da
realidade
no a realidade, e sim uma simplificao
abstrao
um processo mental no qual seleciona-se alguns
objetos e algumas de seus propriedades como
importantes, excluindo outras
Mecanismos de Abstrao
conceitos de um modelo conceitual so baseados em
mecanismos de abstrao
os dois mais importantes:
generalizao/especializao
agregao/desagregao
Generalizao
define uma relao de subconjunto entre elementos
de 2 ou mais classes
todas as propriedades definidas para a classe
generalizada so herdadas pelas classes especializadas
todo elemento de um subconjunto especializado
tambm elemento do seu respectivo conjunto
generalizado
relao inversa : especializao
Generalizao
Exemplo:
PESSOA, ESTUDANTE, PROFESSOR
ESTUDANTE is-a PESSOA
tem no mnimo as mesmas propriedades de PESSOA (herda
propriedades de PESSOA)
adiciona novas propriedades
toda instncia de ESTUDANTE tambm instncia de PESSOA (mas
no vice-versa)
Generalizao
maria, cpf1, end1
joo, cpf2, end2, sal2, Informtica
tereza, cpf3, end3, extenso, Curso SQL
paulo, cpf4, end4, graduao, Bach. Informtica
jos, cpf5, end5, sal5, Letras
PESSOA = <nome, cpf, endereo>
Generalizao
maria, cpf1, end1
joo, cpf2, end2, sal2, Informtica
tereza, cpf3, end3, extenso, Curso SQL
paulo, cpf4, end4, graduao, Bach. Informtica
jos, cpf5, end5, sal5, Letras
PESSOA
ALUNO is a PESSOA =
<nvel, curso>
Generalizao
maria, cpf1, end1
joo, cpf2, end2, sal2, Informtica
tereza, cpf3, end3, extenso, Curso SQL
paulo, cpf4, end4, graduao, Bach. Informtica
jos, cpf5, end5, sal5, Letras
PESSOA
PROFESSOR is a PESSOA =
<sal, depart>
Generalizao
Generalizao no Modelo ER
extenso
somente Entidades podem ser
generalizadas/especializadas
Formalismo Grfico
PESSOA
ALUNO PROFESSOR
ENTIDADE
GENERALIZADA
ENTIDADES
ESPECIALIZADAS
Generalizao no Modelo ER
PESSOA
ALUNO PROFESSOR
CPF
nome
curso
nvel
sal
depart
AL. FORMADO
ano
1
N
ORIENT.
Generalizao no Modelo ER
PESSOA
ALUNO PROFESSOR
CPF
nome
curso
nvel
sal
depart
AL. FORMADO
ano
1
N
ORIENT.
tem tb. atributos cpf e nome
tb. identificado por cpf
tb. participa dos mesmo
relacionamentos que PESSOA
participa
Generalizao no Modelo ER
PESSOA
ALUNO PROFESSOR
CPF
nome
curso
nvel
sal
depart
AL. FORMADO
ano
1
N
ORIENT.
propriedades adicionais podem ser
atributos e/ou relacionamentos
Generalizao no Modelo ER
PESSOA
ALUNO PROFESSOR
CPF
nome
curso
nvel
sal
depart
AL. FORMADO
ano
1
N
ORIENT.
pode ser especializada em
uma ou mais entidades
Generalizao no ER:
Restries de Integridade
parcial (p), total (t)
total: toda ocorrncia da entidade generalizada tem de
ser ocorrncia de pelo menos uma entidade
especializada
parcial: uma ocorrncia da entidade generalizada no
precisa ser ocorrncia de uma entidade especializada
exclusivo (e), interseo (o)
exclusivo: toda ocorrncia da entidade generalizada
pode ser ocorrncia de no mximo uma entidade
especializada
interseo: uma ocorrncia da entidade generalizada
pode ser ocorrncia de vrias entidades especializadas
Generalizao no Modelo ER:
Restries de Integridade
PESSOA
ALUNO PROFESSOR
(t, e)
toda pessoa um professor ou um aluno (t)
um professor no pode ser aluno e vice-versa (e)
Generalizao no Modelo ER:
Restries de Integridade
PESSOA
ALUNO PROFESSOR
(p, e)
uma pessoa pode ser um professor ou um aluno (p)
um professor no pode ser aluno e vice-versa (e)
Generalizao no Modelo ER:
Restries de Integridade
PESSOA
ALUNO PROFESSOR
(p, o)
uma pessoa pode ser um professor ou um aluno (p)
um professor pode ser aluno e vice-versa (o)
Generalizao no Modelo ER:
Restries de Integridade
PESSOA
ALUNO PROFESSOR
(e)
um professor no pode ser aluno e vice-versa (e)
Generalizao no Modelo ER:
Restries de Integridade
PESSOA
ALUNO PROFESSOR
se nada for especificado
(p)
(o)
Generalizao : Tcnica
quando usar?
todas ocorrncias podem ser identificadas da mesma
forma
existem atributos/relacionamentos comuns a uma srie
de ocorrncias
existem ocorrncias que tm atributos ou
relacionamentos adicionais
consegue-se dizer que entidade especializada um
tipo de entidade generalizada
Generalizao : Tcnica
quando no usar?
entidades especializadas no tm um identificador
comum
especializar pessoa como pessoa fsica e pessoa-jurdica
no se consegue dizer entidade especializada um tipo
de entidade generalizada naturalmente
Generalizao : Tcnica
quando no usar?
no adicionar clareza nem riqueza semntica
diferena um nico atributo?
considere atributo opcional?
diferena um relacionamento?
considere colocar cardinalidade mnima 0
deseja-se diferenciar duas ou mais colees de ocorrncias sem
propriedades adicionais?
considere colocar um atributo para diferenciar, ou um
relacionamento
Agregao
define uma nova classe a partir de outras classes que
definem componentes
relao inversa : desagregao
Exemplo:
BICICLETA, RODA, DIRECAO, ARO, VENTIL
DIRECAO parte-de BICICLETA
RODA parte-de BICICLETA
ARO parte-de RODA
VENTIL parte-de RODA
BICICLETA composto-de DIRECAO
BICICLETA composto-de RODA
Agregao no Modelo ER
Atributo Composto
agrega atributos (elementares ou compostos)
Entidade
agrega atributos
Agregao de Entidades (extenso)
permite que um relacionamento entre entidades seja
visto como uma entidade abstrata
a agregao de entidades chamada entidade
associativa ou simplesmente de agregao
esta conveno ser usada neste curso
Agregao vs. Relacionamento
DISCIPLINA MATRICULA
ALUNO
TURMA
n
referente
tem-inscritos
n
1
lotado-em
um aluno se matricula em uma disciplina inscrevendo-se
em uma de suas turmas
um aluno pode se matricular em vrias disciplinas distintas
uma turma de disciplina tem vrios alunos
existem vrias turmas para uma mesma disciplina
Agregao vs. Relacionamento
t1
.
t2
.
d1
d2
d3
d4
MATRCULA
ALUNO DISCIPLINA
a1
.

a2
.

a3
.
TURMA
Agregao vs. Relacionamento
Como fixar cardinalidades em Relacionamentos de
grau N maior que 2?
isolar um dos participantes
estabelecer uma associao entre o conjunto dos
demais (n-1) participantes e o participante isolado
Agregao vs. Relacionamento
DISCIPLINA MATRICULA
ALUNO
TURMA
0-1
lotado-em
um aluno se matricula em uma disciplina inscrevendo-se
em uma (nica) de suas turmas
1 par de aluno/disciplina est lotado em no mximo uma turma
existem disciplinas e existem alunos mesmo que no haja
matrculas envolvendo eles
Agregao vs. Relacionamento
t1
.
t2
.
d1
d2
d3
d4
MATRCULA
ALUNO DISCIPLINA
a1
.

a2
.

a3
.
TURMA
Agregao vs. Relacionamento
t1
.
t2
.
d1
d2
d3
d4
MATRCULA
ALUNO DISCIPLINA
a1
.

a2
.

a3
.
TURMA
Agregao vs. Relacionamento
t1
.
t2
.
d1
d2
d3
d4
MATRCULA
ALUNO DISCIPLINA
a1
.

a2
.

a3
.
TURMA
Agregao vs. Relacionamento
DISCIPLINA MATRICULA
ALUNO
TURMA
0-1
lotado-em
uma turma de disciplina tem vrios alunos
1 par de turma/disciplina pode ter vrios alunos inscritos
existem disciplinas e existem turmas mesmo que no hajam
matrculas envolvendo elas
tem-inscritos
0-N
Agregao vs. Relacionamento
DISCIPLINA MATRICULA
ALUNO
TURMA
0-1
lotado-em
um aluno pode se matricular em vrias disciplinas distintas
1 par de aluno/turma pode referir-se a vrias disciplinas
existem turmas e existem alunos mesmo que no existam
matrculas envolvendo eles
tem-inscritos
0-N
0-N
referente
Agregao vs. Relacionamento
DISCIPLINA
ALUNO
TURMA
0-1
lotado-em
existem vrias turmas para uma mesma disciplina
NO POSSVEL EXPRESSAR COM RELACIONAMENTO
TERNRIO !!!
associao s existe se houver pelo menos um aluno
matriculado
relao de matrcula, e no de disponibilidade de turmas
tem-inscritos
0-N
0-N
referente
MATRICULA
Agregao no Modelo ER
permite que um relacionamento seja visto como uma
entidade
permite que a agregao seja usada em outros
relacionamentos
Agregao no Modelo ER
DISCIPLINA
ALUNO
TURMA
1-N
oferece
tem-inscrito
0-N
1-N
-de
DISPONIB.
MATRICULA
inscrito-em
0-N
existem vrias turmas para uma mesma disciplina
Agregao : Tcnica
VOO
PASSAGEIRO
ASSENTO
1-N
oferece
reservado-por
0-1
1-N
-de
DISPONIB.
RESERVA
tem-reserva
1-N
usar quando existem entidades participantes de um
relacionamento que so opcionais
Agregao : Tcnica
HOMEM
FILHO
MULHER
0-1
esposo
tem
0-N
0-1
esposa
CASAMENTO.
DESCENDENCIA
1-1
-de
usar quando existem entidades participantes de um
relacionamento que so repetitivas
Tcnica de Modelagem : Erros Mais
Comuns
identificao de entidades mal definida
atributos de mais ou de menos
proliferao de cdigos
redundncia
uma informao, se registrada em dois
lugares, so duas (Kipper, 1993)
uso de chaves estrangeiras
para definir relacionamentos
para complementar relacionamentos
Erros Mais Comuns
EMPREGADO
LOTAO
DEPARTAMENTO
lotado-em
tem
1-N
1-1
CIC nome
cod-dep
Cod-dep nome-dep
no precisa : o relacionamento serve para isso
no tem o efeito desejado : o valor de um atributo,
mesmo que identificador, no a mesma coisa que
uma ocorrncia
Erros Mais Comuns
redundncia:
entidade representando dois conceitos
olhar dependncias entre dados
anomalias de atualizao
perde-se informao?
repete-se informao?
inapto a representar informao?
normalizao
relacionamentos desnecessrios
Erros Mais Comuns
colocar aqui um exemplo de relacionamentos
redundante
Erros Mais Comuns
relacionamento de grau maior que 2 parcial ou
repetitivo
usar agregao
usar entidade
mau uso da generalizao
atributo de relacionamento colocado em entidade
TOMAR DECISES DE MODELAGEM
CONSIDERANDO PROBLEMAS DE
IMPLEMENTAO

Vous aimerez peut-être aussi