Você está na página 1de 21

2.

2-TM Dados Modelao conceptual de dados 1


Modelo Entidade-Relacionamento
Docente Disciplina
.... #Disc
Designao Nome
NDoc ....
Ensina


Abordagem proposta por Peter P. Chen (dcada de 70) para o processo de
modelao de dados com ampla aceitao;
Trabalho publicado considerado um referencial definitivo;
A proposta inicial mantm-se actualizada e tem evoludo pela agregao de
novos elementos;
Abordagem composta por tcnica de diagramao e um conjunto de conceitos.

Conceitos da abordagem E-R
Conceito Descrio
Instncia Individualizao de objecto ou conceito;


Entidade

Conjunto formado pela agregao de objectos ou
conceitos semelhantes;
Abstraco de objectos ou conceitos do mundo real
acerca dos quais queremos guardar informao;
Atributo

Caractersticas prprias das instncias dos conjuntos;
Relacionamento

Envolvimento ou associao entre as instncias dos
conjuntos.

2.2-TM Dados Modelao conceptual de dados 2
Relacionamento
As entidades no esto isoladas, sendo necessrio identificar relacionamentos para
representar correctamente o ambiente observado.

Principais elementos de caracterizao de um relacionamento:
Semntica do relacionamento;
Grau ou cardinalidade do relacionamento;
Condies de participao das entidades no relacionamento;
Nmero de entidades que participam no relacionamento (binrio ou n-rio);

Semntica do relacionamento
Especificada atravs de uma denominao (construo verbal) representativa do
conceito observado, que deve ser lida da esquerda p/ direita e de cima p/ baixo.

Grau ou cardinalidade do relacionamento
O nmero de ocorrncias de uma entidade, que podem estar associadas a uma
ocorrncia de outra entidade num relacionamento, permitem distinguir 3 tipos
de relacionamentos:

Pessoa Cdula_nascimento
Emitida 1 1
Grau 1:1
Constitudo 1 N
Grau 1:N
Projecto
Trabalha
Grau N:M Funcionrio
Funcionrio Departamento
N M


2.2-TM Dados Modelao conceptual de dados 3
Condies de participao das entidades no relacionamento
Conceito de participao obrigatria - Uma entidade de participao
obrigatria num relacionamento, se todas as instncias dessa entidade esto
relacionadas com pelo menos uma instncia da outra entidade.

Nalguns casos a participao no relacionamento ser obrigatria e para outros
ser opcional depende das particularidades do ambiente observado e das
regras estabelecidas;
Este conceito contribui para o enriquecimento do MD, evitando ambiguidade.

Exemplo 1
Todas as disciplinas tm de ser asseguradas, sendo leccionadas por um ou
mais docentes;
Os docentes podem estar dispensados de servio docente ou podem leccionar
vrias disciplinas.

Docente Disciplina
.... #Disc
Designao Nome
NDoc ....
Ensina
N M


Exemplo 2
Algumas disciplinas no so leccionadas pelo facto de terem sido retiradas do
plano de estudos;
Todos os docentes leccionam, pelo menos uma disciplina.

Docente Disciplina
.... #Disc
Designao Nome
NDoc ....
Ensina
N M


2.2-TM Dados Modelao conceptual de dados 4
Nmero de entidades que participam no relacionamento
Um relacionamento pode envolver mais do que 2 entidades;
As associaes binrias entre as entidades podem no mapear de forma correcta
a informao desejada.


Exemplo de relacionamento ternrio:

Os funcionrios de uma empresa de prestao de servios podem ser alocados a
diferentes projectos e exercer funes distintas.

Funcionrio Projecto Funo
P. Costa P1 Analista de Sistemas
P. Costa P2 Consultor
X. Lima P2 Analista de Sistemas
X. Lima P3 Programador


Relacionamentos binrios mltiplos

Desempenha
N M
Funo Projecto
Utilizada
N M
Funcionrio
N M
Envolve


