MODELAGEM CONCEITUAL DE
SISTEMAS DE INFORMAÇÃO
Tipos de Entidades e
Relacionamentos
Estado do domínio
Descrito pelos conjuntos:



de entidades (objetos),
de relacionamentos (associações)
de conceitos nos quais os objetos e
relacionamentos são classificados
TIPOS DE ENTIDADE
Tipos de Entidade
Tipo de entidade: é um conceito cujas
instâncias são objetos
Instâncias do conceito: entidades
Entidade



é um objeto individual
é um objeto identificável
existente no domínio num dado período de tempo
Exemplos de tipos de entidade







departamento
pessoa
requisição (de aumento de salário)
coleção de selos
equipe de projeto
falha de software
metal
Nomes
Nome de um tipo de entidade:
substantivo comum no singular,
possivelmente seguido de adjetivos.
se N é o nome de um tipo de entidade
a seguinte frase deve estar bem
formada:

Uma instância deste tipo de entidade é um
N.
População
conjunto de entidades num dado tempo
t.
Tipo de entidade:

constante: população é sempre a mesma
 Ex.: Metal, Rio

permanente: após criadas as instâncias se
tornam permanentes.
 Ex.: Nota fiscal

(constante → permanente)
Inclusão (subsumption)
Sejam E1 e E2 tipos de entidade.

E2 inclui (subsumes) E1 se todas instâncias de E1
são também instâncias de E2.
 E1 é um subtipo de E2.
 E2 é um supertipo de E1.

Ex.: Pessoa inclui Mulher.
E2 inclui E1  “propriedades definidoras de
E2”  “propriedades definidoras de E1”.
Representação num SI
Entidades do domínio: símbolos na BI.
Tipos de entidade: nomes no MC.
Fato: classificação de uma entidade em um
tipo de entidade é um tipo de fato.
Representação num SI
Domínio
BI
Conceito
Pessoa
representado por
Tipo de Entidade
Pessoa
instância de
instância de
representado por
Charlotte
Estado da Base de Informação
Estado da BI em t = conjunto de fatos
em t
Base de Informação:

estado corrente (atual) em tatual
 fatos válidos em tatual

temporal em tatual
 fatos válidos em t ≤ tatual
Representação Lógica
Tipo de entidade: predicado unário cujo
argumento denota uma entidade.

E(.)
Classificação de uma entidade A:

Fórmula E(A)
 leia-se A é um(a) E
Fato: fórmula com um predicado com
argumento constante.
Representação Lógica
inclusão (subsumption)





Sejam os tipos de entidade E1 e E2:
E2 inclui (subsumes) E1 ⇔
E1 é um subtipo de E2 ⇔
E2 é um supertipo de E1 ⇔
∀e, E1(e) → E2(e)
Exemplo:

∀p, Mulher(p) → Pessoa(p)
Representação em UML
tipos de entidade são representados por
retângulos com o nome do tipo de
entidade.
Aluno
Representação em UML
A inclusão é representada por uma
linha entre os respectivos tipos de
entidade com um triângulo na
extremidade do tipo que inclui
Pessoa
Mulher
Representação em UML
As propriedades constante e
permanente são representadas em UML
através de estereótipos.
Livro
Rio
{«permanente»}
{«constante»}
Estereótipo é um mecanismo para definir restrições
predefinidas.
{C} posto junto ao nome de um tipo de entidade significa que a
população do tipo de entidade deve atender a restrição C
Representação em UML
Entidades, usualmente, não são representadas em
UML, quando o são, usam a mesma notação dos
tipos. No lugar dos nomes, uma concatenação
sublinhada entre o símbolo da entidade, dois pontos
(“:”), e o(s) nome(s) do(s) tipo(s) de entidade.
Maria:Mulher
Charlotte:Mulher,Aluno
Classificação Simples ou Múltipla
Classificação Múltipla: permite que uma
entidade seja instância de dois tipos de
entidade E1 e E2 tais que:



