Você está na página 1de 45

Aula 2: Representao utilizando conjuntos.................................................................................

2
Introduo ............................................................................................................................. 2
Contedo................................................................................................................................ 3
Introduo........................................................................................................................... 3
Fatos e coisas...................................................................................................................... 4
Abordagem do projeto ..................................................................................................... 5
Representando uma classe .............................................................................................. 6
Anlise dos atributos ......................................................................................................... 7
Propriedade da identidade ............................................................................................... 8
Relacionamentos ............................................................................................................... 9
Estabelecimento de relacionamentos ......................................................................... 10
As quatro possibilidades de multiplicidade do conjunto A em relao ao
conjunto B......................................................................................................................... 11
Atividade proposta .......................................................................................................... 14
Modelar sub conjuntos ................................................................................................... 27
Atividade proposta .......................................................................................................... 33
Aprenda Mais....................................................................................................................... 37
Referncias........................................................................................................................... 38
Exerccios de fixao ......................................................................................................... 38
Chaves de resposta ..................................................................................................................... 43

MODELAGEM DE DADOS

Introduo
Existem diversas formas para se representar o mundo simblico. Como a
representao interpretada em cada plano de referncia deve-se ter uma
forma de registro que diminua as diversas interpretaes. O uso de ferramentas
matemtica permite que se faa o registro com um entendimento comum.
Como se observa coisas e fatos do mundo real e seus relacionamentos,
podemos utilizar a teoria dos conjuntos para esta tarefa. Existem diversas
ferramentas grficas para este trabalho, que se desenvolver utilizando as
representaes propostas no UML (uma padronizao de um conjunto de
ferramentas para representao).
Destaca-se que o objetivo o tratamento matemtico, no existe a
preocupao com a forma de representar, que poderia qualquer outra, mas
est se usando UML para seguir a padronizao de ferramentas no
desenvolvimento de sistemas.
Objetivo:
1. Identificar conjuntos do mundo real, relacionamentos e suas propriedades;
2. Identificar particionamentos de conjuntos, subconjuntos e associaes.

MODELAGEM DE DADOS

Contedo
Introduo
O mundo real complexo e para representar de forma ordenada os objetos e
fatos do mundo real deve-se fazer isso em etapas. Como se viu no captulo
anterior uma das capacidades de aprendizado humano a abstrao. a partir
dela que se pode compreender fenmenos mais complexos. Para se fazer a
modelagem conceitual deve se abordar o problema em nveis e para cada nvel
deve-se acrescentar informaes que complete o nvel anterior acrescentandose novas informaes s j conhecidas. Assim pode-se diferenciar as
dificuldades do mundo real e as que so introduzidas pelos tratamentos
tecnolgicos.
Para tratar de maneira organizada a representao do mundo real a abordagem
deve ser feita, no mnimo, em trs nveis: conceitual, lgico e fsico.

FIGURA 1: Abordagem de um projeto de representao do mundo real.

MODELAGEM DE DADOS

Fatos e coisas
Nvel Conceitual
No nvel conceitual identificam e registram-se fatos e coisas do mundo real.
Apenas os conjuntos que so importantes e o relacionamento que existe entre
os elementos desses conjuntos. Em nenhum momento pensa-se em tecnologia.
O Foco o negcio. Normalmente procura-se identificar o conjunto alvo, ou
seja, aquele que direciona todo o estudo. Por exemplo, se o mundo real um
estacionamento e o objetivo o controle de vagas, o conjunto foco o de
vagas.
Nvel Lgico
No nvel lgico se introduz os conceitos necessrios da tecnologia, por exemplo,
no caso de representao de dados so as informaes necessrias
introduzidas pelos modelos de banco de dados, ou se for para transmisso s
caractersticas de tratamento dos protocolos.
Nvel Fsico
No nvel fsico as informaes necessrias sua implementao, por exemplo,
colocar as informaes para representar os dados nas formas de impulsos
eltricos ou qualquer outro tipo.

Ateno
A figura 1 apresentada anteriormente mostra de forma ilustrativa
como um projeto de representao do mundo real deve ser
implementado. Deve-se identificar o recorte de trabalho, ou seja,
o contexto, o plano de referncia que vamos tratar. Se isso no
for definido corretamente introduz-se um risco muito elevado
para o projeto. Sobre esse recorte se faz anlise, isto ,
observao. E durante essa tarefa podem ser introduzidas
distores.

MODELAGEM DE DADOS

uma atividade de risco e deve ser feita com muito cuidado, por
isto foi representada por uma linha irregular na figura. Aps a
modelagem conceitual tem-se o modelo conceitual e ele
entrada para as demais etapas. Na figura a mudana de fase
representada por setas, pois feita a partir de regras fixas.

Abordagem do projeto
Definido o recorte devem-se identificar conjuntos no mundo real. A figura 2.2
mostra que se identificou no mundo real um conjunto, inicialmente pensa-se
ser uma abstrao, que chamados de pessoa. No mundo simblico ser
representado por um retngulo e as propriedades observadas nos elementos do
conjunto so representadas junto ao retngulo.

FIGURA 2: Abordagem mundo real com o mundo simblico

Eles constituem o modelo de imagem, ou seja, como os elementos sero


representados. Veja que um elemento do conjunto chamado de objeto, na
figura, por exemplo, a pessoa Sr. Joaquim tem a imagem representada na
figura segundo o plano de referncia que foi definida a imagem.

MODELAGEM DE DADOS

Vai-se usar na representao o diagrama de classes o principal dos diagramas


do UML e pode ser usado para se fazer a modelagem conceitual. Os retngulos
e propriedades sero representados segundo as definies do UML. O diagrama
como uma fotografia dos objetos e fatos identificados a partir do mundo
real. uma representao esttica, e no deve ser usado para representar
situaes dinmicas no mundo real. Existem ferramentas prprias para isso e
no o objetivo deste trabalho.
Vamos criar o diagrama de classes a partir da observao do mundo real para
um determinado contexto. O foco da anlise o negcio. Imagine que voc
est no sculo 15 e que no existe computador enquanto estiver fazendo a
modelagem conceitual. Ao observar um conjunto sobre o qual temos alguns
interesses (guardar os dados dos elementos de um conjunto, por exemplo)
dizemos que temos uma classe. As propriedades que desejo observar
(propriedades para a qual desejamos guardar valores) so chamado de
atributos.