Func. Proj. Proj. Funo Func. Funo
P. Costa P1 P1 Analista de Sist. P.Costa Analista de Sist.
P. Costa P2 P2 Analista de Sist. P.Costa Consultor
X. Lima P2 P2 Consultor X. Lima Analista de Sist.
X. Lima P3 P3 Programador X. Lima Programador


2.2-TM Dados Modelao conceptual de dados 5
Quem o Analista de Sistemas do projecto P2?

A estrutura necessria para a derivao de um relacionamento ternrio (ou n-
rio) uma agregao;
A agregao requerida para expressar a funo de um funcionrio em
determinado projecto.

necessrio ter as 3 entidades associadas simultaneamente, atravs de um
relacionamento ternrio.


Relacionamento Ternrio



Funo
Funcionrio
Alocao
N
Projecto
P
M


Agregao resultante

Funcionrio Projecto Funo
P. Costa P1 Analista de Sistemas
P. Costa P2 Consultor
X. Lima P2 Analista de Sistemas
X. Lima P3 Programador


2.2-TM Dados Modelao conceptual de dados 6
Relacionamentos Recursivos
Caso especial de um relacionamento que ocorre entre instncias de um mesmo tipo
de objecto.
Empregado
BI
Nome
Salrio
Supervisa
1 N
Morada


Relacionamentos com atributos
Atributos a preservar que no pertencem aos objectos observados, mas sim
associao desse objectos;
Estes atributos denotam a existncia de informao que s pode ser estabelecida
ou considerada quando na presena de um relacionamento entre entidades;
Nestas circunstancias os atributos devem ser representados no relacionamento.

Aluno
BI
Nome
Data_nascimento
Frequenta
M N
Morada
Curso
Nome_curso Carga_horria
Departamento
Mdia Data_inscrio


2.2-TM Dados Modelao conceptual de dados 7
Consideraes sobre entidades Fortes e Fracas
A classificao de entidades como fortes ou fracas depende da ocorrncia de uma
dependncia de existncia ou de identificao entre entidades.

Dependncia de Existncia - Denota o estabelecimento de um vnculo de
existncia entre entidades.

Dvida
1 N
Prestao de
pagamento
Refere-se paga


Uma prestao de pagamento s possui existncia quando existe uma dvida.

Dependncia de identificao - Denota que uma entidade no possui os atributos
requeridos para identificar (distinguir) as suas instncias.

Contribuinte
1 N
Declarao
de imposto
entregue por Entrega


Uma declarao de imposto (com atributos ano_exerccio, ano_base, ...)
uma entidade fraca, que depende da entidade contribuinte (entidade
identificadora), pois no possui atributos identificadores prprios;
Considerando que a entidade possui um atributo N sequencial da declarao,
passaria a ser considerada entidade forte.

Critrio com importncia reconhecida sob o ponto de vista do projecto
lgico, mas dispensvel e subjectivo ao nvel do projecto conceptual;
No entanto, permite representar entidades que no se pretende dotar com
identificao independente.

2.2-TM Dados Modelao conceptual de dados 8
Tipos de atributos
Funcionrio Departamento
NPrprio Apelido
Sexo Nmero
Localizaes Tempo_Actividade
Nome
BI Data_nicio_activ






Atributos Simples (Exemplo: BI)

Atributos Compostos (Exemplo: Nome)
- Um atributo composto pode ser considerado simples, dependendo da
situao a tratar;
- Quando os atributos bsicos so tratados separadamente, um atributo
composto entra na entidade com todos os seus atributos bsicos
(Funcionrio: BI, Nprprio, Apelido, Sexo).

Atributos Derivados (Exemplo: Tempo_actividade)
- Estes atributos devem ser identificados na anlise e podem ser representados
no modelo conceptual de dados, mas no devem fazer parte da entidade pois
podem ser calculados.