E1 não inclui E2
E2 não inclui E1
não existe E3 incluído em E1 e E2
Classificação Simples: não permite a
classificação múltipla
LOP e UML são linguagens de classificação
múltipla.
Classificação Estática ou
Dinâmica
Classificação Dinâmica: entidades
podem ser instâncias de tipos de
entidade diferentes em tempos
diferentes.
Classificação Estática: a classificação da
entidade não pode mudar.
LOP e UML permitem classificação
dinâmica
TIPOS DE RELACIONAMENTO
Definição: Tipo de
Relacionamento
um tipo de relacionamento é um
conceito cujas instâncias são
relacionamentos individuais e
identificáveis que são considerados
existir no domínio num dado período de
tempo
Uma pessoa lê um livro
participantes: objetos que participam do
relacionamento; cada participante
desempenha um papel
Definição: Tipo de
Relacionamento
conjunto de n participantes (n ≥ 2); cada
participante é um tipo de entidade que
desempenha um papel.
notação: R(p1:E1,…,pn:En)
esquema e participantes
pi pode ser omitido; Ex: Lê(leitor: Pessoa,
Livro)
pode haver mais de um participante do
mesmo tipo de entidade
não pode haver mais de um participante com
o mesmo papel
Definição: Tipo de
Relacionamento
um tipo de relacionamento R(p1:E1,…,pn:En) é
um conceito cujas instâncias são conjuntos
distintos {<p1:e1>,…,<pn:en>} formados por
n entidades e1,…,en que são instâncias dos
correspondentes tipos E1,…,En e que são
consideradas ter, no domínio num dado
período de tempo, um relacionamento R
desempenhando os respectivos papéis
p1,…,pn.
As instâncias do tipo de relacionamento são
chamadas de relacionamentos.
n é o grau do relacionamento (n-ário)
Definição: Tipo de
Relacionamento
tipo de relacionamento é um conceitos
relacionamento: par <pi:ei> para cada
participante
Ex: Fornece(Fornecedor, Parte,
Cliente:Projeto)
Existência do relacionamento
Reside (residente: Pessoa,
localDeResidência: Cidade)
Se a Pessoa p e a Cidade c são
participantes de uma instância de
Reside em algum período, ou seja se
Reside (p, c) é um fato, é porque p
reside em c neste período
Existência do relacionamento
ÉMãeDe (mãe: Mulher, criança: Pessoa)
sejam a mulher m e a pessoa p. Quando
diremos que m é mãe de p?
Sejam a mulher Alice e a pessoa Alan.



o relacionamento existe apenas enquanto Alan
estiver vivo?
o relacionamento existe apenas quando tanto
Alice quanto Alan estiverem vivos?
Após o nascimento de Alan, o relacionamento
dura para sempre.?
Existência do relacionamento
Mulher (Alice)
Pessoa (Alan)
(a)
ÉmãeDe (Alice, Alan) (b)
(c)
T1
T2
T3
T4
Existência das entidades
participantes
Reside (residente: Pessoa,
localDeResidência: Cidade)

Reside (p, c) num dado tempo, então
(provavelmente) p é uma pessoa e c uma
cidade neste tempo.
ÉMãeDe (mãe: Mulher, criança:
Pessoa)

ÉMãeDe (m, p) num dado tempo não
garante que m seja uma Pessoa neste
tempo
Tipos síncronos e assíncronos
R(p1:E1,…,pn:En): é síncrono se para cada
uma de suas instâncias {<p1:e1>,…,<pn:en>}
num dado tempo, as entidades participantes
e1,…,en são instâncias de seus respectivos
tipo neste tempo.
caso contrário: é assíncrono.
Reside é síncrono, ÉMãeDe é assíncrono
Padrões de Sentença
relacionamento é um fato que pode ser
expresso numa sentença
padrão de sentença: sentença com uma
lacuna para cada participante.
Ex.: relacionamentos do tipo Lê (Pessoa,
Livro), poderiam ser expressos como