Representando uma classe


Existem vrias formas grficas para se representar uma classe, mas em UML,
quando temos interesse em um conjunto do mundo real, desenhamos:
Nome da classe ou elemento da observao
Propriedades que se est interessado em observar ou atributos
Exemplo: Ao se observar um conjunto de pessoas, e as informaes sobre as
quais temos interesse so: nome, endereo, telefone, CPF.
Ao definir a classe conceitual define-se um modelo de representao dos
elementos do conjunto:
Assim os elementos (Manoel, rua do bispo, 3, 32116734, 371622571) (Jose,
Rua Ava, 34, 3226216, 37162225881) ficam representados:

MODELAGEM DE DADOS

Ateno
Observe que se est representando os valores que os atributos
assumem nas representaes. Neste caso se diz que a classe foi
instanciada, ou seja, recebeu valores. Cada um dos elementos
no mundo das representaes chamado de um objeto da
classe. Ento uma classe representa um conjunto e os elementos
do conjunto objetos so representados segundo a definio
da classe.
Dicas 1:
Uma classe a descrio de um tipo de objeto do mundo real;
Usam-se classes para classificar os objetos que identificamos
no mundo real.

Anlise dos atributos


Um atributo uma propriedade observada do mundo real para um conjunto e
um conjunto de atributos para um mesmo elemento constitui a imagem do
elemento. Assim, cada elemento no mundo real ter uma imagem e o conjunto
de elementos representado por um conjunto de imagens. Uma forma fcil de
representar o conjunto na forma de tabela.
Para o exemplo apresentado tem-se a tabela chamada de Pessoa, normalmente
se d o nome da classe (ou conjunto representado) tabela, embora isso no
seja obrigatrio e as colunas da tabela so os atributos desejados,
normalmente tambm se coloca o nome da propriedade como nome da
propriedade.

MODELAGEM DE DADOS

Tabela representativa de chamada de Pessoa

O conjunto de valores que uma propriedade pode assumir chamado de


domnio do atributo. Cada atributo tem o seu domnio de valores. Um domnio
pode ser enumervel ou no, pode ser finito ou no. Assim o atributo sexo s
pode assumir masculino ou feminino, finito e enumervel. Estes domnios
tambm devem ser definidos nos processos de modelagem conceitual. H
necessidade se identificar o elemento do mundo real a partir de sua imagem,
ou seja, h necessidade de se ter propriedades capazes de identificar de forma
biunvoca a imagem e o elemento no mundo real. Estas propriedades so
chamadas de identificadoras.
As propriedades chamadas de identificadoras so aquelas que atendem a uma
propriedade, a propriedade da identidade.

Propriedade da identidade
Um atributo identificador quando:
de preenchimento obrigatrio;
Se tem a garantia que no existem dois elementos com o mesmo valor para o
atributo.
Considere na imagem pessoa o atributo endereo, e no contexto de
preenchimento obrigatrio. Analisando, este atributo atende primeira parte da
regra. Mas, no atende segunda, pois no se pode garantir que no exista

MODELAGEM DE DADOS

duas imagens com o mesmo valor para o atributo, portanto, o atributo no


identificador.
Considere agora a propriedade CPF. No contexto que se est analisando de
preenchimento obrigatrio e assim atende primeira parte da regra. Pode-se
garantir que no exista dois valores de CPF iguais, portanto, o atributo tem a
caracterstica identificadora.
Veja que ao se determinar que uma propriedade seja identificadora est se
introduzindo uma limitao no domnio do atributo, pois no se permitir
repeties. Pode-se ter mais de um identificador para um conjunto. Um
identificador tambm chamado de candidato a chave. Essa ao deve ser
feita com cuidado e no se devem importar identificadores do simblico de
outras empresas, pois estas podem modific-los introduzindo um risco elevado
para a modelagem que se est realizando. Essa chave o identificador do
conjunto e ser usada em toda a construo do modelo conceitual e se for
substituda tornar intil todo o modelo. O ideal definir atributos artificiais
cuja construo e domnio seja definido pelo analista que est fazendo o
modelo.
Entre os candidatos a chave (ou identificadores) nomeia-se um como chave, ou
seja, um identificador para o conjunto.

Relacionamentos
Outro elemento importante, para a modelagem de classes, o relacionamento
entre os elementos do conjunto. O relacionamento o mesmo conceito
matemtico estabelecido em teoria dos conjuntos. Tm-se um relacionamento
quando se estabelece alguma ligao entre os conjuntos. No uma ligao
fsica, uma ligao definida no plano de referncia, por isso no tem como se
constatar fisicamente. um elemento conceitual. Reflete o conhecimento a
respeito de alguma coisa. S existe no mundo simblico.

MODELAGEM DE DADOS

Para esclarecer analisar-se- alguns exemplos: Voc tem o conjunto dos


homens e o conjunto das mulheres. A relao casamento normalmente associa
um homem a uma mulher. A relao possuir associa um elemento do conjunto
de objetos a um elemento do conjunto de pessoas. Um relacionamento um
estabelecimento conceitual entre elementos de um conjunto com outro que
depende do aspecto do mundo real que se est analisando.

Estabelecimento de relacionamentos
Quando se tem um conjunto, como por exemplo, o de alunos:
Se est analisando, no mundo real, como o controle de estacionamento
construdo apenas para alunos, identificamos que o outro conjunto de interesse
o de veculos:
Para os dois conjuntos pode-se estabelecer um relacionamento que
representado da seguinte forma:
Pode-se escrever o relacionamento que se est estabelecendo. Observe que
tem DOIS relacionamentos: de aluno para veculo (relacionamento: possui), e,
de

veculo

para

aluno

(relacionamento:

pertence).

nome

desses