Atributos Multivalor (Exemplo: Localizaes)
- Estes atributos possuem mltiplos valores e so representados no DER com
trao duplo.

2.2-TM Dados Modelao conceptual de dados 9
Que atributos considerar na descrio de uma entidade ?

Entidades CO e DONO_DO CO vistas pelo veterinrio:

CO nome_do_co raa sexo nome_do_dono data_nasc peso


DONO_DO_CO nome_do_dono endereo saldo_da_conta




Entidades CO e DONO_DO CO vistas pela administrao municipal:

CO nome_do_co raa nome_do_dono data_licen. peso


DONO_DO_CO nome_do_dono endereo



O atributo endereo deveria ser subdividido ? possvel determinar o
nmero de ces por freguesia ?

endereo um atributo composto que neste caso deveria ser
subdividido.

2.2-TM Dados Modelao conceptual de dados 10
Extenses ao modelo Entidade-Relacionamento
O modelo E-R tem evoludo pela agregao de novos elementos que tornam a
tcnica mais rica em semntica e alargam o mbito da sua aplicao.

Justificao da necessidade de extenso do modelo E-R

O principal objectivo do processo de abstraco e identificao de entidades
reconhecer agrupamentos distintos entre conjuntos de objectos relevantes.

No entanto, existem dificuldades neste processo.


Principais dificuldades na definio de entidades:

Nem sempre a separao de instncias desses objectos se dar por
conjuntos estritamente distintos.

Como proceder no caso da identificao de subconjuntos distintos dentro
de conjuntos nicos ?

Existem relacionamentos que s se aplicam a um subconjunto das
instncias de uma entidade e no a todas.

Como proceder para estabelecer relacionamentos para subconjuntos de
instncias que no possuem sentido para as outras ?

2.2-TM Dados Modelao conceptual de dados 11
Exemplo:
Empresa de montagem de peas de automvel com dois tipos de empregados:
supervisores (assalariados) e montadores (pagos hora).

Corresponde ao que designado por representao de papis.

Supervisor Supervisa
1
N
Montador



Lista de atributos:
Ncontrib
Nome
Telef_casa
Morada
Telef_trab
Pagam_hora
Salrio
#Taref
rea
N de contribuinte do empregado
Nome do empregado
N de Telefone da casa do empregado
Morada do empregado
N de telefone do local de trabalho do supervisor
Pagamento horrio do montador
Salrio do supervisor
Cdigo de tarefa do montador
rea de competncia do supervisor


Outros relacionamentos a estabelecer:

Falta Refere-se
N
1
Empregado


Montador Trabalha
N
1
Tipo_pea



2.2-TM Dados Modelao conceptual de dados 12
Questes:

Utilizao de duas entidades
Supervisor Supervisa
1
N
Montador


- Para efectuar uma pesquisa a um empregado necessrio saber, previamente,
se este montador ou supervisor (D);
- O relacionamento com o subconjunto de instncias montador pode ser
estabelecido adequadamente (V);
- O problema do relacionamento com o conjunto global de instncias no
resolvido (D).


Utilizao de uma s entidade agregadora

Empregado


- A simples agregao destas entidades obrigaria insero de valores nulos
em alguns atributos, pois existem atributos que no se aplicam a todas as
instncias (D);
- O relacionamento com o subconjunto montador no pode ser estabelecido
correctamente (D);
- O relacionamento com o conjunto global pode ser estabelecido
adequadamente (V).


2.2-TM Dados Modelao conceptual de dados 13

Utilizao de trs entidades

Empregado
Supervisor Montador Supervisa
1 N
Pode ser Pode ser
1 1
1 1


- Resolve problemas do relacionamentos com os subconjuntos e conjunto
global (V V);
- Contudo, uma soluo limitada na representao de factos observados (D).



Limitaes na representao de papis

Como representar as seguintes situaes alternativas:
Todos os empregados so obrigatoriamente supervisores ou montadores;
Um empregado pode ser simultaneamente supervisor e montador.