<Pessoa> lê <Livro> ou
 Laura lê Alice no País das Maravilhas

Pessoa <Pessoa> lê livro <Livro>
 A pessoa Laura lê o livro Alice no País das Maravilhas
Padrões de Sentença
implícitos
baseados nos nomes dos papéis.


substantivos
verbos
Nome do papel: substantivo
Lê(leitor: Pessoa, materialDeLeitura: Livro)

A pessoa <Pessoa> lê o livro <Livro>.
 A pessoa Pedro lê o livro O Caçador de Pipas.

A pessoa <Pessoa> é (o|um) leitor do livro
<Livro>.
 A pessoa Pedro é um leitor do livro O Caçador de Pipas.

O livro <Livro> é (o|um) materialDeLeitura da
pessoa <Pessoa>.
 O livro O Caçador de Pipas é um materialDeLeitura da
pessoa Pedro.
Nome do papel: verbo
Lê(lê: Pessoa, é lido por: Livro)

A pessoa <Pessoa> lê o livro <Livro>
 A pessoa Pedro lê o livro O Caçador de Pipas.

O Livro <Livro> é lido por a pessoa
<Pessoa>.
 O livro O Caçador de Pipas é lido pela (por a)
pessoa Pedro.
Padrões de Sentença
explícitos
em alguns casos binários pode ser difícil
achar nomes adequados.

Clientes que compram o livro <Livro>
também compram o livro <Livro>.
tipos n-ários

Fornece (Fornecedor, Parte, usuário:
Projeto)
 Fornecedor <Fornecedor> fornece parte
<Parte> para ser usada no projeto <Projeto>.
População
conjunto de instâncias num dado tempo t
Tipo de Relacionamento: R(p1:E1,…,pn:En)

constante
 com relação a pi se as instâncias de R nas quais ei
participa não se alteram durante a existência de ei.

permanente
 com relação a pi se as instâncias de R nas quais ei
participa uma vez criadas não se alteram durante a
existência de ei.
Exemplos


Nasceu (nativo: Pessoa, localDeNascimento:
Cidade)
Visitou (visitante: Pessoa, Cidade)
Inclusão (subsumption)
Sejam R1 e R2 tipos de relacionamento. R2
inclui (subsumes) R1 se todas instâncias de
R1 são também instâncias de R2.
R1 é um subtipo de R2.
R2 é um supertipo de R1.
Sejam


Trabalha (empregado:Pessoa, Empresa)
Gerencia (gerente: Pessoa, Empresa)
Ex.: Se os gerentes forem empregados então:

Gerencia é um subtipo de Trabalha.
Representação num SI
Os tipos de relacionamento são
representados pelos seus nomes no
Modelo Conceitual
Os relacionamentos e suas
classificações em tipos de
relacionamento são representados na
Base de Informação.
Base de Informação (em LPO)
seja um Modelo com dois tipos de entidade Pessoa e
Livro e um tipo de relacionamento Lê,
respectivamente associados aos predicados Pessoa(),
Livro() e Lê().
suponha que o domínio contenha uma pessoa e um
livro, e que a pessoa esteja lendo o livro.
A base de informação conterá:





uma constante A representando a pessoa
uma constante B representando o livro
o fato Pessoa (A) representando que A é uma Pessoa
o fato Livro (B) representando que B é um Livro
o fato Lê (A, B) representando que a pessoa A lê o livro B
Estado da Base de Informação
Estado da BI em t = conjunto de fatos
em t
Base de Informação:

estado corrente (atual) em tatual
 fatos válidos em tatual

temporal em tatual
 fatos válidos em t ≤ tatual
tipos de fato