relacionamentos no so padronizados e devem ser dados de forma a definir as


relaes. O sentido da relao indicado por uma seta, como mostrado abaixo:

Ateno
Assim, o relacionamento mostra o sentido da leitura:
Aluno possui veculo;
Veculo pertence a aluno.
Dica 2:
- Um relacionamento um conceito: no existe fisicamente no
mundo real;
- Existe sempre dois relacionamentos entre conjuntos (de A para

MODELAGEM DE DADOS

10

B e de B para A);
- No force a barra para colocar o mesmo nome para o dois
relacionamentos. perda de tempo e tira o foco da anlise que
est sendo feita;
- No padronize relacionamentos, eles mudam para cada novo
mundo real que se est analisando.

As quatro possibilidades de multiplicidade do conjunto A em


relao ao conjunto B
Existem quatro possibilidades de multiplicidade do conjunto A em relao ao
conjunto B:
Primeira: Analisando A verifica-se que de todo elemento do conjunto A sai
uma fecha:

FIGURA 3: Imagem representativa sobre relacionamentos

MODELAGEM DE DADOS

11

Pode ser que todos os elementos de A tenham o par (a, b), neste caso se fala
para todo a pertencente ao conjunto A temos uma imagem b no conjunto B.
Observe que no interessa como chega ou para quem chega ao conjunto B.
Neste caso representamos esta informao junto ao relacionamento no sentido
da leitura:

FIGURA 4: tabela representativa sobre o relacionamento no sentido da leitura

LEMOS: Todo veculo pertence a UM aluno.


Lemos do seguinte modo: Todo veculo pertence a UM aluno.
Segunda situao:
Observe que da situao anterior um elemento do conjunto A no tem
correspondente no conjunto B. Se existir um elemento (basta um) no ter
correspondente que caracterizamos esta situao. Representamos assim:

MODELAGEM DE DADOS

12

FIGURA 5: Imagens representativas sobre relacionamentos

Existem alunos que TEM ZERO ou UM pai vivo. Terceira situao: De todo
elemento de A estabelecemos um relacionamento, mas existem (no mnimo
um) elementos que tem mais de um correspondente no conjunto B.
Esta situao representa-se na forma:

FIGURA 6: Imagens representativas sobre relacionamentos

Lemos do seguinte modo: Um aluno cursa uma ou mais disciplinas. Quarta


situao:
No mnimo um elemento pertencente ao conjunto A no tem correspondente
em b e existem elementos no conjunto A com mais de uma imagem.
Representa-se:

MODELAGEM DE DADOS

13

FIGURA 7: Imagens representativas sobre relacionamentos

Ateno
a multiplicidade 0..N ou 1..N est representado o mnimo e o
Mximo de relacionamento de um elemento, na forma
min..max assim pode se representar 3..10 indica que existem
elementos no conjunto a com um mnimo de 3 correspondentes
em B e no mximo 10 correspondentes no conjunto B.
Pode-se ainda substituir o N por *.
De forma resumida:

FIGURA 8: Imagens representativas sobre relacionamentos entre cliente e conta-correte

Atividade proposta
Considere o mundo real abaixo:
Um Banco tem diversas agncias identificadas por um cdigo. importante ter
as informaes do endereo, telefone, tamanho em metros quadrados de cada
agncia. Cada agncia tem sua carteira de clientes. No h interesse em saber
se o cliente tem ou no conta em outra agncia. Do cliente deve-se ter as
informaes de nome, endereo, CPF. Passamos a ter um cliente quando uma
pessoa abre uma conta corrente. No interessa o nmero de contas que o
cliente abre. Cada conta identificada por um nmero, um gerente
responsvel, um saldo atual e um saldo mdio.

MODELAGEM DE DADOS

14

Considere o texto abaixo que caracteriza uma descrio de um mundo real para
uma empresa, a qual dividiu-se em frases numeradas para facilitar o
entendimento:
(1) Uma empresa especializada na venda de livros, CDs e DVDs necessita de
um sistema que a auxilie no controle e na distribuio dos seus produtos, em
funo de sua notvel expanso.
(2) O sistema dever permitir o registro dos pedidos dos clientes. Os clientes ao
serem cadastrados devero informar o nome, o endereo, o nmero do
telefone (de 0 a 3 nmeros diferentes) e nmero do CPF, que doravante ser o
seu identificador junto empresa.
(3) Pode-se imaginar que cada cliente poder realizar um pedido com vrios
produtos e quantidades. Para identificar um pedido ser necessrio armazenar
o seu nmero e a sua data.
(4)Este pedido dever ser encaminhado para o departamento de estoque a fim
de providenciar a entrega do mesmo na data definida e no endereo
estabelecido. Este ltimo podendo ser diferente do endereo informado pelo
cliente no ato do seu cadastramento.
(5) Uma entrega dever ser realizada por uma das transportadoras
cadastradas. Neste cadastro dever ser informado o cdigo da transportadora,
o endereo, o nmero do telefone (de 0 a 5 nmeros diferentes) e nmero do
CNPJ (Cadastro Nacional de Pessoa Jurdica do Ministrio da Fazenda).
(6) A transportadora selecionada assumir toda a responsabilidade pela carga,
mediante o pagamento de um seguro o que dever ser somado ao valor dos
itens constantes em um pedido.
(7) Para maior controle, exige-se que associado ao pedido a transportadora
identifique, atravs da placa do veculo, o caminho que ir fazer o transporte
e, atravs do nome e do nmero do CPF, o funcionrio que ir fazer a entrega.
(8)Estas informaes so, entretanto, de responsabilidade da transportadora,
no cabendo empresa atacadista nenhuma responsabilidade por erros na
informao fornecida.

MODELAGEM DE DADOS

15

(9)Ao receber a mercadoria o cliente dever verificar se a quantidade e o preo