O modelo E-R sem extenses no reflecte estes factos.


Preocupaes subjacentes:
Fidelidade do modelo conceptual de dados;
Adequao de futuras estruturas de dados a serem implementadas.

2.2-TM Dados Modelao conceptual de dados 14
Hierarquia de Especializao/Generalizao, Superclasses e
Subclasses
As hierarquias de Generalizao/Especializao (E/G) procuram representar
os seguintes factos:

Dado um conjunto de instncias pertencentes a subconjuntos de um conjunto
maior, cada um deles deve ser capaz de ser visto como um elemento tanto
pertencente aos subconjuntos distintos como ao conjunto completo.

As caractersticas (atributos e relacionamentos) que sejam comuns a todas as
instncias devem ser alocadas numa entidade generalizadora e so herdadas
pelos subconjuntos;
As caractersticas que sejam especficas de um subconjunto devem ser alocadas
a este.

Representao de hierarquias de Especializao/Generalizao

Empregado
Supervisor Montador
Superclasse
Subclasses


Superclasse entidade generalizadora definida
Subclasses subconjuntos especficos de uma superclasse

2.2-TM Dados Modelao conceptual de dados 15
Especializao
Representao dos subconjuntos;
Processo de definio de Subclasses com caractersticas distintas.
Exemplo: Parte da entidade Empregado e define as subclasses Montador e
Supervisor, bem como a superclasse Empregado.

Generalizao
Representao do conjunto global;
Processo de anlise inverso da especializao, que define uma Superclasse com
caractersticas comuns.
Exemplo: Parte das entidades Supervisor e Montador e define a superclasse
Empregado e as subclasses Montador e Supervisor.

Soluo resultante
Trabalha
N
1
Tipo_pea
Especializao
Empregado Falta Possui
N 1
Supervisor Montador
Supervisa
1 N


Consideraes:
H um relacionamento entre uma superclasse e as suas subclasses;
A especializao deve ser considerada como uma entidade que se subdivide em
duas (ou mais) outras e no como vrias entidades diferentes;
Os relacionamentos podem ser estabelecidos directamente e normalmente com a
superclasse e subclasses.

2.2-TM Dados Modelao conceptual de dados 16
Tipos de Especializaes/Generalizaes
Existem dois tipos de especializaes/generalizaes:

E/G mutuamente exclusiva (disjuno)
Uma instncia do conjunto global que pertence a uma subclasse no poder
pertencer simultaneamente a outra.

Exemplo: Cada empregado supervisor ou montador;






Disjuno
Empregado
Supervisor Montador
d




E/G no mutuamente exclusiva (sobreposio)
Uma instncia do conjunto global pode pertencer a um ou mais subconjuntos
simultaneamente.

Exemplo: Um empregado pode ser simultaneamente supervisor e montador.







Sobreposio
Empregado
Supervisor Montador
o



2.2-TM Dados Modelao conceptual de dados 17
Nveis de especializao
As hierarquias podem possuir vrios nveis de agrupamento, do mesmo ou de
diferentes tipos de E/G.

Exemplo:
Aluno (BI, Sexo, Morada, Nome, Data_ingresso, N_aluno)
Docente (BI, Sexo, Morada, Nome, Data_admisso, N_funcionrio,
Departamento, Gabinete)
Funcionrio_no_docente (BI, Sexo, Morada, Nome, Data_admisso,
N_funcionrio, funo, horrio)

Aspectos a ter em conta neste exemplo:
Uma pessoa pode ser simultaneamente funcionrio e aluno (Sobreposio);
Um funcionrio ou docente ou no docente (Disjuno).

Disjunta
Pessoa
Funcionrio Aluno
Docente No docente
O
d
BI
Data_admisso
Sobreposta
Nome
Sexo
N_funcionrio
Morada
Data_ingresso
N_aluno
Departamento
Gabinete
Funo
Horrio