relacionados a entidade
relacionados a relacionamentos
Representação Lógica
R(p1:E1,…,pn:En): representado por um
predicado R n-ário cujos n argumentos
denotam entidades ou valores.
r = {<p1: e1>,…, <pn: en>} é instância
de R(p1:E1,…,pn:En) é representado pela
fórmula: R(e1…,en)
R(e1…,en) - fato
Restrição de Integridade Referencial
Se R(p1:E1,…,pn:En) é um tipo de
relacionamento síncrono:



R(e1,…,en) → E1(e1) ˄
…˄
R(e1,…,en) → En(en)
Inclusão (subsumption)
R1(p1,1:E1,…, p1,n:En) é um subtipo de
R2(p2,1:E1,…, p2,n:En) ↔
R1(e1,…,en) → R2 (e1,…, en)

Sejam
 Trabalha (empregado:Pessoa, Empresa)
 Gerencia (gerente: Pessoa, Empresa)

Ex.: Se os gerentes forem empregados
então:
 Gerencia é um subtipo de Trabalha.
 Gerencia (p, e) → Trabalha (p, e)
Representação em UML
Tipos de relacionamento binário podem ser
representados de duas formas:


associações binárias
atributos
Associações binárias são representadas como
uma linha conectando os dois tipos de
entidade.
O nome da associação (do tipo de
relacionamento) é mostrado perto da linha
O nome dos papéis é mostrado perto do
respectivo tipo de entidade.
Representação
em UML
Mora ►
residente
Pessoa
{«permanente»}
localDeResidência
nativo
localDeNascimento
{«constante»}
{«permanente»}
Cidade
{«permanente»}
Trabalha



Mora(residente: Pessoa, localDeResidência: Cidade)
Nasceu(nativo: Pessoa, localDeNascimento: Cidade)
Trabalha(Pessoa, Cidade)
Navegação
Mora ►
residente
Pessoa
{«permanente»}
localDeResidência
nativo
localDeNascimento
{«constante»}
{«permanente»}
Cidade
{«permanente»}
(cidade)
Trabalha





Mora(residente: Pessoa, localDeResidência: Cidade)
Nasceu(nativo: Pessoa, localDeNascimento: Cidade)
Trabalha(Pessoa, Cidade)
Visitou (Pessoa, Cidade) 
Visitou (visitante: Pessoa, cidadeVisitada: Cidade) 
Representação em UML
Tipos de relacionamentos n-ários são representados
como losangos
Ex.: Fornece (Fornecedor, Parte, usuário: Projeto)
Fornece
Fornecedor
Parte
usuário
Projeto
Atributos
Um atributo é um tipo de
relacionamento binário R(p1:E1, p2:E2)
cujo participante p2 é considerado como
uma característica de E1, ou p1 uma
característica de E2.
esquema:


Atributo P(E1, E2) equivalente ao tipo de
relacionamento R(E1, p:E2)
Ex.: atributo Saldo (Conta, Quantia)
equivalente ao tipo de relacionamento Tem
Saldo(Conta, saldo: Quantia)
Atributos: padrões de
sentenças
Instâncias de atributos podem ser expressas
em sentenças
Ex.: Seja o atributo Saldo(Conta, Quantia)


O saldo da conta <Conta> é a quantia
<Quantia>. OU
A quantia <Quantia> é o saldo da conta <Conta>.
Estrutura Geral


(O|Um) P de e1 <E1> é e2 <E2>.
e2 <E2> é (o|um) P de e1 <E1>.
Atributos: Representação em
UML
Os atributos são representados no compartimento
médio do correspondente tipo de entidade.
Nesse compartimento, o atributo P (E1, E2) é
representado pela expressão p: E2
O atributo P (E1, E2) pode ser representado por E1::p
Os valores dos atributos de uma entidade podem ser
representados na mesma notação
Rio
Cliente
nome: String
aniversário: Data
saldo: Quantia
{«constante»}
umCliente: Cliente
comprimento: Comprimento
{«constante»}
nome = Marco
aniversário = 04/05/1974
saldo = R$ 100
Download

Slides Aula 2