de cada item da fatura esto corretos. Se no houver divergncias ele assinar
o recibo de entrega e lanar a data da mesma, que posteriormente ser
registrada no sistema. Caso haja alguma divergncia o cliente poder recusar
o recebimento dos produtos. Neste caso, a fatura ser recusada e os produtos
devolvidos.
(10) O responsvel pela entrega dever informar a data da entrega e motivo da
devoluo. O motivo da devoluo informado dever ser escolhido a partir de
uma lista contendo o cdigo do motivo e a descrio do mesmo.
(10) A transportadora ser remunerada em 5% do valor dos itens constantes
no pedido (excludo o valor do seguro), mesmo que estes sejam devolvidos.
(11) As faturas, aps o recebimento, sero transformadas em compromissos
financeiros assumidos pelos clientes.
(12) Elas podero ser cobradas vista ou em parcelas, conforme definio no
ato da compra. Todos os boletos de cobrana sero emitidos por uma
instituio financeira, dentre as vrias cadastradas no sistema.
(13) Os boletos devero informar o nmero do banco, o nome do banco, o
nmero do cdigo de barras, a data de vencimento e o valor a ser pago.
(14) No final de cada ms os bancos mandam um relatrio com a relao de
todos os boletos que foram pagos. Este relatrio dever conter a data do
pagamento e, se houver atraso, o valor da multa e dos juros cobrados. Tal
informao dever ser posteriormente registrada no sistema.
(15) Outra necessidade da empresa atacadista poder controlar melhor o seu
estoque de mercadorias. Para isso necessrio conhecer a quantidade
disponvel em estoque para cada produto comercializado, alm de abater do
estoque disponvel as quantidades vendidas aos seus clientes.
Construa o modelo conceitual para representar o modelo.

MODELAGEM DE DADOS

16

Chave de resposta:
Frase (1):
Nesta frase especifica-se que o simblico da empresa ira tratar livros, cds e
DVD, que so os tipos de produtos que a empresa comercializa:

Tipo_produto
Cod_produto
nome

autor
{completo, disjuntos}

DVD
CD

LIVRO

Cod_produto
Cod_produto

autor
tempo

Cod_produto

autor

autor

Num. faixas

editora

(plano de referencia de vendas)


Frase (2):
Nesta frase indica-se que a empresa tem interesse em ter a informao de seus
clientes. E afirma-se que um pedido de um cliente e este deve ter um ou mais
pedidos (se no tiver pelo menos um pedido no cliente deve se verificar
com o usurio.)
CLIENTE
nome
endereo

PEDIDO
1

1..N

Cpf (ID)
Telefone 1
Telefone 3
Telefone 2

MODELAGEM DE DADOS

17

Frase (3):
Nesta frase se identifica que existe outro conjunto chamado produtos que so
colocados no pedido

CLIENTE
produto

PEDIDO

nome
endereo

numero

1..N

Data pedido

Cpf (ID)

1..N

quantidade
preo

Telefone 1

descrio

Telefone 3

Cod_produto

Telefone 2

Frase (4):
No simblico da empresa, estamos no plano de interesse do controle de
estoque e h necessidade de um novo conjunto com dados referentes a
entrega, assim pode se completar com o novo conjunto a imagem de pedido e
de produto em estoque, que no a informao do que includo no pedido.
Assim aparecem dois novos conjuntos um se chamar estoque, e o outro
entrega, neste exerccio.
CLIENTE

endereo
Cpf (ID)

produto

PEDIDO

nome
1

1..N

numero
Data pedido

Telefone 1

1..N

quantidade
preo

descrio
Cod_produto

Telefone 3
Telefone 2

0..N

0..N
entrega
Data-entrega
Endereo-entrega

1
estoque
Quant. estocada

Preo unitario

MODELAGEM DE DADOSdescrio
18
Cod_produto

Na realidade estoque um tipo de produto comercializado que apareceu na


frase 1 assim substitui-se pela estrutura fica:

CLIENTE

endereo

produto

PEDIDO

nome
1

1..N

numero

1..N

quantidade

Data pedido

Cpf (ID)

preo

Telefone 1

descrio

Telefone 3

Cod_produto
1

Telefone 2

0..N

0..1
entrega
Data-entrega
Endereo-entrega

1
Tipo_produto

Cod_produto
nome

autor
Preo unitario
Quant. estocada

descrio
{completo, disjuntos}

DVD
CD

LIVRO

Cod_produto
autor
tempo

Cod_produto

Cod_produto

autor

MODELAGEM
Num .faixas DE DADOS

autor

19

editora

Frase (5):
Nesta frase aparece mais uma necessidade que ter informaes sobre a
transportadora que a empresa cadastra. Colocou-se um atributo para cada
telefone, e isto s foi possvel porque se sabia o nmero mximo de telefones.
E uma nova informao deve ser acrescentada a entrega que a da
transportadora que far a entrega..

MODELAGEM DE DADOS

20

Frase (6):
Na frase seis tem-se novos atributos necessrios para o setor de entrega, e
deve-se acrescentar a imagem de pedido as informaes necessrias para se
somar o frete e o total de itens e que deve entrar no modelo
pedido
numero

Data pedido

Data entrega
Endereo entrega

Cdigo transp.
Valor-frete
Total-frete

Veja que se acrescenta novos atributos a entrega, e estes devem ser


acrescentados a imagem.

entrega
Endereo entrega

Data entrega
Cdigo transp
NOME-FUNCIONARIO

CPF-FUNCIONARIO
PLACA-CAMINHAO

Frase (8):
Veja que na frase 8 tem-se uma regra de negcio do setor de expedio, mas
nenhuma nova informao acrescentada as imagens at aqui identificadas.

MODELAGEM DE DADOS

21

Frase (9):
Se a entrega estiver correta, deve-se saber quem assinou o recebimento da
mercadoria e a data, pois a mesma ser armazenada. Assim tm-se dois novos
atributos que devem ser adicionados a imagem entrega:

entrega
Endereo entrega

Data entrega
Cdigo transp
NOME-FUNCIONARIO

CPF-FUNCIONARIO
PLACA-CAMINHAO
Nome-recebimento
Data-recebimento

Outro fato importante para a empresa quando o produto recusado, neste


