apostila 2 modelagem de dados
-
Upload
andressa-moura -
Category
Documents
-
view
256 -
download
0
Transcript of apostila 2 modelagem de dados
-
8/17/2019 apostila 2 modelagem de dados
1/45
-
8/17/2019 apostila 2 modelagem de dados
2/45
MODELAGEM DE DADOS
Aula 2: Representação utilizando conjuntos ................................................................................. 2
Introdução ............................................................................................................................. 2
Conteúdo ................................................................................................................................ 3
Introdução ........................................................................................................................... 3
Fatos e coisas ...................................................................................................................... 4
Abordagem do projeto ..................................................................................................... 5
Representando uma classe .............................................................................................. 6
Análise dos atributos ......................................................................................................... 7
Propriedade da identidade ............................................................................................... 8
Relacionamentos ............................................................................................................... 9Estabelecimento de relacionamentos ......................................................................... 10
As quatro possibilidades de multiplicidade do conjunto A em relação ao
conjunto B ......................................................................................................................... 11
Atividade proposta .......................................................................................................... 14
Modelar sub conjuntos ................................................................................................... 27
Atividade proposta .......................................................................................................... 33
Aprenda Mais ....................................................................................................................... 37
Referências........................................................................................................................... 38
Exercícios de fixação ......................................................................................................... 38
Chaves de resposta ..................................................................................................................... 43
-
8/17/2019 apostila 2 modelagem de dados
3/45
MODELAGEM DE DADOS2
Introdução
Existem diversas formas para se representar o mundo simbólico. Como a
representação é interpretada em cada plano de referência deve-se ter uma
forma de registro que diminua as diversas interpretações. O uso de ferramentas
matemática permite que se faça 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 gráficas para este trabalho, que se desenvolverá utilizando as
representações propostas no UML (uma padronização de um conjunto de
ferramentas para representação).
Destaca-se que o objetivo é o tratamento matemático, não existe a
preocupação com a forma de representar, que poderia qualquer outra, mas
está se usando UML para seguir a padronização de ferramentas no
desenvolvimento de sistemas.
Objetivo:
1. Identificar conjuntos do mundo real, relacionamentos e suas propriedades;
2. Identificar particionamentos de conjuntos, subconjuntos e associações.
-
8/17/2019 apostila 2 modelagem de dados
4/45
MODELAGEM DE DADOS3
Conteúdo
Introdução
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 capítulo
anterior uma das capacidades de aprendizado humano é a abstração. É a partir
dela que se pode compreender fenômenos mais complexos. Para se fazer a
modelagem conceitual deve se abordar o problema em níveis e para cada nível
deve-se acrescentar informações que complete o nível anterior acrescentando-
se novas informações às já conhecidas. Assim pode-se diferenciar as
dificuldades do mundo real e as que são introduzidas pelos tratamentostecnológicos.
Para tratar de maneira organizada a representação do mundo real a abordagem
deve ser feita, no mínimo, em três níveis: conceitual, lógico e físico.
FIGURA 1: Abordagem de um projeto de representação do mundo real.
-
8/17/2019 apostila 2 modelagem de dados
5/45
MODELAGEM DE DADOS4
Fatos e coisas
Nível Conceitual
No nível conceitual identificam e registram-se “fatos” e “coisas” do mundo real. Apenas os conjuntos que são importantes e o relacionamento que existe entre
os elementos desses conjuntos. Em nenhum momento pensa-se em tecnologia.
O Foco é o “negócio”. 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.
Nível Lógico
No nível lógico se introduz os conceitos necessários da tecnologia, por exemplo,
no caso de representação de dados são as informações necessárias
introduzidas pelos modelos de banco de dados, ou se for para transmissão às
características de tratamento dos protocolos.
Nível Físico
No nível físico as informações necessárias à sua implementação, por exemplo,
colocar as informações para representar os dados nas formas de impulsos
elétricos ou qualquer outro tipo.
Atenção
A figura 1 apresentada anteriormente mostra de forma ilustrativa
como um projeto de representação do mundo real deve ser
implementado. Deve-se identificar o recorte de trabalho, ou seja,
o contexto, o plano de referência que vamos tratar. Se isso não
for definido corretamente introduz-se um risco muito elevado
para o projeto. Sobre esse recorte se faz análise, isto é,
observação. E durante essa tarefa podem ser introduzidas
distorções.
-
8/17/2019 apostila 2 modelagem de dados
6/45
MODELAGEM DE DADOS5
É uma atividade de risco e deve ser feita com muito cuidado, por
isto foi representada por uma linha irregular na figura. Após a
modelagem conceitual tem-se o modelo conceitual e ele é
entrada para as demais etapas. Na figura a mudança 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 abstração, que chamados de pessoa. No mundo simbólico será
representado por um retângulo e as propriedades observadas nos elementos do
conjunto são representadas junto ao retângulo.
FIGURA 2: Abordagem mundo real com o mundo simbólico
Eles constituem o modelo de imagem, ou seja, como os elementos serão
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 referência que foi definida a imagem.
-
8/17/2019 apostila 2 modelagem de dados
7/45
MODELAGEM DE DADOS6
Vai-se usar na representação o diagrama de classes o principal dos diagramas
do UML e pode ser usado para se fazer a modelagem conceitual. Os retângulos
e propriedades serão representados segundo as definições do UML. O diagrama
é como uma fotografia dos “objetos” e “fatos” identificados a partir do mundoreal. É uma representação estática, e não deve ser usado para representar
situações dinâmicas no mundo real. Existem ferramentas próprias para isso e
não é o objetivo deste trabalho.
Vamos criar o diagrama de classes a partir da observação do mundo real para
um determinado contexto. O foco da análise é o negócio. Imagine que você
está no século 15 e que não existe computador – enquanto estiver fazendo amodelagem 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) são chamado de
atributos.
Representando uma classe
Existem várias formas gráficas para se representar uma classe, mas em UML,
quando temos interesse em um conjunto do mundo real, desenhamos:
Nome da classe ou elemento da observação
Propriedades que se está interessado em observar ou atributos
Exemplo: Ao se observar um conjunto de pessoas, e as informações sobre as
quais temos interesse são: nome, endereço, telefone, CPF.
Ao definir a classe conceitual define-se um modelo de representação dos
elementos do conjunto:
Assim os elementos (Manoel, rua do bispo, 3, 32116734, 371622571) (Jose,
Rua Ava, 34, 3226216, 37162225881) ficam representados:
-
8/17/2019 apostila 2 modelagem de dados
8/45
MODELAGEM DE DADOS7
Atenção
Observe que se está representando os valores que os atributosassumem nas representações. Neste caso se diz que a classe foi
instanciada, ou seja, recebeu valores. Cada um dos elementos
no mundo das representações é chamado de um objeto da
classe. Então uma classe representa um conjunto e os elementos
do conjunto – objetos – são representados segundo a definição
da classe.
Dicas 1:• Uma classe é a descrição de um tipo de objeto do mundo real;
• Usam-se classes para classificar os objetos que identificamos
no mundo real.
Análise dos atributos
Um atributo é uma propriedade observada do mundo real para um conjunto eum 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 fácil 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 nãoseja obrigatório e as colunas da tabela são os atributos desejados,
normalmente também se coloca o nome da propriedade como nome da
propriedade.
-
8/17/2019 apostila 2 modelagem de dados
9/45
MODELAGEM DE DADOS8
Tabela representativa de chamada de Pessoa
O conjunto de valores que uma propriedade pode assumir é chamado de
domínio do atributo. Cada atributo tem o seu domínio de valores. Um domínio
pode ser enumerável ou não, pode ser finito ou não. Assim o atributo sexo só
pode assumir masculino ou feminino, é finito e enumerável. Estes domínios
também 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
biunívoca a imagem e o elemento no mundo real. Estas propriedades são
chamadas de identificadoras.
As propriedades chamadas de identificadoras são aquelas que atendem a uma
propriedade, a propriedade da identidade.
Propriedade da identidade
Um atributo é identificador quando:
• É de preenchimento obrigatório; • Se tem a garantia que não existem dois elementos com o mesmo valor para o
atributo.
Considere na imagem pessoa o atributo endereço, e no contexto é de
preenchimento obrigatório. Analisando, este atributo atende à primeira parte da
regra. Mas, não atende à segunda, pois não se pode garantir que não exista
-
8/17/2019 apostila 2 modelagem de dados
10/45
MODELAGEM DE DADOS9
duas imagens com o mesmo valor para o atributo, portanto, o atributo não é
identificador.
Considere agora a propriedade CPF. No contexto que se está analisando é depreenchimento obrigatório e assim atende à primeira parte da regra. Pode-se
garantir que não exista dois valores de CPF iguais, portanto, o atributo tem a
característica identificadora.
Veja que ao se determinar que uma propriedade seja identificadora está se
introduzindo uma limitação no domínio do atributo, pois não se permitirá
repetições. Pode-se ter mais de um identificador para um conjunto. Umidentificador também é chamado de candidato a chave. Essa ação deve ser
feita com cuidado e não se devem importar identificadores do simbólico 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 construção do modelo conceitual e se for
substituída tornará inútil todo o modelo. O ideal é definir atributos artificiais
cuja construção e domínio seja definido pelo analista que está fazendo omodelo.
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
matemático estabelecido em teoria dos conjuntos. Têm-se um relacionamento
quando se estabelece alguma “ligação” entre os conjuntos. Não é uma ligação
física, é uma ligação definida no plano de referência, por isso não tem como se
constatar fisicamente. É um elemento conceitual. Reflete o conhecimento a
respeito de alguma coisa. Só existe no mundo simbólico.
-
8/17/2019 apostila 2 modelagem de dados
11/45
MODELAGEM DE DADOS
Para esclarecer analisar-se-á alguns exemplos: Você tem o conjunto dos
homens e o conjunto das mulheres. A relação casamento normalmente associa
um homem a uma mulher. A relação possuir associa um elemento do conjunto
de objetos a um elemento do conjunto de pessoas. Um relacionamento é umestabelecimento 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 estacionamentoconstruído apenas para alunos, identificamos que o outro conjunto de interesse
é o de veículos:
Para os dois conjuntos pode-se estabelecer um relacionamento que é
representado da seguinte forma:
Pode-se escrever o relacionamento que se está estabelecendo. Observe quetem DOIS relacionamentos: de aluno para veículo (relacionamento: possui), e,
de veículo para aluno (relacionamento: pertence). O nome desses
relacionamentos não são padronizados e devem ser dados de forma a definir as
relações. O sentido da relação é indicado por uma seta, como mostrado abaixo:
Atenção
Assim, o relacionamento mostra o sentido da leitura:
Aluno possui veículo;
Veículo pertence a aluno.
Dica 2:
- Um relacionamento é um conceito: não existe fisicamente no
mundo real;
- Existe sempre dois relacionamentos entre conjuntos (de A para
-
8/17/2019 apostila 2 modelagem de dados
12/45
MODELAGEM DE DADOS
B e de B para A);
- Não force a barra para colocar o mesmo nome para o dois
relacionamentos. É perda de tempo e tira o foco da análise que
está sendo feita;- Não padronize relacionamentos, eles mudam para cada novo
mundo real que se está analisando.
As quatro possibilidades de multiplicidade do conjunto A em
relação ao conjunto B
Existem quatro possibilidades de multiplicidade do conjunto A em relação ao
conjunto B:
Primeira: Analisando A verifica-se que de todo elemento do conjunto A sai
uma fecha:
FIGURA 3: Imagem representativa sobre relacionamentos
-
8/17/2019 apostila 2 modelagem de dados
13/45
MODELAGEM DE DADOS2
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 não interessa como chega ou para quem chega ao conjunto B.
Neste caso representamos esta informação junto ao relacionamento no sentido
da leitura:
FIGURA 4: tabela representativa sobre o relacionamento no sentido da leitura
LEMOS: Todo veículo pertence a UM aluno.
Lemos do seguinte modo: Todo veículo pertence a UM aluno.
Segunda situação:
Observe que da situação anterior um elemento do conjunto A não temcorrespondente no conjunto B. Se existir um elemento (basta um) não ter
correspondente que caracterizamos esta situação. Representamos assim:
-
8/17/2019 apostila 2 modelagem de dados
14/45
MODELAGEM DE DADOS3
FIGURA 5: Imagens representativas sobre relacionamentos
Existem alunos que TEM ZERO ou UM pai vivo. Terceira situação: De todo
elemento de A estabelecemos um relacionamento, mas existem (no mínimo
um) elementos que tem mais de um correspondente no conjunto B.
Esta situação representa-se na forma:
FIGURA 6: Imagens representativas sobre relacionamentos
Lemos do seguinte modo: Um aluno cursa uma ou mais disciplinas. Quarta
situação:
No mínimo um elemento pertencente ao conjunto A não tem correspondente
em b e existem elementos no conjunto A com mais de uma imagem.
Representa-se:
-
8/17/2019 apostila 2 modelagem de dados
15/45
MODELAGEM DE DADOS4
FIGURA 7: Imagens representativas sobre relacionamentos
Atenção
• a multiplicidade 0..N ou 1..N está representado o mínimo e o
Máximo de relacionamento de um elemento, na formamin..max assim pode se representar 3..10 indica que existem
elementos no conjunto a com um mínimo de 3 correspondentes
em B e no máximo 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 agências identificadas por um código. É importante ter
as informações do endereço, telefone, tamanho em metros quadrados de cada
agência. Cada agência tem sua carteira de clientes. Não há interesse em saber
se o cliente tem ou não conta em outra agência. Do cliente deve-se ter as
informações de nome, endereço, CPF. Passamos a ter um cliente quando uma
pessoa abre uma conta corrente. Não interessa o número de contas que o
cliente abre. Cada conta é identificada por um número, um gerente
responsável, um saldo atual e um saldo médio.
-
8/17/2019 apostila 2 modelagem de dados
16/45
MODELAGEM DE DADOS5
Considere o texto abaixo que caracteriza uma descrição 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, CD´s e DVD´s necessita de
um sistema que a auxilie no controle e na distribuição dos seus produtos, em
função de sua notável expansão.
(2) O sistema deverá permitir o registro dos pedidos dos clientes. Os clientes ao
serem cadastrados deverão informar o nome, o endereço, o número do
telefone (de 0 a 3 números diferentes) e número do CPF, que doravante será o
seu identificador junto à empresa.(3) Pode-se imaginar que cada cliente poderá realizar um pedido com vários
produtos e quantidades. Para identificar um pedido será necessário armazenar
o seu número 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 endereço
estabelecido. Este último podendo ser diferente do endereço 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 código da transportadora,
o endereço, o número do telefone (de 0 a 5 números diferentes) e número do
CNPJ (Cadastro Nacional de Pessoa Jurídica do Ministério 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, através da placa do veículo, o caminhão que irá fazer o transporte
e, através do nome e do número do CPF, o funcionário que irá fazer a entrega.
(8)Estas informações são, entretanto, de responsabilidade da transportadora,
não cabendo à empresa atacadista nenhuma responsabilidade por erros na
informação fornecida.
-
8/17/2019 apostila 2 modelagem de dados
17/45
MODELAGEM DE DADOS6
(9)Ao receber a mercadoria o cliente deverá verificar se a quantidade e o preço
de cada item da fatura estão corretos. Se não houver divergências ele assinará
o recibo de entrega e lançará a data da mesma, que posteriormente será
registrada no sistema. Caso haja alguma divergência o cliente poderá recusaro recebimento dos produtos. Neste caso, a fatura será recusada e os produtos
devolvidos.
(10) O responsável pela entrega deverá informar a data da entrega e motivo da
devolução. O motivo da devolução informado deverá ser escolhido a partir de
uma lista contendo o código do motivo e a descrição do mesmo.
(10) A transportadora será remunerada em 5% do valor dos itens constantes
no pedido (excluído o valor do seguro), mesmo que estes sejam devolvidos.(11) As faturas, após o recebimento, serão transformadas em compromissos
financeiros assumidos pelos clientes.
(12) Elas poderão ser cobradas à vista ou em parcelas, conforme definição no
ato da compra. Todos os boletos de cobrança serão emitidos por uma
instituição financeira, dentre as várias cadastradas no sistema.
(13) Os boletos deverão informar o número do banco, o nome do banco, o
número do código de barras, a data de vencimento e o valor a ser pago.(14) No final de cada mês os bancos mandam um relatório com a relação de
todos os boletos que foram pagos. Este relatório deverá conter a data do
pagamento e, se houver atraso, o valor da multa e dos juros cobrados. Tal
informação deverá ser posteriormente registrada no sistema.
(15) Outra necessidade da empresa atacadista é poder controlar melhor o seu
estoque de mercadorias. Para isso é necessário conhecer a quantidade
disponível em estoque para cada produto comercializado, além de abater do
estoque disponível as quantidades vendidas aos seus clientes.
Construa o modelo conceitual para representar o modelo.
-
8/17/2019 apostila 2 modelagem de dados
18/45
MODELAGEM DE DADOS7
Chave de resposta:
Frase (1):
Nesta frase especifica-se que o simbólico da empresa ira tratar livros, cd´s e
DVD, que são os tipos de produtos que a empresa comercializa:
(plano de referencia de vendas)
Frase (2):
Nesta frase indica-se que a empresa tem interesse em ter a informação de seus
clientes. E afirma-se que um pedido é de um cliente e este deve ter um ou mais
pedidos (se não tiver pelo menos um pedido não é cliente – deve se verificar
com o usuário.)
LIVRO
Cod roduto
autor
editora
DVD
Cod roduto
autor
tem o
CD
Cod roduto
autor
Num. faixas
Tipo_produto
Cod roduto
nome
autor
{completo, disjuntos}
CLIENTE
nome
endereço
Cpf (ID)
Telefone 3
Telefone 1
Telefone 2
PEDIDO
1 1..N
-
8/17/2019 apostila 2 modelagem de dados
19/45
MODELAGEM DE DADOS8
Frase (3):
Nesta frase se identifica que existe outro conjunto chamado produtos que são
colocados no pedido
Frase (4):
No simbólico 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 não é a informação do que é incluído no pedido. Assim aparecem dois novos conjuntos um se chamará estoque, e o outro
entrega, neste exercício.
1 1..N
CLIENTE
nome
endereço
Cpf (ID)
Telefone 3
Telefone 1
Telefone 2
PEDIDO
numero
Data edido
produto
quantidade
preço
descrição
Cod_produto
1 1..N
estoque
Quant. estocada
Pre o unitario
descri ão
Cod_produto
entrega
Data-entrega
Endere o-entre a
1 1..N
CLIENTE
nome
endereço
Cpf (ID)
Telefone 3
Telefone 1
Telefone 2
PEDIDO
numero
Data edido
produto
quantidade
preço
descrição
Cod_produto
1 1..N
10..N
-
8/17/2019 apostila 2 modelagem de dados
20/45
MODELAGEM DE DADOS9
Na realidade estoque é um tipo de produto comercializado que apareceu na
frase 1 assim substitui-se pela estrutura fica:
1 0..N
1
entrega
Data-entrega
Endereço-entrega
1 1..N
CLIENTE
nome
endereço
Cpf (ID)
Telefone 3
Telefone 1
Telefone 2
PEDIDO
numero
Data pedido
produto
quantidade
preço
descrição
Cod_produto
1 1..N
{completo, disjuntos}
LIVRO
Cod_produto
autor
editora
DVD
Cod_produto
autor
tempo
CD
Cod_produto
autor
Num .faixas
Tipo_produto
Cod_produto
nome
autor
Quant. estocada
Pre o unitario
descrição
-
8/17/2019 apostila 2 modelagem de dados
21/45
MODELAGEM DE DADOS2
Frase (5):
Nesta frase aparece mais uma necessidade que é ter informações sobre a
transportadora que a empresa cadastra. Colocou-se um atributo para cada
telefone, e isto só foi possível porque se sabia o número máximo de telefones.E uma nova informação deve ser acrescentada a entrega que é a da
transportadora que fará a entrega.·.
-
8/17/2019 apostila 2 modelagem de dados
22/45
MODELAGEM DE DADOS2
Frase (6):
Na frase seis tem-se novos atributos necessários para o setor de entrega, e
deve-se acrescentar a imagem de pedido as informações necessárias para se
somar o frete e o total de itens e que deve entrar no modelo
Veja que se acrescenta novos atributos a entrega, e estes devem ser
acrescentados a imagem.
Frase (8):
Veja que na frase 8 tem-se uma regra de negócio do setor de expedição, mas
nenhuma nova informação é acrescentada as imagens até aqui identificadas.
pedido
numero
Data edido
Data entre a
Endereço entrega
Códi o trans .
Valor-frete
Total-frete
entrega
Endereço entrega
Data entrega
Código transp
NOME-FUNCIONARIO
CPF-FUNCIONARIO
PLACA-CAMINHAO
-
8/17/2019 apostila 2 modelagem de dados
23/45
MODELAGEM DE DADOS22
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 têm-se dois novos
atributos que devem ser adicionados a imagem entrega:
Outro fato importante para a empresa é quando o produto é recusado, neste
caso deve-se criar este conjunto, fazendo referencia a entrega.
entrega
Endereço entrega
Data entrega
Código transp
NOME-FUNCIONARIO
CPF-FUNCIONARIO
PLACA-CAMINHAO
Nome-recebimento
Data-recebimento
Data-recebimento
1 1..0
entrega
Endereço entrega
Data entrega
Código transp
NOME-FUNCIONARIO
CPF-FUNCIONARIO
PLACA-CAMINHAO
Nome-recebimento
Data-recebimento
Cod_entrega
Percentual _transp
Entrega rejeitada
Endereço entrega
Data entrega
Código transp
Nome-recebimento
Motivo -recusa
Cod_entrega
-
8/17/2019 apostila 2 modelagem de dados
24/45
MODELAGEM DE DADOS23
Frase (10):
A transportadora será remunerada em 5% do valor dos itens constantes no
pedido, e isto é uma regra de negócio que já é atendida pelos conjuntosexistentes coloca-se como atributo da transportadora: O modelo fica:
Frase (11):
É dito que as entregas são 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 não se transformar em um
-
8/17/2019 apostila 2 modelagem de dados
25/45
MODELAGEM DE DADOS24
compromisso financeiro. Não vai se representar todo o modelo para simplificar
o entendimento no diagrama abaixo:
Frase (12)
Nesta frase tem-se a informação 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 cobrança bancaria: o Banco e o boleto. Têm-se os conjuntos:
1 1..0
entrega
Endereço entrega
Data entrega
Código transp
NOME-FUNCIONARIO
CPF-FUNCIONARIO
PLACA-CAMINHAONome-recebimento
Data-recebimento
Cod_entrega
Percentual _transp
Entrega rejeitada
Endereço entrega
Data entrega
Código transp
Nome-recebimento
Motivo -recusaCod_entrega
Compromisso financeiro
C f-cliente
Valor-fatura
Data-vencimento
Cod_entrega
1
-
8/17/2019 apostila 2 modelagem de dados
26/45
MODELAGEM DE DADOS25
frase(13)
Nesta frase têm-se informações para completar o conjunto de fatura banco
(boletos), neste caso se corrige os atributos que foram supostos em fases
iniciais.
banco
Cod-banco
Nome-banco
a encia
Compromisso financeiro
Cpf-cliente
Valor-fatura
Data-vencimento
Numero parcelas
Cod-entre a
Fatura do banco
Cpf-cliente
Valor-fatura
Data-vencimento
Data-pagamento
banco
agencia
Código-fatura
0..N 1
1
0..N
AGENCIA
Fatura do banco
Cpf-cliente
Valor-FATURA
Data-vencimento
Data-pagamento
Numero banco
Código de barras
CODIGO-FATURA
AGENCIA
-
8/17/2019 apostila 2 modelagem de dados
27/45
MODELAGEM DE DADOS26
FRASE(14)
Na frase 14 tem se informações referentes ao recebimento, e como é de
interesse da empresa se cria um novo conjunto relaciona-se a fatura.
OBS: A resposta poderá ter pequenas variações do gabarito apresentado.
Questão 2: Pode-se organizar a informação em uma generalização?
Gabarito: Sim. Pode-se criar o conjunto de faturas e criar os subconjuntos
fatura paga e fatura não paga.
Justificativa:
É uma forma mais estruturada de fazer a modelagem
Questão 3:
Você sabe justificar como foram criados identificadores?
Gabarito:
No conjunto existem identificadores criados pelo modelador.
Justificativa:
Isto é uma prática comum para diminuir o risco de alterações no sistema
provocadas porá gentes externos.
Questão 4: Na generalização poder-se-ia indicá-la como não completa?
Pagamento da Fatura nco
Cpf-cliente
Valor pago
Data-vencimento
Data-pagamento
Valor juros
Valor-multa
Codigo-fatura
Fatura do banco
Cpf-cliente
Valor-FATURA
Data-vencimento
Data-pagamento
Numero banco
Código de barras
CODIGO-FATURA
AGENCIA
1 0..N
-
8/17/2019 apostila 2 modelagem de dados
28/45
MODELAGEM DE DADOS27
Gabarito: sim, se a empresa tiver mais produtos além dos ditos no texto
Justificativa:
É comum representa-se apenas o que interessa, mas pode existir outros
produtos além dos apresentados no diagramaQuestão 5:
Pode-se dividir o diagrama e áreas atuação da empresa?
Gabarito: Sim, pois mostra-se os conjuntos de entidades que são manuseadas
por cada plano de referencia (ou seja setores da empresa)
Justificativa:
É uma forma comum de organizar os conjuntos envolvidos na empresa. Os
conjuntos são modificados gerando novos conjuntos. Assim pode-se separar osconjuntos 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 informação, ou
precisa-se fazer um tratamento específico desses elementos. Considere o
conjunto de inscritos em um concurso público, por exemplo, e modela-se aseguinte classe:
O diagrama representa dois subconjuntos no conjunto principal, não interessam
para o subconjunto feminino se foi ou não aprovado. Ou seja, nada podemos
afirmar sobre a interseção dos dois (ou mais) sub conjuntos.
O diagrama representa dois sub conjuntos no conjunto principal não interessam
para o sub conjunto de feminino se foi ou não aprovado. Ou seja, nada
podemos afirmar sobre a interseção dos dois (ou mais) sub conjuntos. A
hierarquia estabelecida do conjunto principal para os sub conjuntos é também
chamada de estrutura GEN-ESP (generalização para a especialidade). O
conjunto principal também é chamado de super classe e os conjuntos de
subclasses.
-
8/17/2019 apostila 2 modelagem de dados
29/45
MODELAGEM DE DADOS28
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á herança
múltipla.
número
num.contrato
data-contratação
contratado
número
nome
endereço
candidato
número
nome
endereço
trabalhador
-
8/17/2019 apostila 2 modelagem de dados
30/45
MODELAGEM DE DADOS29
Pode-se representar vários subconjuntos destacando –os por uma linha
pontilhada algumas restrições entre chaves separadas por vírgula quando
existir mais de uma:
Foi indicada uma restrição com duas observações: que não foram
representados todos os subconjuntos (incompleto)e que podem ir sendo
completados, poderia ser completo se todos fossem representados. E que os
conjuntos são disjuntos, portanto mutuamente exclusivos, poderia ser
sobreposição se o elemento pudesse pertencera a mais de um subconjunto
nesta estrutura. Se o empregado for motorista, não é engenheiro, ou seja, a
interseção entre os subconjuntos definidos é o conjunto vazio.
número
c.habilitação
data carteira
motorista
número
velocidade
editor-
digitador
número
universidade
data-formatura
engenheiro
número
nome
endereço
trabalhador
Incompleto, disjuntos
A/B
A B
-
8/17/2019 apostila 2 modelagem de dados
31/45
MODELAGEM DE DADOS3
ASSOCIAÇÕES:
Aprenda mais:
número
modelo
terrestre
número
velocidade
aquatico
número
potencia
lu ares
veiculo
número
anfíbio
sobreposição,incompleto
Aprenda mais
Generalizações Completa e Incompleta: Uma restrição simbolizando que uma
generalização é completa significa que todas as subclasses já foramespecificadas, e não existe mais possibilidade de outra generalização a partir
daquele ponto. A generalização incompleta é exatamente o contrário da
completa e é assumida como padrão da linguagem.
Pessoa
Mulher Homem
{completa}
-
8/17/2019 apostila 2 modelagem de dados
32/45
MODELAGEM DE DADOS3
Outro recurso importante é a associação. Uma associação é um conjunto
criado com objetivo de ligar outros dois (ou mais) conjuntos existentes.
As classes associadas são 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 é obrigatória nos Relacionamentos fora da
estrutura associativa.
Exemplo: Uma empresa trabalha com projetos. Todo empregado trabalha emum projeto, cada projeto é coordenado por um órgão. O departamento de
pessoal precisa saber que dia e hora o empregado entrou e saiu de cada
projeto. Faça um modelo de classes que permita fornecer esta informação:
Primeiro passo: O modelador inicia identificando os conjuntos existentes:
descrição
prazo
ro etos
nome
matricula
salário
em re ado
Tem 0..*
1..N ALOCADO
-
8/17/2019 apostila 2 modelagem de dados
33/45
MODELAGEM DE DADOS32
Segundo passo:
Verifica-se um relacionamento 1..N para 0..*. É um relacionamento não
determinista, ou seja, múltiplo, neste caso deve-se fazer uma classe associativa
que permite se acrescentar as informações desejadas. Então modelo fica:
Observe que ao se estabelecer o subconjunto está se definindo novas
propriedades para os elementos do subconjunto, inclusive o nome, então se lê:
candidato aprovado, também pode-se dizer que aprovado é um papel do
conjunto de candidatos. A identificação do candidato no subconjunto é a
mesma do conjunto. Em Modelagem de objetos diz-se que aprovado herdou as
propriedades de candidato (matematicamente não é correto, pois o
subconjunto tem as propriedades do conjunto principal), mas o termo é devido
a uma característica das linguagens de projetos. Pode-se ter subconjuntos de
vários tipos de subconjunto.
Podemos destacar quantos subconjuntos for necessário para se fazer a análise,
assim, se a empresa que está promovendo o concurso tivesse interesse em
registrar o peso e a altura das candidatas femininas poderia representar:
descrição
prazo
ro etos
nome
matricula
salário
empregado
Tem 0..*
1..N ALOCADO
-
8/17/2019 apostila 2 modelagem de dados
34/45
MODELAGEM DE DADOS33
Atividade proposta
Considere o texto que caracteriza uma descrição de um mundo real para uma
empresa.
Considere o mundo real abaixo:
Um Banco tem diversas agencias identificadas por um código. É importante ter
as informações do endereço, telefone Tamanho em metros quadrados de cada
agencia. Cada agencia tem sua carteira de clientes. Não há interesse em saber
se o cliente tem ou não conta em outra agencias. Do cliente deve-se ter as
informações de nome, endereço, CPF. Passamos a ter um cliente quando uma
pessoa abre uma conta corrente. Não interessa o numero de contas que ocliente abre. Cada conta é identificada por um número, um gerente
responsável, um saldo atual e um saldo médio.
Primeiro passo:
Analisando o Mundo real descrito, podemos ter algumas dúvidas, e para isto
devemos procurar o responsável pela formulação do problema. Em alguns
casos temos a liberdade de fazermos algumas suposições, mas queobrigatoriamente devem ser verificadas antes de se seguir adiante. Analisando
o problema devemos estabelecer um foco para iniciar o trabalho. No texto qual
a intenção de que formulou a questão? Qual o foco da análise?
Pode-se divergir um pouco, mas esta reflexão é fundamental para o
desenvolvimento do raciocínio. Em minha opinião, como analista, e que pode
não 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:
clientenome
endereço
-
8/17/2019 apostila 2 modelagem de dados
35/45
MODELAGEM DE DADOS34
Segundo passo:
Estabelecer os relacionamentos com conjuntos diretamente ligada à classe
identificada. Neste caso foi incluir a classe conta com os seus respectivos
relacionamentos:
Terceiro passo:
Estabeleço os relacionamentos com conjuntos necessários para completar a
descrição ou que são necessários 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 é desnecessário, tendo em vista que seus
dados são inicialmente conhecidos e a aplicação esta sendo desenvolvida para
ele. O cliente é da agencia e o meu foco é o cliente, por isto vou relacionar oconjunto de agencias com o conjunto de clientes.
Conta corrente
Numero
Saldo atual
Saldo médio
Tem
É de
clientenome
endereço
Conta corrente
Numero
Saldo atual
Saldo médio
Tem
É de
clientenome
endere o
agencia
código
endereço
telefone
É de
0 .. N
tem
1..n
1
-
8/17/2019 apostila 2 modelagem de dados
36/45
MODELAGEM DE DADOS35
Pratique você:
Considere o mundo real abaixo:
A biblioteca da universidade tem um acervo de livros, catalogados por titulo,edição, 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 empréstimo, registra-se o dia da devolução. Faça 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,
edição, 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 empréstimo, registra-se o dia da devolução. Faça um modelo
de classes que represente a necessidade da biblioteca.
Resposta
Existem alguns conjuntos, que no processo de modelagem, que se deseja
condicioná-los a existência de outros conjuntos. São chamados de conjuntos
dependentes. A dependência de conjuntos é uma ferramenta da modelagem.
Neste caso o modelador deseja que a identificação do conjunto dependente
seja feita a partir do conjunto origem A representação da dependência é por
uma linha tracejada.
livro
titulo
edição
primeiro autor
editora
empréstimo
titulo
matricula
data-
emprestimo
Tem 0..*
1 é de
aluno
matricula
nome
Telefone0..N tem
É de 1
-
8/17/2019 apostila 2 modelagem de dados
37/45
MODELAGEM DE DADOS36
O diagrama significa que o familiar deve ser identificado a partir da
identificação do empregado. Na realidade um objeto dependente só pode ser
dependente de um único objeto, por isto é desnecessário a indicação da
multiplicidade 1.
Exemplo de desenvolvimento usando a dependência.
Considere o pedido abaixo:
nome
parentesco
data nascimento
familiar
Matricula
nome
endereço
empregado
1 É de
Tem 0..*
1
-
8/17/2019 apostila 2 modelagem de dados
38/45
MODELAGEM DE DADOS37
Primeiro passo: O objetivo da modelagem é o controle o pedido, portanto, a
primeira classe que é o foco da análise já esta definida:
Segundo passo: precisamos colocar as informações do item, mas estes itens
devem ser identificados a parte do numero do orçamento (decisão de projeto)
Aprenda Mais
Material complementar
Para saber mais sobre Identificação de objetos, leia Modelagem de
dados – Wikipédia, a enciclopédia livre, disponível em nossa
biblioteca virtual.
orçamento
cliente
endereço
orçamento
cliente
endereço1 1..N
Item de orçamento
Numero item
quantidade
descrição
Preço unitário
-
8/17/2019 apostila 2 modelagem de dados
39/45
MODELAGEM DE DADOS38
Referências
RIBEIRO, HORACIO. Análise 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
didáticos – 4 série.
Exercícios de fixação
Questão 1
Com respeito ao nível conceitual para implementação de bancos de dadosrelacionais normalizados é correto afirmar que:
a) As conexões entre tabelas são vistas pelo usuário, na forma de ponteiros.
b) Todo o conteúdo de informação é representado de um e somente um modo, ou
seja, como valores explícitos 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 serão
chaves estrangeiras multivaloradas na tabela representada pelo lado 1.
e) Um relacionamento do tipo 1:1 não pode ser implementado em tabelas
relacionais.
Questão 2
São elementos da representação de um modelo conceitual de dados:
a) Identificador, relacionamento, atributo, entidade.
b) Entidade, coluna, índice primário, relacionamento.
c) Tabela, coluna, índice primário, relacionamento.
d) Entidade, relacionamento, identificador, chave estrangeira.
e) Relacionamento, chave estrangeira, índice secundário, índice único.
Questão 3
-
8/17/2019 apostila 2 modelagem de dados
40/45
MODELAGEM DE DADOS39
A captura dos requisitos de dados do mundo real de uma maneira simples e
significativa, inteligível ao projetista de banco de dados e ao usuário final, é
objetivo:
a) Do projeto físico de banco de dados.b) Do projeto lógico de banco de dados hierárquico.
c) Da modelagem de dados conceitual.
d) Da modelagem lógica de dados em rede.
e) Do projeto lógico de banco de dados relacional.
Questão 4
Os tipos de cardinalidades possíveis de serem utilizados em um relacionamentoentre duas entidades são:
a) 2
b) 3
c) 4
d) 5
e) 6
Questão 5
Quanto ao nível de abstração de dados em um sistema de banco de dados, é
correto afirmar que o nível conceitual:
a) É o mais alto nível de abstração e descreve apenas parte do BD.
b) É o mais baixo nível de abstração e descreve como os dados estão realmente
armazenados.
c) Descreve quais dados estão armazenados de fato no BD e as relações que
existem entre eles.
d) Apresenta a descrição detalhada de complexas estruturas de dados de baixo
nível.
e) É o nível de abstração definido para simplificar a interação do usuário com o
sistema, que pode fornecer muitas visões para o mesmo banco de dados.
-
8/17/2019 apostila 2 modelagem de dados
41/45
MODELAGEM DE DADOS4
Questão 06:
Considere o diagrama.
O relacionamento entre as entidades é interpretado como Departamento Aloca
(A) um e somente um Funcionário e um Funcionário É Alocado em um ou
muitos Departamentos.
(B) um e somente um Funcionário e um Funcionário É Alocado em um e
somente um Departamento.
(C) um ou muitos Funcionários e um Funcionário É Alocado em um e somenteum Departamento.
(D) nenhum ou muitos Funcionários e um Funcionário É Alocado em um e
somente um Departamento.
(E) nenhum ou muitos Funcionários e um Funcionário É Alocado em nenhum ou
somente um Departamento.
QUESTÃO 07:
No diagrama entidade-relacionamento abaixo, CONSULTA tem o papel de
funcionario departamento
?
0..N 1
1
0..
N11 N
N
1MEDICO
CONSULTAMEDICAMENTOO
1MN
PACIENTE
-
8/17/2019 apostila 2 modelagem de dados
42/45
MODELAGEM DE DADOS4
(A) relacionamento genérico.
(B) entidade de generalização.
(C) entidade fraca.(D) relacionamento de especialização.
(E) entidade associativa.
QUESTAO 08:
Considere as afirmativa abaixo:
I –Uma associação deve ser usada sempre que se identificara umrelacionamento do tipo 0..N para 0..N,ou seja, não 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 análise.
Segundo a teoria apresentada, quais estão totalmente certas<a) Somente I e II
b) Somente II e III
c) Todas estão corretas
d) Somente II e III
e) Todas estão erradas
Questão 09:
Considerando o conteúdo teórico apresentado neste trabalho assinale a opção
correta:
a) Quando se tem uma estrutura em que se define um sub conjnto acrescenta-
se novas propriedades que são usadas no subr conjunto, porém, o identificar
do subconjunto é o mesmo do conjunto.
B) o relacionamento não determinista, do tipo 0..N para 0..N deve ser
priorizado, pois cria informação sobre os elementos do conjunto
-
8/17/2019 apostila 2 modelagem de dados
43/45
MODELAGEM DE DADOS42
c) Um subconjunto só pode ser usado para determinar outros conjuntos e não
deve ser usado em associações.
d)Uma estrutura de associação deve ser evitada, pois exigem mais arquivos e
desta forma limitam a forma de usar o sistema.e) Nenhuma das afirmativas está correta.
Questão 10:
Considere o diagrama abaixo:
Sobre ele, segundo a teoria tratada neste trabalho, escolha a opção correta.
a) Segundo o diagrama podemos criar um conjunto a partir do conjunto
Aluno_matriculado, porém conceitualmente não é possível 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 três conjuntos devem ser considerados como primários deve-se
apenas estabelecer os relacionamentos.
Aluno
aprovadoAluno
matriculado
turma
-
8/17/2019 apostila 2 modelagem de dados
44/45
MODELAGEM DE DADOS43
Aula 2Exercícios de fixação
Questão 1 - B
Justificativa: Todas as outras respostas se referem à implementação do modelo
conceitual, sendo B apenas a que trata o modelo conceitual.
Questão 2 - A
Justificativa: As opções B, C, D e E possuem pelo menos um elemento que é domodelo lógico e apenas a opção a apresenta todos os termos usados na
modelagem conceitual.
Questão 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 análise dos requisitos.
Questão 4 - C
Justificativa: São 4 os tipos de cardinalidade para um relacionamento (1, 0..1,
1..n, o..n)
Questão 5 - C
Justificativa: A opção A está errada pois na abstração não se descreve parte do
banco de dados,
A opção B está errada, pois a forma de armazenamento é definida no momento
lógico.
A opção C está correta pois a abstração define os dados e relações que são
armazenadas.
A opção D está errada, pois a abstração não trata estruturas de dados de baixo
nível.
-
8/17/2019 apostila 2 modelagem de dados
45/45
A opção E esta errada pois a abstração não trata intenções
Questão 6 - D
Justificativa: O relacionamento tem uma associação. Deve-se analisar oelemento da associação com relação a empregados e departamentos. A opção
D diz que zero ou mais funcionários estão na associação. E todos os elementos
da associação estão ligados ao conjunto de departamentos.
Questão 7 - E
Justificativa: O conjunto é associativo, independente dos conjuntos formadores,
pois a cardinalidade do relacionamento indica que cada elemento da associaçãotem uma referência para os formadores.
Questão 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 complementação da anterior.
Questão 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 opção B está errada pois deve se evitar relacionamentos do tipo 0..n. para
0n.
Questão 10 - A
Justificativa: A afirmativa está certa, não é possível gerar um subconjunto a
partir do conjunto turma, pois são de naturezas diferentes. São coisas com
propriedades totalmente diferentes.