2.2-TM Dados Modelao conceptual de dados 18
Abrangncia das subclasses
As subclasses devem subdividir todas as instncias do conjunto global.

Como proceder se s necessrio explicitar caractersticas de alguns tipos de
subconjuntos ?

Representar somente esses tipos de subclasses
Induz uma interpretao errada de que s existem esses tipos de subclasses;

Representao de todas as subclasses
Gera uma representao correcta, mas que pode ser extensa e no apropriada se
surgirem novas subclasses (nomeadamente, outras que tambm no interessa
detalhar);

Soluo
Uso de artifcio para manter a semntica do modelo correcta e que evita
individualizaes de subconjuntos que no interessa detalhar.
Criao de especializao representativa de todas as especialidades que
no interessa representar, que recebe o nome de Outras.

Exemplo: Supondo que existem outros tipos de empregados, para alm dos
montadores e supervisores.

Empregado
Supervisor Montador Outros_empregados


2.2-TM Dados Modelao conceptual de dados 19
Malha de especializao/generalizao, subclasse partilhada
e herana mltipla
Hierarquia de E/G:
cada subclasse participa num s relacionamento superclasse/subclasse;
cada subclasse possui uma s superclasse.

Malha de E/G:
Uma subclasse pode participar em mais do que um relacionamento
superclasse/subclasse =>
Subclasse partilhada - subclasse que possui vrias superclasses;
Herana mltipla - a subclasse partilhada herda todas as caractersticas das
suas superclasses.

Exemplo: Um aluno pode ser assistente
Subclasse
partilhada
Pessoa
Funcionrio Aluno
Docente No docente
O
d
BI
Data_admisso
Nome
Sexo
N_funcionrio
Morada
Data_ingresso
N_aluno
Departamento Gabinete Funo Horrio
Aluno_assistente Aluno_n_assistente
d
percentagem_horas ...


2.2-TM Dados Modelao conceptual de dados 20
Categorias e herana selectiva
Nas hierarquias e malhas de E/G uma superclasse e as suas subclasses representam
a mesma entidade do mundo real.

As categorias tm origem na necessidade de modelar relacionamentos
superclasse/subclasse com vrias subclasses que representam entidades distintas.
A subclasse denominada categoria.

Caractersticas que distinguem as categorias:
Malha de E/G Categorias
Existe sempre uma superclasse nica
(no topo);
Existem vrias superclasses que
representam entidades distintas;

Um membro de uma subclasse
partilhada tem de existir em todas as
superclasses;
Um membro da categoria tem de
existir, pelo menos, numa das
superclasses (usualmente uma),
mas no tem de ser membro de
todas;

Uma subclasses partilhada um
subconjunto da interseco das suas
superclasses;
Uma categoria um subconjunto
da unio das suas superclasses;

A herana mltipla:
Uma subclasse partilhada herda todas
as caractersticas das suas
superclasses.
A herana selectiva:
A herana de caractersticas numa
categoria no total, dependendo
da superclasse a que a instncia
pertence.

2.2-TM Dados Modelao conceptual de dados 21
Exemplo:
Modelo de dados para o registo de veculos (carros e camies). O proprietrio de
um veculo pode ser uma pessoa, uma empresa ou um banco.

necessrio criar:
uma entidade que inclua objectos de trs tipos para registar informao relativa
a proprietrios de veculos;
uma entidade que inclua objectos de dois tipos para manter os veculos
registados.


Pessoa Empresa
Carro
Banco
U
Ano
Id_veculo
BI
Nome NIF
Morada
Capacidade
Dimenses
...
Proprietrio
Camio
U
Possui
N
M
Data_compra
Unio
N_banco
Nome_b
Endereo_b
Nome_e NIF
Veculo_registado
Distrito
N_registo
...
Id_veculo
N_pessoa N_empresa
Endereo_a


Categorias: proprietrio e veculo_registado

Você também pode gostar