caso deve-se criar este conjunto, fazendo referencia a entrega.
entrega

Entrega rejeitada

Endereo entrega

Endereo entrega

Data entrega

1..0

Data entrega

Cdigo transp

Cdigo transp

NOME-FUNCIONARIO

Nome-recebimento

CPF-FUNCIONARIO

Data-recebimento

PLACA-CAMINHAO
Nome-recebimento

Motivo -recusa
Cod_entrega

Data-recebimento
Cod_entrega
Percentual _transp

MODELAGEM DE DADOS

22

Frase (10):
A transportadora ser remunerada em 5% do valor dos itens constantes no
pedido, e isto uma regra de negcio que j atendida pelos conjuntos
existentes coloca-se como atributo da transportadora: O modelo fica:

Frase (11):
dito que as entregas so transformadas em compromisso financeiro, que
um novo conjunto, de interesse do setor financeiro da empresa, e que se
relaciona com a entrega.

Esta pode ou no se transformar em um

MODELAGEM DE DADOS

23

compromisso financeiro. No vai se representar todo o modelo para simplificar


o entendimento no diagrama abaixo:

entrega

Entrega rejeitada

Endereo entrega

Endereo entrega

Data entrega

Data entrega

1..0

Cdigo transp

Cdigo transp

NOME-FUNCIONARIO

Nome-recebimento

CPF-FUNCIONARIO
PLACA-CAMINHAO
Nome-recebimento

Motivo -recusa
Cod_entrega

Data-recebimento
Cod_entrega
Percentual _transp

0..1
Compromisso financeiro
Cpf-cliente
Valor-fatura
Data-vencimento
Cod_entrega

Frase (12)
Nesta frase tem-se a informao que o pagamento pode ser de dois tipos neste
caso deve colocar este atributo no conjunto de compromisso financeiro.
Identificam-se ainda dois novos conjuntos de interesse da empresa para emitir
a cobrana bancaria: o Banco e o boleto. Tm-se os conjuntos:

MODELAGEM DE DADOS

24

Compromisso financeiro

banco

Cpf-cliente

Cod-banco

Valor-fatura

0..N

Nome-banco
agencia

Data-vencimento
Numero parcelas
Cod-entrega

0..N
Fatura do banco
Cpf-cliente
Valor-fatura
Data-vencimento
banco
Data-pagamento
agencia
Cdigo-fatura

frase(13)
Nesta frase tm-se informaes para completar o conjunto de fatura banco
(boletos), neste caso se corrige os atributos que foram supostos em fases
iniciais.
Fatura do banco
Cpf-cliente
Valor-FATURA
Data-vencimento
Numero banco
Data-pagamento
Cdigo de barras
CODIGO-FATURA
AGENCIA
AGENCIA

MODELAGEM DE DADOS

25

FRASE(14)
Na frase 14 tem se informaes referentes ao recebimento, e como de
interesse da empresa se cria um novo conjunto relaciona-se a fatura.

Fatura do banco
Pagamento da Fatura nco
Cpf-cliente
Cpf-cliente

Valor-FATURA
Data-vencimento

Valor pago

0..N

Data-vencimento

Numero banco

Valor juros

Data-pagamento

Data-pagamento

Cdigo de barras

Valor-multa

CODIGO-FATURA

Codigo-fatura

AGENCIA

OBS: A resposta poder ter pequenas variaes do gabarito apresentado.


Questo 2: Pode-se organizar a informao em uma generalizao?
Gabarito: Sim.

Pode-se criar o conjunto de faturas e criar os subconjuntos

fatura paga e fatura no paga.


Justificativa:
uma forma mais estruturada de fazer a modelagem
Questo 3:
Voc sabe justificar como foram criados identificadores?
Gabarito:
No conjunto existem identificadores criados pelo modelador.
Justificativa:
Isto uma prtica comum para diminuir o risco de alteraes no sistema
provocadas por gentes externos.
Questo 4: Na generalizao poder-se-ia indic-la como no completa?

MODELAGEM DE DADOS

26

Gabarito: sim, se a empresa tiver mais produtos alm dos ditos no texto
Justificativa:
comum representa-se apenas o que interessa, mas pode existir outros
produtos alm dos apresentados no diagrama
Questo 5:
Pode-se dividir o diagrama e reas atuao da empresa?
Gabarito: Sim, pois mostra-se os conjuntos de entidades que so manuseadas
por cada plano de referencia (ou seja setores da empresa)
Justificativa:
uma forma comum de organizar os conjuntos envolvidos na empresa. Os
conjuntos so modificados gerando novos conjuntos. Assim pode-se separar os
conjuntos por setores na empresa.

Modelar sub conjuntos


Muitas vezes temos um conjunto, no mundo real, mas estamos interessados em
um subconjunto, ou por que se deve acrescentar alguma informao, ou
precisa-se fazer um tratamento especfico desses elementos. Considere o
conjunto de inscritos em um concurso pblico, por exemplo, e modela-se a
seguinte classe:
O diagrama representa dois subconjuntos no conjunto principal, no interessam
para o subconjunto feminino se foi ou no aprovado. Ou seja, nada podemos
afirmar sobre a interseo dos dois (ou mais) sub conjuntos.
O diagrama representa dois sub conjuntos no conjunto principal no interessam
para o sub conjunto de feminino se foi ou no aprovado.

Ou seja, nada

podemos afirmar sobre a interseo dos dois (ou mais) sub conjuntos. A
hierarquia estabelecida do conjunto principal para os sub conjuntos tambm
chamada de estrutura GEN-ESP (generalizao para a especialidade).

conjunto principal tambm chamado de super classe e os conjuntos de


subclasses.

MODELAGEM DE DADOS

27

Uma sub classe pode ter mais de uma superclasse, ou seja, pode se ter um sub
conjunto comum a dois conjuntos principais, neste caso, diz se que h herana
mltipla.

trabalhador

candidato

nmero

nmero
nome

nome

endereo

endereo

contratado
nmero
num.contrato
data-contratao

MODELAGEM DE DADOS

28

Pode-se representar vrios subconjuntos destacandoos por uma linha


pontilhada algumas restries entre chaves separadas por

vrgula quando

existir mais de uma:


trabalhador
nmero
nome
endereo
Incompleto, disjuntos

motorista

engenheiro

digitador

nmero

nmero

nmero

c.habilitao

universidade

velocidade

data carteira

data-formatura

editorpreferido

CPF

Foi

indicada

uma

restrio

com

duas

observaes:

que

no

foram

representados todos os subconjuntos (incompleto)e que podem ir sendo


completados, poderia ser completo se todos fossem representados. E que os
conjuntos so disjuntos, portanto mutuamente exclusivos, poderia ser
sobreposio se o elemento pudesse pertencera a mais de um subconjunto
nesta estrutura. Se o empregado for motorista, no engenheiro, ou seja, a
interseo entre os subconjuntos definidos o conjunto vazio.
A

A/B

MODELAGEM DE DADOS

29

Aprenda mais
Generalizaes Completa e Incompleta: Uma restrio simbolizando que uma
generalizao completa significa que todas as subclasses j foram
especificadas, e no existe mais possibilidade de outra generalizao a partir
daquele ponto. A generalizao incompleta exatamente o contrrio da
completa e assumida como padro da linguagem.
Pessoa

{completa}

Homem

Mulher

Aprenda mais:
veiculo
nmero
potencia
lugares
sobreposio,incompleto

aquatico

terrestre

nmero

nmero

velocidade

modelo

anfbio
nmero

ASSOCIAES:

MODELAGEM DE DADOS

30

Outro recurso importante a associao.

Uma associao um conjunto

criado com objetivo de ligar outros dois (ou mais) conjuntos existentes.
As classes associadas so representadas por linhas cheias e a classe que as
associa ligada a esta linha cheia por uma linha pontilhada.
Toda vez que tivermos um relacionamento de multiplicidade (0..*) para os dois
lados do relacionamento deve-se usar a classe associativa.

O modelo de

classes de objetos determinista, isto , devemos saber quem se relaciona com


quem, portanto a multiplicidade 1 obrigatria nos Relacionamentos fora da
estrutura associativa.
Exemplo: Uma empresa trabalha com projetos. Todo empregado trabalha em
um projeto, cada projeto coordenado por um rgo.

O departamento de

pessoal precisa saber que dia e hora o empregado entrou e saiu de cada
projeto. Faa um modelo de classes que permita fornecer esta informao:
Primeiro passo: O modelador inicia identificando os conjuntos existentes:

projetos

empregado

descrio
prazo

Tem

1..N

ALOCADO

0..*

nome

<-

matricula
salrio

RESPONSAVEL O..N
COORDENADO
1
ORGA
RAMAL
END

MODELAGEM DE DADOS

31

Segundo passo:
Verifica-se um relacionamento 1..N para 0..*.

um relacionamento no

determinista, ou seja, mltiplo, neste caso deve-se fazer uma classe associativa
que permite se acrescentar as informaes desejadas. Ento modelo fica:

projetos

empregado

descrio
prazo

Tem

1..N

nome

0..*

ALOCADO

matricula

<-

salrio
RESPONSVEL

O..N
COORDENADO
ALOCAO

1
ORGAO

DIA-ENTRADA

RAMAL

HORA-ENTRADA

END

HORA-SAIDA
DAIDA-SAIDA

Observe que ao se estabelecer o subconjunto est se definindo novas


propriedades para os elementos do subconjunto, inclusive o nome, ento se l:
candidato aprovado, tambm pode-se dizer que aprovado um papel do
conjunto de candidatos. A identificao do candidato no subconjunto a
mesma do conjunto. Em Modelagem de objetos diz-se que aprovado herdou as
propriedades

de

candidato

(matematicamente

no

correto,

pois

subconjunto tem as propriedades do conjunto principal), mas o termo devido


a uma caracterstica das linguagens de projetos. Pode-se ter subconjuntos de
vrios tipos de subconjunto.
Podemos destacar quantos subconjuntos for necessrio para se fazer a anlise,
assim, se a empresa que est promovendo o concurso tivesse interesse em
registrar o peso e a altura das candidatas femininas poderia representar:

MODELAGEM DE DADOS

32

Atividade proposta
Considere o texto que caracteriza uma descrio de um mundo real para uma
empresa.
Considere o mundo real abaixo:
Um Banco tem diversas agencias identificadas por um cdigo. importante ter
as informaes do endereo, telefone Tamanho em metros quadrados de cada
agencia. Cada agencia tem sua carteira de clientes. No h interesse em saber
se o cliente tem ou no conta em outra agencias. Do cliente deve-se ter as
informaes de nome, endereo, CPF. Passamos a ter um cliente quando uma
pessoa abre uma conta corrente. No interessa o numero de contas que o
cliente abre.

Cada conta identificada por um nmero, um gerente

responsvel, um saldo atual e um saldo mdio.


Primeiro passo:
Analisando o Mundo real descrito, podemos ter algumas dvidas, e para isto
devemos procurar o responsvel pela formulao do problema.

Em alguns

casos temos a liberdade de fazermos algumas suposies, mas que


obrigatoriamente devem ser verificadas antes de se seguir adiante. Analisando
o problema devemos estabelecer um foco para iniciar o trabalho. No texto qual
a inteno de que formulou a questo? Qual o foco da anlise?
Pode-se divergir um pouco, mas esta reflexo fundamental para o
desenvolvimento do raciocnio. Em minha opinio, como analista, e que pode
no coincidir com a sua, o texto foca no controle do cliente ou da conta
corrente. Assim vou estabelecer o conjunto inicial, para a qual representarei a
classe:

cliente
nome
endereo

MODELAGEM DE DADOS

33

Segundo passo:
Estabelecer os relacionamentos com conjuntos diretamente ligada classe
identificada. Neste caso foi incluir a classe conta com os seus respectivos
relacionamentos:

Conta corrente

cliente

Numero

nome

Tem

endereo

Saldo atual
de

Saldo mdio

Terceiro passo:
Estabeleo os relacionamentos com conjuntos necessrios para completar a
descrio ou que so necessrios para o objetivo focado. No nosso caso falta o
conjunto de agencias, tendo em vista que UM banco deseja controlar a s
agencias.

O conjunto de bancos desnecessrio, tendo em vista que seus

dados so inicialmente conhecidos e a aplicao esta sendo desenvolvida para


ele. O cliente da agencia e o meu foco o cliente, por isto vou relacionar o
conjunto de agencias com o conjunto de clientes.

Conta corrente

cliente

Numero

nome

1..n

Tem

endereo

11

de

Saldo atual
Saldo mdio

0 .. N
tem
de

1
agencia
cdigo
endereo
telefone

MODELAGEM DE DADOS

34

Pratique voc:
Considere o mundo real abaixo:
A biblioteca da universidade tem um acervo de livros, catalogados por titulo,
edio, editora, primeiro autor. Os alunos podem pegar livros nesta biblioteca.
Para isto a biblioteca tem registrado a matricula, nome, telefone e CPF de cada
aluno. Ao fazer o emprstimo, registra-se o dia da devoluo. Faa um modelo
de classes que represente a necessidade da biblioteca.

Chave de resposta:
Considere o mundo real abaixo:
A biblioteca da universidade tem um acervo de livros, catalogados por titulo,
edio, editora, primeiro autor. Os alunos podem pegar livros nesta biblioteca.
Para isto a biblioteca tem registrado a matricula, nome, telefone e CPF de cada
aluno. Ao fazer o emprstimo, registra-se o dia da devoluo. Faa um modelo
de classes que represente a necessidade da biblioteca.
Resposta
emprstimo

aluno
matricula
nome
Telefone

livro

titulo
Tem

0..*

de

de

matricula

titulo
edio

0..N

dataemprestimo

tem

data devoluo

primeiro autor
editora

Existem alguns conjuntos, que no processo de modelagem, que se deseja


condicion-los a existncia de outros conjuntos. So chamados de conjuntos
dependentes. A dependncia de conjuntos uma ferramenta da modelagem.
Neste caso o modelador deseja que a identificao do conjunto dependente
seja feita a partir do conjunto origem A representao da dependncia por
uma linha tracejada.

MODELAGEM DE DADOS

35

empregado
Matricula
nome

familiar
11
Tem

de

nome

0..*

parentesco

endereo

data nascimento
registro

O diagrama significa que o familiar deve ser identificado a partir da


identificao do empregado. Na realidade um objeto dependente s pode ser
dependente de um nico objeto, por isto desnecessrio a indicao da
multiplicidade 1.
Exemplo de desenvolvimento usando a dependncia.

Considere o pedido abaixo:

MODELAGEM DE DADOS

36

Primeiro passo: O objetivo da modelagem o controle o pedido, portanto, a


primeira classe que o foco da anlise j esta definida:
oramento
cliente
endereo

Segundo passo: precisamos colocar as informaes do item, mas estes itens


devem ser identificados a parte do numero do oramento (deciso de projeto)

oramento

Item de oramento

cliente
1
endereo

1..N

Numero item

1
quantidade
descrio
Preo unitrio

Aprenda Mais

Material complementar
Para saber mais sobre Identificao de objetos, leia Modelagem de
dados Wikipdia, a enciclopdia livre, disponvel em nossa
biblioteca virtual.

MODELAGEM DE DADOS

37

Referncias
RIBEIRO, HORACIO. Anlise orientada objetos: da teoria pratica.
editora europa.
POMPILHO, severino. Modelagem essencial. IBPI press.
HEUSER, C. Projeto de banco de dados. editora armed.Sserie de livro
didticos 4 srie.

Exerccios de fixao
Questo 1
Com respeito ao nvel conceitual para implementao de bancos de dados
relacionais normalizados correto afirmar que:
a) As conexes entre tabelas so vistas pelo usurio, na forma de ponteiros.
b) Todo o contedo de informao representado de um e somente um modo, ou
seja, como valores explcitos de colunas em linhas de tabelas.
c) Um

relacionamento

do

tipo

N:M

implicar

em

chaves

estrangeiras

multivaloradas nas tabelas relacionadas.


d) Um relacionamento do tipo 1:N implicar em que as chaves do lado N sero
chaves estrangeiras multivaloradas na tabela representada pelo lado 1.
e) Um relacionamento do tipo 1:1 no pode ser implementado em tabelas
relacionais.
Questo 2
So elementos da representao de um modelo conceitual de dados:
a) Identificador, relacionamento, atributo, entidade.
b) Entidade, coluna, ndice primrio, relacionamento.
c) Tabela, coluna, ndice primrio, relacionamento.
d) Entidade, relacionamento, identificador, chave estrangeira.
e) Relacionamento, chave estrangeira, ndice secundrio, ndice nico.
Questo 3

MODELAGEM DE DADOS

38

A captura dos requisitos de dados do mundo real de uma maneira simples e


significativa, inteligvel ao projetista de banco de dados e ao usurio final,
objetivo:
a) Do projeto fsico de banco de dados.
b) Do projeto lgico de banco de dados hierrquico.
c) Da modelagem de dados conceitual.
d) Da modelagem lgica de dados em rede.
e) Do projeto lgico de banco de dados relacional.
Questo 4
Os tipos de cardinalidades possveis de serem utilizados em um relacionamento
entre duas entidades so:
a) 2
b) 3
c) 4
d) 5
e) 6
Questo 5
Quanto ao nvel de abstrao de dados em um sistema de banco de dados,
correto afirmar que o nvel conceitual:
a) o mais alto nvel de abstrao e descreve apenas parte do BD.
b) o mais baixo nvel de abstrao e descreve como os dados esto realmente
armazenados.
c) Descreve quais dados esto armazenados de fato no BD e as relaes que
existem entre eles.
d) Apresenta a descrio detalhada de complexas estruturas de dados de baixo
nvel.
e) o nvel de abstrao definido para simplificar a interao do usurio com o
sistema, que pode fornecer muitas vises para o mesmo banco de dados.

MODELAGEM DE DADOS

39

Questo 06:
Considere o diagrama.

0..N

funcionario

departamento

O relacionamento entre as entidades interpretado como Departamento Aloca


(A) um e somente um Funcionrio e um Funcionrio Alocado em um ou
muitos Departamentos.
(B) um e somente um Funcionrio e um Funcionrio Alocado em um e
somente um Departamento.
(C) um ou muitos Funcionrios e um Funcionrio Alocado em um e somente
um Departamento.
(D) nenhum ou muitos Funcionrios e um Funcionrio Alocado em um e
somente um Departamento.
(E) nenhum ou muitos Funcionrios e um Funcionrio Alocado em nenhum ou
somente um Departamento.
QUESTO 07:
No diagrama entidade-relacionamento abaixo, CONSULTA tem o papel de
1
PACIENTE

N
N

CONSULTA

N
1

MEDICAMENTO
O

MEDICO 0..

MODELAGEM DE DADOS

40

(A) relacionamento genrico.


(B) entidade de generalizao.
(C) entidade fraca.
(D) relacionamento de especializao.
(E) entidade associativa.
QUESTAO 08:
Considere as afirmativa abaixo:
I Uma associao deve ser usada sempre que se identificara um
relacionamento do tipo 0..N para 0..N,ou seja, no seja determinista.
II Pode-se representar mais de um particionamento.

Para cada tipo de

particionamento pode-se ter grupos de subconjuntos diferentes,


III Pode-se representar um subconjunto e este pode ser dividido em outros
subconjuntos dependendo das necessidades da anlise.
Segundo a teoria apresentada, quais esto totalmente certas<
a) Somente I e II
b) Somente II e III
c) Todas esto corretas
d) Somente II e III
e) Todas esto erradas
Questo 09:
Considerando o contedo terico apresentado neste trabalho assinale a opo
correta:
a) Quando se tem uma estrutura em que se define um sub conjnto acrescentase novas propriedades que so usadas no subr conjunto, porm, o identificar
do subconjunto o mesmo do conjunto.
B) o relacionamento no determinista, do tipo 0..N para 0..N deve ser
priorizado, pois cria informao sobre os elementos do conjunto

MODELAGEM DE DADOS

41

c) Um subconjunto s pode ser usado para determinar outros conjuntos e no


deve ser usado em associaes.
d)Uma estrutura de associao deve ser evitada, pois exigem mais arquivos e
desta forma limitam a forma de usar o sistema.
e) Nenhuma das afirmativas est correta.
Questo 10:
Considere o diagrama abaixo:

Aluno
aprovado

Aluno

turma

matriculado

Sobre ele, segundo a teoria tratada neste trabalho, escolha a opo correta.
a) Segundo o diagrama podemos criar um conjunto a partir do conjunto
Aluno_matriculado,

porm

conceitualmente

no

possvel

considerar

Aluno_aprovado como subconjunto de turma.


b) Segundo o diagrama pode-se representar a partir do conjunto turma o sub
conjunto Aluno_matriculado e deste o subconjunto Aluno_aprovado.
c)Segundo o diagrama pode-se modelar uma estrutura associativa chamada
turma que associa os elementos dos outros conjuntos.
d)Segundo o diagrama deve-se fazer um conjunto chamado turma e aluno
aprovado um conjunto dependente. Aluno aprovado dependente de aluno
matriculado
e)Todos os trs conjuntos devem ser considerados como primrios deve-se
apenas estabelecer os relacionamentos.

MODELAGEM DE DADOS

42

Aula 2
Exerccios de fixao
Questo 1 - B
Justificativa: Todas as outras respostas se referem implementao do modelo
conceitual, sendo B apenas a que trata o modelo conceitual.
Questo 2 - A
Justificativa: As opes B, C, D e E possuem pelo menos um elemento que do
modelo lgico e apenas a opo a apresenta todos os termos usados na
modelagem conceitual.
Questo 3 - A
Justificativa: Um requisito acontece em um recorte do mundo real que se
deseja modelar, assim a partir dos requisitos podem-se identificar as imagens
geradas a partir da anlise dos requisitos.
Questo 4 - C
Justificativa: So 4 os tipos de cardinalidade para um relacionamento (1, 0..1,
1..n, o..n)
Questo 5 - C
Justificativa: A opo A est errada pois na abstrao no se descreve parte do
banco de dados,
A opo B est errada, pois a forma de armazenamento definida no momento
lgico.
A opo C est correta pois a abstrao define os dados e relaes que so
armazenadas.
A opo D est errada, pois a abstrao no trata estruturas de dados de baixo
nvel.

MODELAGEM DE DADOS

43

A opo E esta errada pois a abstrao no trata intenes


Questo 6 - D
Justificativa: O relacionamento tem uma associao. Deve-se analisar o
elemento da associao com relao a empregados e departamentos. A opo
D diz que zero ou mais funcionrios esto na associao. E todos os elementos
da associao esto ligados ao conjunto de departamentos.
Questo 7 - E
Justificativa: O conjunto associativo, independente dos conjuntos formadores,
pois a cardinalidade do relacionamento indica que cada elemento da associao
tem uma referncia para os formadores.
Questo 8 - C
Justificativa: A afirmativa I est correta porque a modelagem deve ser
determinista. Ou seja, deve-se identificar quem se relaciona com quem. A
afirmativa II coloca que pode-se criar categorias de subconjuntos. A afirmativa
III e uma complementao da anterior.
Questo 9 - A
Justificativa: O elemento do subconjunto existe no conjunto e ele j teve seu
identificador definido, portanto, deve ser o mesmo a ser usado no subconjunto.
A opo B est errada pois deve se evitar relacionamentos do tipo 0..n. para
0n.
Questo 10 - A
Justificativa: A afirmativa est certa, no possvel gerar um subconjunto a
partir do conjunto turma, pois so de naturezas diferentes. So coisas com
propriedades totalmente diferentes.

MODELAGEM DE DADOS

44

Você também pode gostar