Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Apostila - Modelagem de Dados Estaciodesa

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 235

Apresentação ............................................................................................................................

5
Aula 1: Mundo das representações ..................................................................................... 6
Introdução ............................................................................................................................. 6
Conteúdo................................................................................................................................ 7
Contextualização ............................................................................................................... 7
Mundo real e mundo das representações simbólicas ................................................ 7
Generalização e abstração ............................................................................................... 8
Aumento de temperatura ................................................................................................ 9
O cérebro ............................................................................................................................ 9
Plano de referência.......................................................................................................... 10
Imagem.............................................................................................................................. 11
Inferência .......................................................................................................................... 11
Interpretações .................................................................................................................. 12
Modelamento ................................................................................................................... 13
Diversos planos de referência ....................................................................................... 13
Imagens e seu manuseio ............................................................................................... 14
"Soluções" para tratar as imagens ................................................................................ 15
Telespectador ................................................................................................................... 16
Correta interpretação...................................................................................................... 16
Importância dos registros feitos nas empresas ......................................................... 16
Dados e tipos de dados .................................................................................................. 17
Formulários ....................................................................................................................... 18
Atividade proposta .......................................................................................................... 19
Aprenda Mais....................................................................................................................... 28
Referências........................................................................................................................... 28
Exercícios de fixação ......................................................................................................... 29
Chaves de resposta ..................................................................................................................... 35
Aula 2: Representação utilizando conjuntos ................................................................. 37
Introdução ........................................................................................................................... 37
Conteúdo.............................................................................................................................. 38
Introdução......................................................................................................................... 38
Fatos e coisas.................................................................................................................... 39
Abordagem do projeto ................................................................................................... 40

MODELAGEM DE DADOS 1
Representando uma classe ............................................................................................ 41
Análise dos atributos ....................................................................................................... 42
Propriedade da identidade ............................................................................................. 43
Relacionamentos ............................................................................................................. 44
Estabelecimento de relacionamentos ......................................................................... 45
Modelar sub conjuntos ................................................................................................... 62
Atividade proposta .......................................................................................................... 68
Aprenda Mais....................................................................................................................... 72
Referências........................................................................................................................... 73
Exercícios de fixação ......................................................................................................... 73
Chaves de resposta ..................................................................................................................... 78
Aula 3: Metodologias para modelo conceitual .............................................................. 80
Introdução ........................................................................................................................... 80
Conteúdo.............................................................................................................................. 81
Representação do modelo de Peter Chen (DER) ....................................................... 81
Atributos compostos ....................................................................................................... 81
Relacionamento ............................................................................................................... 82
Cardinalidade mínima..................................................................................................... 83
Tipos de relacionamentos ............................................................................................. 85
Exemplo de um DER........................................................................................................ 86
Estudando os atributos ................................................................................................... 88
Identificando entidades .................................................................................................. 89
Propriedades atribuídas a entidades ............................................................................ 95
A generalização/especialização total e parcial .......................................................... 95
O modelo de Chen .......................................................................................................... 98
Outras representações.................................................................................................. 100
Atividade proposta ........................................................................................................ 101
Aprenda Mais..................................................................................................................... 104
Referências......................................................................................................................... 104
Exercícios de fixação ....................................................................................................... 104
Chaves de resposta ................................................................................................................... 111
Aula 4: Meta modelagem do modelo conceitual ........................................................ 114
Introdução ......................................................................................................................... 114
Conteúdo............................................................................................................................ 115
Como conduzir o processo de modelagem ............................................................ 115
Primeiro passo ................................................................................................................ 115

MODELAGEM DE DADOS 2
O início do sistema de controle de vagas ................................................................. 116
Segundo passo da meta modelagem ........................................................................ 118
Regras para dicionarizar o modelo ............................................................................ 122
Tratamento de subconjuntos e identificação de abstrações ................................ 126
Ordenação ...................................................................................................................... 130
Navegabilidade............................................................................................................... 132
Agregação ....................................................................................................................... 133
Atividade proposta ........................................................................................................ 134
Aprenda Mais..................................................................................................................... 136
Referências......................................................................................................................... 136
Exercícios de fixação ....................................................................................................... 137
Chaves de resposta ................................................................................................................... 142
Aula 5: Estudo de volume e clas. Conjuntos ................................................................ 145
Introdução ......................................................................................................................... 145
Conteúdo............................................................................................................................ 146
A capacidade de armazenamento necessária ao modelo..................................... 146
Primeira etapa ................................................................................................................ 147
Sobre a tabela de atributos .......................................................................................... 151
Os tipos de conjuntos e seu tratamento físico ........................................................ 155
A volatilidade .................................................................................................................. 156
Atividade proposta ........................................................................................................ 158
Aprenda Mais..................................................................................................................... 159
Referências......................................................................................................................... 160
Exercícios de fixação ....................................................................................................... 160
Chaves de resposta ................................................................................................................... 167
Aula 6: Formas normais...................................................................................................... 169
Introdução ......................................................................................................................... 169
Conteúdo............................................................................................................................ 170
A primeira forma ............................................................................................................ 170
As dependências funcionais ........................................................................................ 172
Segunda Forma Normal ............................................................................................... 174
Terceira Forma Normal ................................................................................................ 175
Boyce-Codd .................................................................................................................... 176
Quarta Forma Normal ................................................................................................... 178
Quinta Forma Normal ................................................................................................... 181
Atividade proposta ........................................................................................................ 183

MODELAGEM DE DADOS 3
Referências......................................................................................................................... 185
Exercícios de fixação ....................................................................................................... 185
Chaves de resposta ................................................................................................................... 189
Aula 7: Manuseio matemático de conjuntos ................................................................ 190
Introdução ......................................................................................................................... 190
Conteúdo............................................................................................................................ 191
Modelo relacional .......................................................................................................... 191
Definições básicas ......................................................................................................... 191
Definições importantes ................................................................................................ 192
Prioridades de uma relação pura ................................................................................ 193
Restrição e chaves ......................................................................................................... 194
Álgebra relacional .......................................................................................................... 198
Operação e seleção e projeção .................................................................................. 199
Sequencialidade de operações ................................................................................... 200
Entendendo os símbolos .............................................................................................. 201
Atividade proposta ........................................................................................................ 204
Referências......................................................................................................................... 207
Exercícios de fixação ....................................................................................................... 207
Chaves de resposta ................................................................................................................... 211
Aula 8: Administração de dados ...................................................................................... 213
Introdução ......................................................................................................................... 213
Conteúdo............................................................................................................................ 214
Administração de dados ............................................................................................... 214
Conjunto de dados ........................................................................................................ 215
Dados básicos................................................................................................................. 216
Dados elaborados .......................................................................................................... 217
Administração dos recursos ........................................................................................ 218
Recurso dados ................................................................................................................ 219
Conclusão ....................................................................................................................... 226
Atividade proposta ........................................................................................................ 226
Aprenda Mais..................................................................................................................... 230
Referências......................................................................................................................... 230
Exercícios de fixação ....................................................................................................... 230
Chaves de resposta ................................................................................................................... 233
Conteudista ............................................................................................................................... 234

MODELAGEM DE DADOS 4
Toda empresa possui um conjunto de dados que, manipulados, geram
informações. Esses dados precisam ser manipulados e armazenados. Entender
como os dados podem se relacionar pode fazer a diferença entre conhecer e
não conhecer a empresa ou o negócio em si.

A modelagem de dados procura estudar a companhia e ver quais são os dados


relevantes que precisam ser armazenados e como estes podem se relacionar.
Essas técnicas evitam o armazenamento desnecessário dos dados, pois há uma
relação direta entre custo de armazenamento.

Os sistemas de informação têm de suportar, além de processos transacionais e


operacionais, também processos analíticos e voltados para inteligência de
negócios. Esses sistemas precisam ser capazes de expor os dados corporativos
e dar acesso às transações que os manipulam, diretamente para clientes ou
fornecedores da empresa em aplicações na internet.

Os investimentos em tecnologia e serviços para TI são elevadíssimos e as


instituições esperam obter o crescimento da qualidade dos serviços e produtos
oferecidos com os mais baixos custos possíveis.

Sendo assim, esta disciplina tem como objetivos:


1. Desenvolver a prática da observação;
2. Construir um modelo e suas diversas formas de representá-lo;
3. Explicar problemas técnicos de classificação de arquivos;
4. Definir os conceitos de bancos de dados relacionais;
5. Identificar os conceitos de Administração de dados e sua importância.

MODELAGEM DE DADOS 5
Introdução
Em nossa primeira aula serão apresentados alguns conceitos sobre o
conhecimento, como: O que é mundo real e mundo simbólico e como este
conhecimento é organizado pelo homem.

A compreensão desses conceitos são fundamentais para desenvolver a


atividade de modelagem conceitual representada por dados.

Vamos começar?
Bons estudos!

Objetivo:
1. Identificar o ambiente e o que se deve modelar e os fenômenos que podem
ocorrer;
2. Identificar o que são dados e tipos de dados.

MODELAGEM DE DADOS 6
Conteúdo
Contextualização

Como entender os fenômenos do processo de modelagem?


Para entender os fenômenos do processo de modelagem devemos criar uma
base conceitual que nos permita tratar o conhecimento, pois modelar dados é
uma forma de se modelar conhecimento.

O Homem, desde o seu aparecimento, foi colocado em um mundo hostil e teve


que aprender a viver nele.

Um correto conhecimento e interpretação das “coisas” e “eventos” do mundo


que o cerca foi, e ainda é, fator de sobrevivência.

O homem teve de aprender a observar algumas propriedades das “coisas” e


“eventos” e, baseando-se no comportamento dos valores dessas propriedades e
experiências vividas por si e pelos outros, passou a fazer deduções a partir
desses fenômenos.

E essa capacidade de deduzir “coisas” chama-se de inferência.

Neste contexto, podemos verificar que existe um mundo onde o homem habita
e a este mundo vamos chamar de mundo real.

Assim também acontece nas empresas, e elas existem no mundo real, que
normalmente é agressivo.

Mundo real e mundo das representações simbólicas


O homem percebe o mundo real através de seus sentidos. Os sentidos são
percebidos por impulsos, que são encaminhados ao cérebro, que os interpreta e
gera informações a partir do olfato, visão, paladar, tato e audição.

MODELAGEM DE DADOS 7
O cérebro tem mecanismos próprios para organizar, tratar e recuperar essas
informações. É dessa forma que se inicia o processo de “conhecimento”.

Esse mundo de informações criadas é chamado de mundo das


representações (o mundo simbólico). Da mesma forma as empresas
percebem o mundo real através de seus processos “operacionais” e armazenam
essas informações das mais diversas formas. Na forma de vídeo, anotações, ou
mesmo conhecimento tácito (não formalizado) de seus funcionários. Cada
empresa tem a sua forma de organizar, armazenar e recuperar o
conhecimento, e cada empresa tem o seu próprio mundo simbólico.

Generalização e abstração
É a partir das informações recebidas ou percebidas do mundo real que se cria o
conhecimento. Todo conhecimento é construído a partir de um processo de
aprendizado em que se destacam outros dois mecanismos importantes: a
generalização e a abstração.

A generalização é um mecanismo que a partir das informações chegadas ao


cérebro sobre um “evento” ou “coisa” se estenda o mesmo comportamento
para “eventos” e “coisas” similares.

Se, por exemplo, no mundo real, um menino coloca a mão em uma fogueira e
se queima ele pode generalizar que toda fogueira queima e não vai mais
precisar viver a dolorosa experiência para cada fogueira que encontrar. Vários
ditados populares mostram o conhecimento, às vezes incorreto, por
generalização.

“Gato escaldado tem medo de água fria” e “cachorro mordido de cobra tem
medo de linguiça”, isso porque tanto o gato como o cachorro generalizaram
suas experiências.

MODELAGEM DE DADOS 8
Já a abstração é um mecanismo mais sofisticado de aprendizado e ocorre
quando o homem percebe que várias generalizações produzem o mesmo
resultado.

A partir das experiências de várias generalizações procura identificar


propriedades comuns entre elas e daí cria uma abstração. A abstração não se
refere a apenas um conjunto de fatos e eventos, mas identifica elementos
comuns entre vários conjuntos.

Por exemplo, ao colocar a mão em uma fogueira o homem generalizou: toda


fogueira queima. Ao colocar a mão em uma pedra aquecida por um vulcão,
generalizou: pedra aquecida por um vulcão queima. Um ferro em brasa queima.

Aumento de temperatura
Dos conjuntos de generalizações percebeu que todos davam o mesmo
resultado: queima. Daí aprende, de forma independente do fenômeno, que
existe alguma coisa em comum que é o aumento da temperatura. Neste
momento ele cria o conhecimento por abstração – todo fenômeno que produza
aumento de temperatura queima e não precisará mais viver nenhuma
experiência que queime por aumento de temperatura. Aprendeu sobre coisas
que queimam.

Muitos animais generalizam isso mostra que conseguem aprender, mas o


aprendizado por abstração não é comum entre os animais.

O cérebro
Das generalizações e abstrações o cérebro forma imagens do mundo real que
usará no processo de inferência. A atividade de especificar as imagens para
abstrações é um dos principais problemas da Análise de Sistemas, pois a
maioria dos analistas de sistemas se satisfaz com as generalizações e não busca
as abstrações que nem sempre são evidentes e exigem um maior esforço de
observação.

MODELAGEM DE DADOS 9
Mundo simbólico x mundo real
Uma modelagem do mundo real bem feita deve ser focada nas abstrações, e ao
se identificar uma abstração a partir das generalizações já identificadas e
registradas deve se inicializar todo trabalho estruturando a nova abstração com
suas generalizações. É preciso que os profissionais de sistemas entendam que o
tratamento da informação é feita no mundo simbólico apesar de o sistema
existir no mundo real.

Plano de referência
Outro conceito que precisa ser compreendido pelos profissionais que se
dedicam à análise de sistemas, ou qualquer outro que trabalhe em grupo é o de
plano de referência.

Atenção
Chama-se plano de referência o conjunto de conhecimento
que o Homem vai adquirindo durante toda a sua vida. Desde o
seu nascimento, ele aprende o som da palavra “mãe” (sentido
da audição) e aparece uma mulher (sentido da visão) que
atende ao chamado.

Desta forma vai estabelecendo ligações entre os diversos tipos de “imagens”


formadas, ou seja, começa a criar o seu mundo simbólico.

Alguns pesquisadores de neurociência argumentam que o homem já recebe


algum conhecimento de forma genética, não vamos considerar esse fato, pois
foge aos objetivos deste trabalho. As ligações entre as imagens criadas no
mundo simbólico vão chamar de “relacionamentos”, eles aparecem no mundo
simbólico, mas não existem fisicamente no mundo real. São conceitos
estabelecidos entre as imagens, portanto, relacionamentos conceituais.

MODELAGEM DE DADOS 10
Imagem
Quando se ativa uma imagem, todo o conjunto de relacionamentos associados
a essa imagem é ativado no plano de referência de cada um e assim podem-se
deduzir novos fatos.

Atenção
Os relacionamentos existentes na cabeça de cada um, portanto,
no seu plano de referência, são obtidos a partir de experiências
vividas, de narrativas e mesmo do aprendizado formal no
sistema de ensino. Há relacionamentos que foram construídos
desde o momento do nascimento, e como as pessoas têm
experiências diferentes e estas constituem uma grande parte do
plano de referência, pode-se concluir que não existem dois
planos de referência iguais.

Isso explica o fato de ao se apresentar um mesmo problema, mesmo quando


se trata de conhecimento formalizado como o apresentando no sistema de
ensino, as pessoas apresentarem soluções diferentes. A mesma imagem ativou
relacionamentos diferentes com outras imagens levando a processos de
inferência diferentes.

Inferência
O erro na inferência pode ocorrer quando se associa um relacionamento
equivocadamente ou não existe por não ter sido estabelecido por falta de
informação ou mesmo já estar estabelecido de forma errada. Isso deve ser uma
preocupação dos educadores.

Quando um empresário contrata um profissional com “x“ anos de experiência


acredita que nestes “x” anos passou por experiências que acrescentaram novos
relacionamentos ao seu plano de referência e que poderá inferir de forma mais
objetiva.

MODELAGEM DE DADOS 11
Como para cada pessoa existe um plano de referência que é único, pode-se
afirmar que um mesmo objeto do mundo real terá tantas interpretações
diferentes quantas forem às pessoas observadoras e cada interpretação
fortemente influenciada pelos relacionamentos já existentes no plano de
referência de cada um.

Figura 1: Interpretação do objeto por observadores diferentes

Interpretações
A figura 1 mostra, simbolicamente, como um mesmo objeto ou fato pode ter
interpretações diferentes para cada pessoa. Isso na prática ocorre de forma
muito comum e são comuns as ocorrências de pessoas estarem conversando
por vários dias sobre coisas diferentes pensando ser a mesma coisa quando na
realidade tinham apenas algumas características comuns.

Um analista de sistemas deve se policiar sobre esse fenômeno, fazendo uma


série de perguntas sobre a imagem que se forma em sua mente e verificar se
esta é a imagem da mente de seu usuário, pois está trabalhando em um
sistema que deverá processar as imagens de seu usuário e não as suas. Este
problema também conduz a sistemas que não atendem aos usuários que os
encomendam.

MODELAGEM DE DADOS 12
Modelamento
Deve-se ter técnicas de perguntas redundantes, mas com o objetivo de conferir
se você está modelando corretamente o que o usuário precisa. Sempre que
possível, deve-se parar e perguntar: o que você está pensando é o que o
usuário está pensando?

É muito prejudicial a atitude de alguns analistas que querem impor ou conduzir


seus usuários segundo o seu plano de referência. Normalmente o resultado
nesse tipo de conduta só pode ser o desastre: sistemas mal concebidos,
dificuldades na implantação e até mesmo a sua total rejeição.

Diversos planos de referência


Para exemplificar o fenômeno das diversas imagens, observe o esquema que
mostra uma abstração chamada “PESSOA”, que é uma generalização de
homem e da generalização mulher que serão observados. Sob o plano de
referência da observação jurídica para uma pessoa do mundo real cria-se a
“IMAGEM_1”, composta das propriedades Nome, Endereço e Carteira de
identidade, que são as propriedades que um advogado usa no seu processo de
inferência.

Sob o ponto de vista de um médico tem-se a “IMAGEM_2”, composta pelas


propriedades Nome, Altura, Peso, Temperatura e Pressão, as quais, da mesma
forma que na imagem anterior, são usadas no processo de inferência do
médico. Ainda podemos destacar a “IMAGEM_3”, que grupa as propriedades de
interesse do empresário; são elas Nome, Salário e Tempo de experiência.
Assim, pode-se ir definindo novas imagens sempre segundo cada plano de
referência de interesse da análise. Deve-se observar que existe um plano de
referência para cada interesse da observação e não há como fazer uma única
imagem capaz de representar uma pessoa segundo o interesse de todos os
planos de referência.

MODELAGEM DE DADOS 13
Figura2: Diversos planos de referencia

Ao selecionar um plano de referência, diz-se que se determinou um contexto.


Um profissional que trabalha com conhecimento deve, em primeiro lugar,
definir o plano de referência com o qual está atuando. Não se tratará, nesta
aula, de técnicas para ampliar o plano de referência de uma pessoa, pois foge
aos objetivos estabelecidos.

Imagens e seu manuseio


No mundo real, os objetos simplesmente existem. Obviamente, não se pode
transferir “o objeto em si” para dentro do mundo simbólico. Ao se registrar um
objeto, se está na verdade construindo uma imagem desse objeto que se julga
capaz de representá-lo, segundo um plano de referência, para os objetivos
desejados. O ato de registrar começa com a seleção das propriedades do
objeto que serão usadas para o processo de inferência. Esse é o principal
objetivo em um trabalho de modelagem.

Essa modelagem é chamada de conceitual, pois estamos estabelecendo


“conceitos”, ou melhor, definindo formas de representar “objetos” e “fatos” do
mundo real. É importante observar que se isso não for feito de forma correta
todo o processo de inferência fica comprometido. A modelagem conceitual,
para sistemas de informações, inicia com a definição de imagem, depois essa

MODELAGEM DE DADOS 14
imagem será “manuseada” segundo a forma de inferir do “usuário” que passa
as informações.

Atenção
Um sistema de informações só existe no mundo simbólico,
embora os seus componentes físicos existam no mundo real. E
trata-se de um mecanismo que recebe uma imagem e a trata
segundo uma série de conceitos, gerando novas imagens. Estas
geram outras imagens e isso vai acontecendo até gerar uma
imagem final que é o resultado de toda a inferência.

"Soluções" para tratar as imagens


Esta última imagem precisa ser interpretada e correlacionada com um fato ou
objeto no mundo real, caso contrário todo o processo terá sido inútil. Muitos
fabricantes e consultores oferecem várias “soluções” para tratar as imagens.
Produtos de dataware houses, BI, sistemas de apoio à decisão são,
evidentemente, muito bons, mas para processar imagens. E se o processo de
modelagem não identificar as imagens corretas de entrada, ele será
absolutamente inútil. Concluindo, o problema não é o produto que armazena ou
trata as imagens, mas sim o processo. Infelizmente não existe mágica.

Tratamento de imagens
O tratamento de imagens é muito comum em todas as atividades humanas.
Veja o caso de uma transmissão de TV. A câmera capta a imagem de uma
repórter. A câmera transforma a imagem que é a entrada no mundo simbólico,
que por conceitos definidos por engenheiros transforma-os em impulsos
elétricos e estes são transmitidos via ondas eletromagnéticas, são recebidos por
aparelhos próprios, e estes os transformam em outro tipo de sinal que será
para um satélite e daí volta a ser transmitido para equipamento e este
novamente para impulsos, tudo isso acontece segundo novos conceitos
introduzidos a cada etapa. Veja que a todo o momento se está fazendo

MODELAGEM DE DADOS 15
processamento de imagens segundo os conceitos dos usuários (engenheiros e
técnicos). No final uma tela de TV apresenta a imagem da repórter, e esta
imagem deve ser interpretada pelo telespectador.

Telespectador
A imagem desperta no plano de referência do telespectador a figura que é
imaginada no mundo real. Ou seja, só foi possível porque pôde ser
interpretada. Essa mesma figura não tem nenhuma interpretação na cabeça de
meu cachorro quando assiste à televisão. Veja que no exemplo anterior o que
se trata a todo o momento é o manuseio de imagens segundo conceitos
estabelecidos. Existem basicamente dois momentos de risco para o manuseio:
• A entrada da imagem que será manuseada; no caso, identificar perfeitamente
as propriedades que serão necessárias ao processamento e, se esta não estiver
correta, teremos um manuseio que nos levará a imagens incorretas;
• O outro momento de risco é na interpretação para o mundo real.

Correta interpretação
A interpretação deve ser feita considerando o conhecimento existente no plano
de referência de quem recebe a imagem final. Então, este é um momento de
risco, permitir a interpretação de forma correta, caso contrário todo o manuseio
foi inútil.

Há ainda o fenômeno de o usuário ir delineando suas necessidades conceituais


à medida que vai entendendo a sua própria forma de inferir. É comum analistas
de sistemas ficarem muito irritados queixando-se que o usuário fez
“modificações”. Como o delineamento da conceituação é evolutivo, o analista
tem obrigação de tratar a nova conceituação evitando desastres durante a
construção, implantação e utilização desse sistema. Deve - se encarar como
parte da atividade fazer modificações conceituais pedidas pelo usuário.

Importância dos registros feitos nas empresas


A empresa precisa inferir através de suas imagens.

MODELAGEM DE DADOS 16
Ao se atribuir um valor a uma propriedade de uma imagem fazemos “registros”
que popularmente chamamos de dados.

Modernamente as empresas tratam seus dados como outros recursos e desta


forma também os administram. Os dados são fundamentais no processo
decisório da empresa.

Durante um bom tempo não se tratavam os dados com a devida importância,


mas a consciência de que o dado é um recurso estratégico para a sobrevivência
das empresas tornou a atividade de modelagem conceitual uma especialidade
nas empresas. A gestão do modelo conceitual de dados é obrigação de um
profissional chamado administrador de dados. Esse profissional define os dados
que devem ser armazenados, como devem ser armazenados, atualizados e
eliminados. Tornou-se também evidente que todo esse trabalho tem um custo e
o uso de um dado pode gerar benefícios para a empresa. Assim, podemos dizer
que todo dado tem um valor.

Dados e tipos de dados


Considerando que os dados são obtidos a partir das imagens modeladas deve-
se analisar esses dados com relação à obtenção.

Os dados podem ser obtidos por observação direta do mundo real.

Dados Básicos
Os dados básicos têm a propriedade de serem obtidos diretamente do mundo
real. De forma que se o conjunto de dados for perdido não temos como
recuperá-los, pois os fenômenos ocorridos não se repetirão. Outro aspecto é o
tempo de vida do dado. O dado básico é “eterno”, um fato que foi registrado
nunca deixará de ser verdade. Alguém registrou que o Brasil foi descoberto em
abril de 1500 e este registro nunca perderá a validade e o fato será considerado
sempre verdadeiro. O custo é outra característica importante do dado. O dado
básico é caro. Se desejarmos saber dados sobre a atmosfera de Marte deve-se

MODELAGEM DE DADOS 17
enviar um foguete com uma sonda e buscar amostras do solo em Marte.
Quando se quer saber dados sobre a população deve-se fazer um censo e isso
tem um custo: é o custo de se obter o dado básico no mundo real. Resumindo,
o dado básico é caro, eterno e irrecuperável, portanto deve ser guardado com
todo o cuidado possível.

Dados Elaborados
Outro tipo de dado é o obtido a partir de dados já existentes. Este tipo de dado
é obtido a partir de um manuseio, ou algoritmo, no mundo simbólico. Veja que
se este dado for perdido pode ser obtido novamente repetindo-se o
processamento, e o custo da sua obtenção é o do processamento, ou seja é um
custo barato. O tempo de vida também é o da tomada de conhecimento do
dado. Esse tipo de dado é chamado de elaborado. O dado elaborado não deve
ser armazenado, pois pode ser obtido sempre que necessário.

Formulários
Em alguns formulários que preenchemos é comum encontramos um local para
colocarmos a idade. Esse dado é um dado elaborado, pois é resultado da conta
que considera a data atual e a data de nascimento. E veja que rapidamente
perde a validade. O correto é se pedir o dado básico que permita deduzir a
idade, então, o correto é se pedir a data de nascimento. A figura ilustra esses
tipos de dados. Na modelagem conceitual devem-se buscar propriedades para
dados básicos.

MODELAGEM DE DADOS 18
Figura 3: Tipos de dados

Atividade proposta
Leia o texto que caracteriza uma descrição de um mundo real para uma
empresa. A descrição foi dividida em tópicos numerados, para facilitar o
entendimento.

Considere o texto abaixo que caracteriza uma descrição de um mundo real para
uma empresa, a qual se dividiu em frases numeradas para facilitar o
entendimento:

(1) Uma empresa especializada na venda de livros, CD´s e DVD´s necessitam


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.

MODELAGEM DE DADOS 19
(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 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.
(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á recusar o
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.

MODELAGEM DE DADOS 20
(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.

Identifique os conjuntos e seus respectivos planos de referencia no texto


acima:

Chave de resposta:
Frase (1):
Nesta frase especifica-se que o simbólico da empresa ira tratar livros, cd´s e
DVD, neste plano de referencia de conhecer os produtos que a empresa
comercializa têm os conjuntos, para os quais se imagina os respectivos
atributos de forma ilustrativa. Estes devem ser conferidos posteriormente com
o usuário:

LIVRO
DVD CD
nome
nome nome
autor
autor autor
editora
tempo Num .faixas

(plano de referencia de vendas)

MODELAGEM DE DADOS 21
Frase (2):
Nesta frase indica-se que a empresa tem interesse em ter a informação de seus
clientes, e o texto sugere alguns atributos que devem ser obtidos e designados
o atributo identificador. O conjunto pedido é identificado, mas ainda não
conhece se os atributos, poderia se supor como feito anteriormente. Isto deve
ser verificado com o usuário que apoia o trabalho. Assim têm-se dois novos
conjuntos:
CLIENTE

nome
PEDIDO
endereço

Cpf (ID)
Telefone 1
Telefone 3
Telefone 2

(pano de referencia de vendas)


Frase (3):
Nesta frase se identifica que existe outro conjunto chamado produtos (livros,
cd´s e dvd´s) e alguns atributos necessários ao conjunto pedido que já foi
identificado. Veja que produto foi completado com alguns atributos, por
suposição.

produto PEDIDO

quantidade numero
preço Data pedido
descrição

(plano de referencia de vendas)

MODELAGEM DE DADOS 22
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 aparece dois novos conjuntos um se chamará estoque, e o outro
entrega, neste exercício.

estoque entrega pedido

Quant. estocada Data-entrega numero

Preço unitario Endereço-entrega Data pedido


descrição

(plano de referencia de estoque)


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 é o da
transportadora que fará a entrega.

transportadora
entrega
Código transp.

endereço pedido Endereço entrega

cnpj Data entrega


numero
Telefone 1 Código transp
Data-pedido

Telefone 2
.
Telefone 3
Telefone 4

Telefone 5 MODELAGEM DE DADOS 23


(plano de referencia da expedição)
Frase (6):
Na frase seis têm-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.

pedido

numero

Data pedido
Data entrega
Endereço entrega

Código transp.
Valor-frete
Total-frete

(plano de referencia da expedição)


Frase (7)
Veja que se acrescenta novos atributos a entrega, e estes devem ser
acrescentados a imagem.

entrega

Endereço entrega

Data entrega
Código transp
NOME-FUNCIONARIO

CPF-FUNCIONARIO
PLACA-CAMINHAO

MODELAGEM DE DADOS 24
(plano de referencia da expedição)
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.

(plano de referencia da expedição)


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:

entrega

Endereço entrega

Data entrega
Código transp
NOME-FUNCIONARIO

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

(plano de referencia da expedição)


Outro fato importante para a empresa é quando o produto é recusado, neste
caso deve-se criar este conjunto, fazendo referencia a entrega.

Entrega rejeitada

Endereço entrega

Data entrega
Código transp
Nome-recebimento
Data-recebimento
Motivo -recusa

MODELAGEM DE DADOS 25
(plano de referencia da expedição)
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 conjuntos
existentes. Nada é acrescentado no modelo

(plano de referencia da expedição)


Frase (11):
É dito que as entregas são transformadas em compromisso financeiro, que é
um novo conjunto, de interesse do setor financeiro da empresa, assim temos
um novo conjunto:

Compromisso financeiro
Cpf-cliente
Valor-fatura
Data-vencimento

(plano de referencia do setor financeiro)


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.
Identifica-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:

Compromisso financeiro banco Fatura do banco


Cpf-cliente Cod-banco Cpf-cliente
Valor-fatura Nome-banco Valor-fatura
Data-vencimento agencia Data-vencimento
Numero parcelas banco
Data-pagamento
agencia

MODELAGEM DE DADOS 26
(plano de referencia do setor financeiro)
frase(13)
Nesta frase tem-se informações 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-a ser pago
Data-vencimento
Numero banco
Data-pagamento
Código de barras

(plano de referencia do setor financeiro)


Frase(14)
Na frase 14 tem se informações referentes ao recebimento, e como é de
interesse da empresa se cria um novo conjunto: Deste conjunto gera-se o
relatório descrito no texto.

Pagamento da Fatura nco


Cpf-cliente
Valor pago
Data-vencimento
Valor juros
Data-pagamento
Valor-multa

(plano de referencia do setor financeiro)


Frase (15)
Nesta frase não temos novos conjuntos pois o estoque já esta registrado no
conjunto estoque.

MODELAGEM DE DADOS 27
(plano de referencia do setor financeiro)
OBS: A resposta poderá ter pequenas variações do gabarito apresentado

Aprenda Mais

Material complementar

Para saber mais sobre dados, leia a Dados – Wikipédia, a


enciclopédia livre, disponível em nossa biblioteca virtual.

Material complementar

Para saber mais sobre dados, leia O Que São Dados?, Disponível em
nossa biblioteca virtual.

Material complementar

Para saber mais sobre administração de dados, leia Administração


de dados – Wikipédia, a enciclopédia livre, disponível em nossa
biblioteca virtual.

Referências
MARTIN, J. Strategic planning methodologies – New Jersey, Prentice-Hall, INC.
S. date.
Guia para o padrão SQL – Campus.

MODELAGEM DE DADOS 28
Exercícios de fixação

Questão 1
Por que o conhecimento da matemática é importante na criação de um plano
de referência, segundo a teoria apresentada, com relação ao processo de
inferência?
a) A memorização dos conceitos matemáticos permite que se resolva problemas
aplicados a um conjunto.
b) O desenvolvimento de conceitos baseados em modelos matemáticos permite
que se descubra novas relações entre conjuntos e elementos dos conjuntos.
c) O conhecimento de matemática permite criar generalizações no conjunto e
assim estender esses relacionamentos para qualquer conjunto.
d) Os modelos matemáticos são fortemente influenciados por fenômenos físicos,
daí ser difícil o seu entendimento.
e) O aprendizado de matemática é muito simples, pois retrata o mundo real e
aplica-se apenas a partir de fatos e coisas do mundo real.

Questão 2
Uma empresa tem um plano de referência. Um analista de sistemas deve
identificar as características desse plano de referência durante o seu trabalho.
Segundo a teoria apresentada neste trabalho, assinale o motivo entre as
opções abaixo:
a) O analista pode generalizar eventos dos planos de referência das empresas em
que trabalhou e assim criar o modelo para a empresa.
b) O plano de referência da empresa não deve influenciar o desenvolvimento de
um sistema de informações para essa empresa.
c) O analista deve procurar entender os fatos e eventos importantes para a
empresa e em um trabalho de observação identificar os relacionamentos
importantes para as pessoas que lá trabalham.
d) A empresa organizada deve ter manuais operacionais, estes manuais garantem
que todos os funcionários tenham os seus planos de referência idênticos.

MODELAGEM DE DADOS 29
e) O analista deve conduzir o trabalho segundo a sua experiência e o seu plano de
referência, substituindo apenas alguns aspectos, pois na maioria das vezes o
usuário não sabe o que quer.

Questão 3
Uma interface web solicita dados de um internauta. Os dados são transmitidos
a partir de um protocolo HTTP. Depois esses dados são processados em um
servidor PHP que atualiza um banco de dados. Sobre todos os fenômenos
acima, segundo a teoria apresentada nesta aula, podemos afirmar de forma
totalmente correta:
a) Na interface é feita a entrada de dados que constituem a imagem e essa
imagem é armazenada diretamente no banco de dados.
b) Na interface existem campos de entrada de dados que formam a imagem. Esta
imagem é enviada pelo HTTP e no servidor esta imagem é armazenada no
banco de dados.
c) Na interface deve-se colocar o objeto ou fato do mundo real, depois enviá-lo
através do HTTP e finalmente para o servidor PHP.
d) Na interface é capturada uma imagem e esta é processada várias vezes,
criando novas imagens a cada processamento até que é armazenada no banco
de dados.
e) A interface é responsável por receber os dados e estes são grupados e
compactados e devolvidos para o mundo real através do HTTP.

Questão 4
Durante o processo de modelagem conceitual um usuário precisou rever o
modelo e solicitou um conjunto de alterações. Sobre esse fato o que se pode
afirmar, segundo a teoria apresentada, de forma totalmente correta:
a) O usuário que solicita modificações constantemente deve ser afastado do
projeto, pois mostra que não sabe o que deseja.
b) Quando o usuário solicita uma modificação deve-se avaliar a contribuição para
o modelo e considerar como normal esse tipo de trabalho no processo de
modelagem.

MODELAGEM DE DADOS 30
c) O usuário que solicita várias modificações deve atender à orientação do analista
e desta forma parar com os pedidos de modificações.
d) A modificação não permite buscar a estabilidade do modelo, de modo que o
usuário deve ser orientado a não solicitar manutenções.
e) As solicitações de alteração nos requisitos prejudicam o desenvolvimento de
código, pois a todo o momento obriga a alterá-lo, assim o modelo conceitual
fica prejudicado.

Questão 5
Um analista de sistemas precisa fazer um modelo conceitual em uma empresa;
segundo os conceitos apresentados, qual é a primeira atividade que deve ser
feita?
a) A primeira atividade é conversar com os usuários e estabelecer regras para
evitar que sejam fitas muitas alterações no modelo.
b) A primeira atividade é identificar uma imagem inicial qualquer definida junto
com um usuário e sair criando o modelo segundo a experiência do analista.
c) Identificar os usuários envolvidos e identificar algumas características de seus
planos de referência e assim determinar imagens ainda que incompletas que
serão desenvolvidas e completadas durante a análise
d) Deve-se entrevistar os usuários e ao se perceber que estes estão dispostos a
modificar o que já é feito devem ser afastados, pois serão muito problemáticos
para o modelo.
e) Avisar aos usuários participantes que o modelo não poderá sofrer modificações
para etapas que já tenham sido concluídas, pois isso tornará o modelo
conceitual instável.

Questão 6
Considerando o dado como recurso, segundo o que foi visto nesta aula,
podemos afirmar de forma absolutamente correta que:
a) O dado tem seu valor baseado no custo total da decisão e para isso deve-se
incluir o custo de quem decide.

MODELAGEM DE DADOS 31
b) A administração de dados tem a responsabilidade de calcular o valor de todos
os dados que estão baseados no banco de dados.
c) O dado tem seu valor definido pelo analista de sistemas baseado nos softwares
que irá utilizar.
d) O valor dos dados define o meio de seu armazenamento, ou seja, os dados de
valor mais caro devem ficar em produtos mais caros.
e) O dado é o insumo da decisão e a decisão de qualidade depende desse insumo.
Desta forma não há como se dimensionar de forma exata o valor de um dado.

Questão 7
Considerando a teoria apresentada, alguns documentos usados na empresa
devem ser guardados por um determinado tempo. Temos como exemplo a
declaração de imposto de renda, que deve ser guardada durante cinco anos.
Selecione a opção abaixo que justifique essa ação:
a) A declaração de imposto de renda contém dados básicos e se não fosse
definido um prazo a declaração deveria ser guardada eternamente.
b) A declaração de imposto de renda é um documento, desta forma deve ser
guardada pelo prazo determinado, pois deve-se conferir com o que acontece no
mundo real.
c) A declaração de imposto de renda é guardada por cinco anos, pois isso foi
decidido pela Receita Federal tendo como único motivo o prazo necessário para
os computadores processarem estes dados.
d) A declaração de imposto de renda é uma saída do plano simbólico da receita,
portanto, ela decide por quanto tempo deve ser armazenada pelo declarante.
e) Segundo a teoria apresentada ela constitui dados elaborados, e refere-se aos
gastos e receitas do declarante, portanto o prazo definido deveria ser menor.

Questão 8
Ao preencher um documento de emprego, um candidato foi orientado a
entregar uma fotografia e preencher uma ficha que pedia sua idade e o tempo
que está formado. Considerando os conceitos apresentados neste trabalho
pode-se inferir que:

MODELAGEM DE DADOS 32
a) A fotografia é feita em um determinado instante, a idade pode ser usada a
qualquer momento para verificar se o candidato tem o perfil desejado para o
cargo, bem como o tempo de serviço, mesmo que isso vá para um cadastro
que será usado no futuro.
b) A fotografia é feita em um determinando instante na vida da pessoa, a idade e
o tempo de formado não representam nenhuma informação, pois não se sabe o
dia da utilização da informação.
c) O ideal era se conhecer a idade e o tempo de formado a partir de um cadastro
de reserva e tirar a fotografia no momento da seleção ente os candidatos à
vaga de emprego.
d) A fotografia serve para se ter uma ideia da aparência do candidato, sendo
importante se verificar se o dado guardado na ficha referente ao tempo de
experiência e idade é o que se está procurando e isso pode ser obtido
corretamente na ficha.
e) Os dados referentes à idade e tempo de experiência independem de qualquer
inferência, pois são usados a partir de um cadastro de reserva, quando a
fotografia mostra como é a aparência do candidato no momento da
contratação.

Questão 9
Considere as afirmativas abaixo:
I - Um dado elaborado deve ter um tempo de vida definido e procedimentos de
armazenamento que garantam que não será perdido. O seu custo é o da
definição dos procedimentos.
II - Um dado básico é obtido a partir de outros dados obtidos do mundo real.
III - Um dado básico não tem tempo de vida definido, é caro, e não pode ser
recuperado a partir de outros dados.
Quais delas estão totalmente certas, segundo a teoria apresentada:
a) Apenas a opção I
b) Apenas a opção II
c) As opções I e III
d) As opções II e III

MODELAGEM DE DADOS 33
e) Apenas a opção III

Questão 10
Um banco de dados contém dados de um relatório gerencial. Esse relatório é
obtido a partir de dados das vendas realizadas durante os últimos 30 dias.
Entre outras informações contém a totalização das vendas, a quantidade de
vendas, a venda de valor mais alto e de valor mais baixo. Sobre esses fatos,
considerando os conceitos apresentados nesta aula, marque a afirmativa
incorreta:
a) Existem dois tipos de dados quanto à obtenção: o dado básico e o dado
elaborado. O relatório tem dados elaborados que devem ser criados no
momento da decisão.
b) Os dados gerenciais sempre devem ser colocados no banco de dados, pois os
dados gerenciais são básicos para as decisões na empresa.
c) A colocação de dados elaborados em estruturas de banco de dados serve
apenas para onerar o custo do dado e comprometer o desempenho do banco
de dados tendo em vista que esses dados podem ser deduzidos apenas na hora
da decisão.
d) Os dados que serviram para gerar o relatório são os obtidos das vendas,
portanto são dados básicos e somente estes devem ser armazenados no banco
de dados.
e) A única justificativa para se colocar os dados gerenciais em uma estrutura de
banco de dados é quando se deseja manter uma informação histórica agregada
para uma data e o custo de processamento ser muito elevado ou o tempo para
obter a informação for muito longo.

MODELAGEM DE DADOS 34
Aula 1
Exercícios de fixação
Questão 1 - B
Justificativa: A matemática trabalha com abstrações e isso permite modelar
uma série de fatos e objetos do mundo real, e desta forma, “raciocinar” e criar
novas relações entre vários conjuntos e elementos de um conjunto no plano de
referência.

Questão 2 - C
Justificativa: O plano de referência é único para cada empresa. Não existem
duas empresas com o mesmo plano de referências, pois a empresa é formada
por pessoas que atuam nos processos e as pessoas têm planos de referências
diferentes.

Questão 3 - D
Justificativa: A cada modificação das imagens são aplicados os conceitos
relativos ao protocolo que o irá tratar. Isso vai ocorrendo até ser criada a
imagem que será armazenada no banco de dados.

Questão 4 - B
Justificativa: O usuário refina e organiza seus conhecimentos, generaliza e
identifica abstrações que até aquele momento não havia percebido e daí pode
organizar melhor o modelo conceitual que serve de base para a sua inferência.

Questão 5 - C
Justificativa: O analista de sistemas deve identificar os planos de referência e
trabalhá-los, evitá-los direcionando a análise para criar o modelo que atenda a
esses usuários.

MODELAGEM DE DADOS 35
Questão 6 - E
Justificativa: É difícil definir o valor do dado, pois decisões baseadas nesses
dados levam a resultados com vários valores para a empresa, inclusive de
sobrevivência dela.

Questão 7 - A
Justificativa: A declaração tem dados básicos e esses são eternos. Se não
houvesse prazo dever-se-ia guardar esses documentos, pois poderiam ser
pedidos a qualquer momento pela Receita Federal.

Questão 8 - B
Justificativa: Os dados são todos elaborados, portanto, de tempo de vida muito
curto. A fotografia, a idade e o tempo de formado não tem nenhuma precisão
se não forem usados imediatamente e estarão “velhos” no dia seguinte ao
preenchimento da ficha.

Questão 9 - E
Justificativa: Os dados básicos são irrecuperáveis, pois são obtidos de “coisas” e
“fatos do mundo real e após registrados eles nunca serão falsos. O custo de
obtenção é o da realização no mundo real. As outras opções misturam
propriedades do dado simbólico e do dado elaborado.

Questão 10 - B
Justificativa: A afirmativa está incorreta, pois os dados relacionados do relatório
são considerados dados elaborados e devem ser obtidos no momento da
decisão, pois têm vida curta e portanto não devem ser armazenados em
estruturas de banco de dados

MODELAGEM DE DADOS 36
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.

MODELAGEM DE DADOS 37
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 tratamentos
tecnoló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.

MODELAGEM DE DADOS 38
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.

MODELAGEM DE DADOS 39
É 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.

MODELAGEM DE DADOS 40
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 mundo
real. É 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 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) 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:

MODELAGEM DE DADOS 41
Atenção
Observe que se está representando os valores que os atributos
assumem 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 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 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ão
seja 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.

MODELAGEM DE DADOS 42
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

MODELAGEM DE DADOS 43
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 é de


preenchimento 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. Um
identificador 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 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
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.

MODELAGEM DE DADOS 44
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 é 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


construí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 que


tem 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

MODELAGEM DE DADOS 45
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

MODELAGEM DE DADOS 46
Pode ser que todos os elementos de A tenham o par (a, b), neste caso se fala
para toda 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 tem


correspondente no conjunto B. Se existir um elemento (basta um) não ter
correspondente que caracterizamos esta situação. Representamos assim:

MODELAGEM DE DADOS 47
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:

MODELAGEM DE DADOS 48
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 forma
min..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.

MODELAGEM DE DADOS 49
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.

MODELAGEM DE DADOS 50
(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á recusar
o 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.

MODELAGEM DE DADOS 51
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:

Tipo_produto

Cod_produto
nome
autor

{completo, disjuntos}

DVD
CD LIVRO
Cod_produto
Cod_produto Cod_produto
autor
autor autor
tempo
Num. faixas editora

(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.)

CLIENTE

nome
PEDIDO
endereço 1 1..N
Cpf (ID)
Telefone 1
Telefone 3
Telefone 2 MODELAGEM DE DADOS 52
Frase (3):
Nesta frase se identifica que existe outro conjunto chamado produtos que são
colocados no pedido

CLIENTE

nome PEDIDO produto

endereço 1 1..N numero quantidade


1 1..N
Cpf (ID) Data pedido preço
Telefone 1 descrição
Telefone 3 Cod_produto

Telefone 2

Frase (4):
No simbólico da empresa, estamos no plano de interesse co 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.

CLIENTE

nome PEDIDO produto

endereço 1 1..N numero quantidade


1 1..N
Cpf (ID) Data pedido preço
Telefone 1 descrição
Telefone 3 Cod_produto
1
Telefone 2 0..N

0..N
entrega 1
estoque
Data-entrega
Quant. estocada
Endereço-entrega
Preço unitario

53
MODELAGEM DE DADOSdescrição
Cod_produto
Na realidade estoque é um tipo de produto comercializado que apareceu na
frase 1 assim substitui-se pela estrutura fica:

CLIENTE

nome PEDIDO produto

endereço 1 1..N numero quantidade


1 1..N
Cpf (ID) Data pedido preço

Telefone 1 descrição
Telefone 3 Cod_produto

Telefone 2 1 0..N

0..1
entrega

Data-entrega

Endereço-entrega

1
Tipo_produto

Cod_produto

nome
autor
Preço unitario
Quant. estocada

descrição

{completo, disjuntos}

DVD
CD LIVRO
Cod_produto
Cod_produto Cod_produto
autor
autor autor
tempo
MODELAGEM
Num .faixas DE DADOS 54 editora
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.·.

MODELAGEM DE DADOS 55
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

pedido

numero

Data pedido
Data entrega
Endereço entrega

Código transp.
Valor-frete
Total-frete

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


acrescentados a imagem.

entrega

Endereço entrega

Data entrega
Código transp
NOME-FUNCIONARIO

CPF-FUNCIONARIO
PLACA-CAMINHAO

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.

MODELAGEM DE DADOS 56
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:

entrega

Endereço entrega

Data entrega
Código 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

Endereço entrega Endereço entrega

Data entrega Data entrega


1 1..0
Código transp Código transp
NOME-FUNCIONARIO Nome-recebimento

CPF-FUNCIONARIO Data-recebimento

PLACA-CAMINHAO Motivo -recusa

Nome-recebimento Cod_entrega

Data-recebimento

Cod_entrega

Percentual _transp

MODELAGEM DE DADOS 57
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 conjuntos
existentes 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

MODELAGEM DE DADOS 58
compromisso financeiro. Não vai se representar todo o modelo para simplificar
o entendimento no diagrama abaixo:

entrega Entrega rejeitada

Endereço entrega Endereço entrega

Data entrega Data entrega


1 1..0
Código transp Código transp
NOME-FUNCIONARIO Nome-recebimento

CPF-FUNCIONARIO

PLACA-CAMINHAO Motivo -recusa

Nome-recebimento Cod_entrega

Data-recebimento

Cod_entrega

Percentual _transp 1

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

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:

MODELAGEM DE DADOS 59
Compromisso financeiro banco
Cpf-cliente Cod-banco
0..N 1 Nome-banco
Valor-fatura
agencia
Data-vencimento

Numero parcelas
Cod-entrega
1

0..N
Fatura do banco

Cpf-cliente
Valor-fatura
Data-vencimento
banco
Data-pagamento
agencia
Código-fatura

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.

Fatura do banco

Cpf-cliente

Valor-FATURA

Data-vencimento

Numero banco

Data-pagamento

Código de barras

CODIGO-FATURA
AGENCIA
AGENCIA

MODELAGEM DE DADOS 60
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.

Fatura do banco
Pagamento da Fatura nco
Cpf-cliente
Cpf-cliente
Valor-FATURA
1 0..N Valor pago
Data-vencimento
Data-vencimento
Numero banco
Valor juros
Data-pagamento
Data-pagamento
Código de barras
Valor-multa
CODIGO-FATURA
Codigo-fatura
AGENCIA

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?

MODELAGEM DE DADOS 61
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 diagrama
Questã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 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 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 a
seguinte 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.

MODELAGEM DE DADOS 62
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.

candidato trabalhador

número número

nome nome

endereço endereço

contratado
número

num.contrato

data-contratação

MODELAGEM DE DADOS 63
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:

trabalhador
número

nome

endereço

Incompleto, disjuntos

motorista engenheiro digitador


número número número

c.habilitação universidade velocidade

data carteira data-formatura editor-


preferido
CPF

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.

A B

A/B

MODELAGEM DE DADOS 64
Aprenda mais

Generalizações Completa e Incompleta: Uma restrição simbolizando que uma


generalização é completa significa que todas as subclasses já foram
especificadas, 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

{completa}

Homem Mulher

Aprenda mais:

veiculo

número

potencia

lugares

sobreposição,incompleto

aquatico
terrestre
número
número

velocidade
modelo

anfíbio
número

ASSOCIAÇÕES:

MODELAGEM DE DADOS 65
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 em


um 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:

projetos empregado
descrição Tem 0..* nome

prazo 1..N ALOCADO <- matricula

salário

ÉRESPONSAVEL O..N
É COORDENADO

ORGA
RAMAL
END

MODELAGEM DE DADOS 66
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:

projetos empregado
descrição Tem 0..* nome

prazo 1..N ALOCADO <- matricula

salário

É RESPONSÁVEL O..N

É COORDENADO

1 ALOCAÇÃO

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, 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:

MODELAGEM DE DADOS 67
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 o
cliente 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 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 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:

cliente
nome
endereço

MODELAGEM DE DADOS 68
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 Saldo atual
endereço
1 É de
Saldo médio

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 o
conjunto de agencias com o conjunto de clientes.

Conta corrente

cliente Numero
nome 1..n
Tem Saldo atual
endereço
11 É de
Saldo médio

0 .. N
tem

É de

agencia

código
endereço MODELAGEM DE DADOS 69
telefone
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

aluno empréstimo
livro

matricula
titulo
É de 1 titulo
nome Tem 0..*
matricula
edição
Telefone
1 é de data- 0..N tem primeiro autor
emprestimo
editora
data devolução

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

MODELAGEM DE DADOS 70
seja feita a partir do conjunto origem A representação da dependência é por
uma linha tracejada.

empregado familiar
Matricula 11 É de nome

nome Tem 0..* parentesco

endereço data nascimento

registro
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:

MODELAGEM DE DADOS 71
Primeiro passo: O objetivo da modelagem é o controle o pedido, portanto, a
primeira classe que é o foco da análise já esta definida:

orçamento

cliente
endereço

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)

orçamento
Item de orçamento

cliente
1 1..N
endereço Numero item
1

quantidade

descrição

Preço unitário

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.

MODELAGEM DE DADOS 72
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 dados
relacionais 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.

MODELAGEM DE DADOS 73
Questão 3
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 relacionamento
entre 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.

MODELAGEM DE DADOS 74
Questão 06:
Considere o diagrama.

0..N 1
funcionario departamento

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 somente
um 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

1 N N
PACIENTE
N M
N CONSULTA 1 MEDICAMENTO
O

N
1
1
MEDICO 0..
N

MODELAGEM DE DADOS 75
(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 um


relacionamento 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 subconjnto 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

MODELAGEM DE DADOS 76
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:

Aluno Aluno turma


aprovado
matriculado

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.

MODELAGEM DE DADOS 77
Aula 2
Exercí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 é do
modelo 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.

MODELAGEM DE DADOS 78
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 o
elemento 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ção
tem 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.

MODELAGEM DE DADOS 79
Introdução
Existem várias formas de documentar um modelo de dados. São
representações gráficas, mas o importante é a ênfase matemática incorporada
em todas as representações. Nesta aula apresentam-se as formas mais comuns
de representação dos conjuntos e seus relacionamentos.

Apresentam-se ainda diferentes tratamentos para subconjuntos e


representações de auto relacionamentos.

Objetivo:
1. Apresentar o modelo de Peter Chen (MER);
2. Apresentar a representação "pata de corvo" (James Martin).

MODELAGEM DE DADOS 80
Conteúdo

Representação do modelo de Peter Chen (DER)


A abordagem ER foi criada em 1976 por Peter Chen e foi a primeira a ter
aceitação entre os projetistas e ainda hoje é muito utilizada. Nesta técnica, o
modelo de dados é representado através de um modelo entidade-
relacionamento (modelo DER). Vejamos agora mais detalhes sobre esse
modelo:

Um entidade é uma representação abstrata de um “objeto” do mundo real,


podendo ser um fato, uma coisa, tanto objetos concretos da realidade (pessoa,
automóvel ...), quanto objetos abstratos (departamento, compra ...), ou seja
um conjunto de interesse na modelagem.

Normalmente representa-se o conjunto de entidades por um retângulo com o


nome da entidade:

As informações que se deseja sobre uma entidade, ou objeto, são as


propriedades que devem ser observadas no objeto, chamadas de atributos, e
são representados por “pirulitos” junto ao retângulo:

Todos os atributos têm os seus conjuntos de valores e cada conjunto é


chamado de domínio do atributo.

O atributo identificador de um conjunto é representado pintando-se o “pirulito”


de preto ou substituindo-o por uma “estrela”. Por motivos de visualização
recomenda-se que se use a estrela.

Atributos compostos
É uma forma de representar composição de atributos. Muitos autores não
aceitam essa forma de representação. Assim, por exemplo, pode-se representar
um endereço na forma de árvore:

MODELAGEM DE DADOS 81
Figura representativa de composição de atributos

Relacionamento
Um relacionamento é representado através de um losango, ligado por linhas às
entidades que participam do relacionamento. No interior do losango coloca-se o
nome do relacionamento. Observe que no losango se coloca o nome de UM
relacionamento, e está é uma crítica que se faz a esse modelo, pois existem
DOIS relacionamentos entre as entidades. Um da entidade A para a entidade B
e outro da entidade B para a entidade A.

Um relacionamento é um par ordenado com um elemento da entidade A e


outro da entidade B...

A figura mostra o conjunto de pares que representa o conjunto locação, que é


estabelecido da entidade Pessoa para a entidade Departamento:

Figura representativa do conjunto locação

MODELAGEM DE DADOS 82
O modelo apresentado permite que:
Uma ocorrência de entidade não esteja associada a nenhuma ocorrência de
entidade através do relacionamento.
Exemplo: a pessoa p2.
Uma ocorrência de entidade esteja associada a exatamente uma ocorrência de
entidade através do relacionamento.
Exemplo: a pessoa p1.

Uma ocorrência de entidade esteja associada a mais de uma ocorrência de


entidade através do relacionamento. Exemplo: o departamento d1.
Essa propriedade é chamada de cardinalidade de uma entidade em um
relacionamento.

Há duas cardinalidades a considerar: cardinalidade máxima e a cardinalidade


mínima. Apenas duas cardinalidade máximas são relevantes: a cardinalidade
máxima 1; a cardinalidade máxima “muitos”, referida pela letra n.

Figura representativa das cardinalidades

Cardinalidade mínima
Além da cardinalidade máxima, uma outra informação que pode ser
representada por um modelo ER é o número mínimo de ocorrências de

MODELAGEM DE DADOS 83
entidade que são associadas a uma ocorrência de uma entidade através de um
relacionamento (cardinalidade mínima).

Figura representativa da cardinalidade mínima

A cardinalidade mínima 0 e a cardinalidade mínima 1. A cardinalidade mínima 1


também recebe a denominação de “associação obrigatória”, já que ela indica
que o relacionamento deve obrigatoriamente associar uma ocorrência de
entidade a cada ocorrência de entidade em questão.

Com base na mesma linha de raciocínio, a cardinalidade mínima 0 recebe a


denominação de “associação opcional”.

Atenção
Com base na mesma linha de raciocínio, a cardinalidade mínima
0 recebe a denominação de “associação opcional”.A
cardinalidade mínima é usada para especificar que cada
empregado deve ter a ele alocada obrigatoriamente uma mesa
(cardinalidade mínima 1). E que a mesa pode existir sem que a
ela esteja alocado um empregado (cardinalidade mínima 0).

MODELAGEM DE DADOS 84
Tipos de relacionamentos
Vejamos agora os tipos de relacionamentos:

Binário
Um relacionamento binário é aquele cujas ocorrências contém duas ocorrências
de entidade.

Classificação dos relacionamentos binários:

n:n (muitos-para-muitos);
1:n (um-para-muitos);
1:1 (um-para-um);

Exemplos de relacionamentos binários

Figura representativa de relacionamentos binários

Relacionamento ternário
A abordagem ER permite que sejam definidos relacionamentos de grau maior
do que dois (ternários, quaternários, ...).

Figura representativa do grau de relacionamentos

MODELAGEM DE DADOS 85
O “1” na linha que liga DISTRIBUIDOR ao relacionamento expressa que cada
par de ocorrências (cidade, produto) está associado no máximo a um
distribuidor. A um par (cidade, distribuidor) podem estar associados muitos
produtos, isto é, um distribuidor pode distribuir em uma cidade muitos
produtos.

A um par (produto, distribuidor) podem estar associadas muitas cidades, isto é,


um distribuidor pode distribuir um produto em muitas cidades.

Auto relacionamento
Um DER pode conter um auto relacionamento, isto é, um relacionamento
entre ocorrências de uma mesma entidade. Neste caso, é necessário um
conceito adicional, o de papel da entidade no relacionamento.

Figura representativa do auto relacionamento

Exemplo de um DER
Um diagrama ER é apresentado na forma de um grafo. A distribuição dos
símbolos de DER no papel é totalmente arbitrária e não tem maior significado
do ponto de vista formal. Entretanto, para tornar o diagrama mais legível é
usual evitar-se cruzamentos de linhas. Para isso, a recomendação geral é a de
posicionar as entidades que participam de muitos relacionamentos no centro do
diagrama.

Exercício: deseja-se desenvolver uma parte do modelo de dados de um sistema


de controle acadêmico de uma universidade fictícia. O modelo descreve o
seguinte:

MODELAGEM DE DADOS 86
Deseja-se manter informações sobre alunos, cursos, disciplinas e
departamentos;
Deseja-se manter informações sobre a associação de alunos a cursos, de
disciplinas a cursos, de disciplinas a departamentos, bem como de disciplinas a
suas disciplinas pré-requisitos.

Figura representativa sobre manter informações

Atenção
Cada disciplina possui exatamente um departamento responsável
e um departamento é responsável por muitas disciplinas,
inclusive por nenhuma. Uma disciplina pode possuir diversos
pré-requisitos, inclusive nenhum. Uma disciplina pode ser pré-
requisito de muitas outras disciplinas, inclusive de nenhuma.
Uma disciplina pode aparecer no currículo de muitos cursos,
inclusive de nenhum e um curso pode possuir muitas disciplinas
em seu currículo, inclusive nenhuma. Um aluno está inscrito em
exatamente um curso e um curso pode ter nele inscritos muitos
alunos, inclusive nenhum.

MODELAGEM DE DADOS 87
Estudando os atributos
Uma propriedade é um atributo. O conceito de atributo serve para associar
informações a ocorrências de entidades ou de relacionamentos.

Atributo = Dado que é associado a cada ocorrência de uma entidade ou de um


relacionamento.

Figura representativa de entidade ou de um relacionamento.

A figura expressa que cada ocorrência de PROJETO tem associado exatamente


um nome, um código e um tipo. Dificilmente os atributos são representados
graficamente, preferindo a representação textual. Um atributo pode possuir
uma cardinalidade, de maneira análoga a uma entidade em um relacionamento.
A cardinalidade de um atributo define quantos valores desse atributo podem
estar associados a uma ocorrência da entidade/relacionamento a qual ele
pertence.

Nome e Código são atributos obrigatórios e monovalorado (1,1).


Telefone é um atributo opcional e multivalorado (0,n).

A função não pode ser considerada atributo de ENGENHEIRO, já que um


engenheiro pode atuar em diversos projetos, exercendo diferentes funções.
Também não é atributo de PROJETO, já que, em um projeto, podem atuar
diversos engenheiros com funções diferentes.

MODELAGEM DE DADOS 88
Algumas vendas são à vista, outras a prazo. Vendas a prazo são relacionadas a
uma financeira, através do relacionamento FINANCIAMENTO. Os atributos nº
de parcelas e taxa de juros são atributos do relacionamento.

Figura representativa do relacionamento financiamento

Se esses atributos tivessem sido colocados na entidade VENDA, eles deveriam


ser opcionais.

Identificando entidades

Figura representativa do identificador

Cada entidade deve possuir um identificador. Um identificador é um conjunto


de um ou mais atributos (e possivelmente relacionamentos) cujos valores
servem para distinguir uma ocorrência de entidade das demais ocorrências da
mesma entidade. O caso mais simples é o da entidade que possui um único
atributo como identificador. O exemplo anterior significa que cada pessoa
possui um código diferente, mas o nome e o endereço podem ser associados a
pessoas diferentes.

MODELAGEM DE DADOS 89
Figura representativa do identificador

Neste exemplo, o identificador da entidade é composto por diversos atributos.


Existem casos em que o identificador de uma entidade é composto não
somente por atributos da própria entidade, mas também por relacionamentos
dos quais a entidade participa (relacionamento identificador).

Figura representativa do relacionamento identificador

Este modelo expressa que um dependente é identificado pelo empregado ao


qual ele está relacionado e pelo número de sequência.

Alguns autores dizem que a entidade DEPENDENTE é uma entidade fraca.


O termo “fraca” deriva-se do fato de a entidade somente existir quando
relacionada a outra entidade e de usar como parte de seu identificador
entidades relacionadas.

A entidade fraca é representada por um retângulo duplo:

MODELAGEM DE DADOS 90
Dependente
Autores de livros mais recentes preferem não utilizar o conceito, já que as
entidades chamadas “fracas” por esse critério podem, dependendo da realidade
modelada, ser centrais a um modelo.

Modelo de chen
Na representação pata de corvo o relacionamento entre as duas entidades pode
ser orientado indicando o sentido do relacionamento, mas a maioria das vezes
isto não é feito, pois o principal objetivo é representar a cardinalidade. Assim
no desenho abaixo tem-se:

aluno curso

* Matricula

nome * Cod-curso

nome

Um aluno obrigatoriamente está relacionado a um curos (pode ser está


matriculado) e no outro sentido um curso pode ter Zero ou mais alunos (estão
cursando).

Definir o relacionamento pode ser feito na modelagem como mostrado abaixo:

Pertence a
carro dono
tem

* placa

marca * Cod-dono

nome

Representação de sub conjuntos:


Os conjuntos mutuamente exclusivos são representados da forma abaixo:

aluno

Categoria xxx

Aluno Aluno

reprovado
aprovado
MODELAGEM DE DADOS 91
Esta estrutura se repete para cada particionamento do conjunto, unindo-se os
subconjuntos resultantes.

AUTO RELACIONAMENTOS:
A representação pata de corvo também permite a representação de autos
relacionamentos, embora a explicitação em sub conjuntos permita uma melhor
definição. Assim pode se modelar um auto relacionamento:

Cod_peça
*
peça
0 compoem

Descrição

0
unidade

Fica melhor representado na forma de sub conjuntos:

Esta representação tem mais informações sobre os relacionamentos dentro do


conjunto de peças que o auto relacionamento. Existe um relacionamento
conhecido como fraco Que de n:m este tipo de relacionamento indica que é
preciso se fazer analise entre as duas entidades envolvidas. Para resolver este
relacionamento deve-se trata-lo como um relacionamento associativo, que esta
tratado abaixo.

MODELAGEM DE DADOS 92
Relacionamento associativo.
Na modelagem de Peter Chen pode-se colocar atributos no relacionamento,
mas quando se faz isto indica-se que o relacionamento por si só é um “fato”
que também pode ser tratado como conjunto. Desta forma aparece o
relacionamento dito associativo em que os elementos deste conjunto tem como
atributos identificadores as chaves dos conjuntos que precisam ser associados.
Toda vez que se tem relacionamentos do tipo n:m este deve ser decomposto
em um relacionamento associativo, pois os modelos devem ser deterministas,
ou seja quem (identificado) esta se relacionando com quem (identificado).

Os relacionamentos não deterministas são chamados de fracos e sempre


devem ser substituídos por entidades associativas:

aluno professor

Deve ser substituído por:

aluno professor

leciona

Onde cada elemento do conjunto leciona tem o cod-aluno e o cod-professor


que são identificadores no conjunto aluno e conjunto professores
respectivamente além dos dados que seriam inicialmente do relacionamento.
Relacionamentos que devem ser decompostos em associações:

MODELAGEM DE DADOS 93
No tratamento do exemplo do auto relacionamento apareceu um
relacionamento fraco entre as peças simples e compostas e que deve ser
tratado para um modelo determinista;

Este diagrama tem muito mais informação que o simples auto relacionamento.

MODELAGEM DE DADOS 94
Propriedades atribuídas a entidades
Além de relacionamentos e atributos, propriedades podem ser atribuídas a
entidades através do conceito de generalização/especialização. Através desse
conceito é possível atribuir propriedades particulares a um subconjunto das
ocorrências (especializadas) de uma entidade genérica.

No DER, o símbolo para representar generalização/especialização é um


triângulo isósceles.

Associada ao conceito de generalização/especialização está à ideia de herança


de propriedades. Herdar propriedades significa que cada ocorrência da
entidade especializada possui, além de suas próprias propriedades, também as
propriedades da ocorrência da entidade genérica correspondente.

Figura representativa da herança de propriedade

A generalização/especialização total e parcial


A generalização/especialização pode ser classificada em dois tipos: total e
parcial, de acordo com a obrigatoriedade ou não de a cada ocorrência da

MODELAGEM DE DADOS 95
entidade genérica corresponder uma ocorrência da entidade especializada. Em
uma generalização/especialização total, para cada ocorrência da entidade
genérica existe sempre uma ocorrência em uma das entidades especializadas:

Figura representativa da generalização/especialização total

Em uma generalização/especialização total, para cada ocorrência da entidade


genérica existe sempre uma ocorrência em uma das entidades especializadas.

Usualmente, quando há especialização parcial, na entidade genérica, aparece


um atributo que identifica o tipo de ocorrência desta entidade.

Figura representativa da especialização total

Uma entidade pode ser especializada em qualquer número de entidades,


inclusive em uma única.

MODELAGEM DE DADOS 96
Exemplo: se na figura anterior, apenas os motoristas possuíssem propriedades
particulares, haveria apenas uma entidade especializada, a de motoristas. Não
há limite no número de níveis hierárquicos da generalização/especialização.
Uma entidade especializada pode, por sua vez, ser entidade genérica em outra
generalização/especialização. É admissível a herança múltipla, isto é, uma
mesma entidade seja especialização de diversas entidades.

Uma entidade pode ser especializada em qualquer número de entidades,


inclusive em uma única.

Exemplo: se na figura anterior, apenas os motoristas possuíssem propriedades


particulares, haveria apenas uma entidade especializada, a de motoristas. Não
há limite no número de níveis hierárquicos da generalização/especialização.
Uma entidade especializada pode, por sua vez, ser entidade genérica em outra
generalização/especialização. É admissível a herança múltipla, isto é, uma
mesma entidade seja especialização de diversas entidades.

Figura representativa da herança múltipla

MODELAGEM DE DADOS 97
Atenção
Cada entidade especializada herda o identificador de sua
entidade genérica, portanto, não faz sentido definir identificador
para entidades especializadas. Somente pode haver uma
entidade genérica em cada hierarquia de
generalização/especialização.

O modelo de Chen

Figura representativa do modelo de Chen

Depois de Chen surgiram outros trabalhos que mantiveram a mesma linha de


pensamento, dentre eles deve-se destacar os de James Martin e um estudo
feito sobre os trabalhos de Charles Bachman (idealizador do primeiro método
para desenho de estruturas de banco de dados). No modelo de Martin,
conhecido como pata de corvo, as entidades e atributos são representados
como no modelo de Chen, por retângulos, bem como os atributos:

Figura representativa do modelo de Martin

A principal diferença nesta forma de representação baseia-se na indicação do


relacionamento.

Quando se tem um relacionamento com obrigatoriedade (1) representa-se:


Se o relacionamento pode ser o e no máximo um representa-se:

MODELAGEM DE DADOS 98
Se o relacionamento tem no mínimo 1 e no máximo mais de um elemento
representa-se: (esta representação dá origem ao nome "pata de corvo")
Se o relacionamento tem no mínimo zero e no máximo mais de um representa-
se:

Identificando entidades
Ao considerarmos que a maior parte das entidades que eventualmente
comporiam o restante do modelo estariam ligadas a EMPRESA ou FILIAL vemos
que a palavra fraca não é adequada para o conceito em questão.

O identificador de uma entidade, seja ele simples, composto por diversos


atributos, ou compostos por identificadores externos, deve obedecer duas
propriedades:
O identificador deve ser mínimo;
Cada entidade deve possuir um único identificador.
O identificador deve ser mínimo:
O identificador de uma entidade deve ser composto de tal forma que, retirando
um dos atributos ou relacionamentos que o compõe, ele deixa de ser
identificador.

MODELAGEM DE DADOS 99
Identificando Relacionamentos
Em princípio, uma ocorrência de relacionamento diferencia-se das demais
ocorrências do mesmo relacionamento pelas ocorrências de entidades que dela
participam.

Em outras palavras, para cada par (engenheiro, projeto) há no máximo um


relacionamento de alocação.

Existem casos nos quais entre as mesmas ocorrências de entidade podem


existir diversas ocorrências de relacionamento.

A diferenciação dá-se através de atributos identificadores de relacionamento.

Outras representações
Bachman representou a cardinalidade de uma forma mais simples, utilizando
flechas. E, por esta razão, é comum encontrar-se diagramas utilizando flechas.
A restrição que alguns autores fazem é que as flechas indicam movimento e o
diagrama de dados é um modelo estático.
Representa-se:

Figura representativa de Bachman

MODELAGEM DE DADOS 100


Atividade proposta
Você recebeu o modelo conceitual de dados com a descrição de atributos e
entidades:

Questão 1: O modelo esta com boa qualidade ou necessita de um pouco mais


de analise?

Questão 2: O modelo atende as necessidades de se armazenar as horas


previstas e horas trabalhadas por cada técnico no projeto. Como devem ser
complementadas. Use a representação pata de corvo para apresentar o novo
modelo que atenda estas necessidades.

Questão 3: Você foi informado pelo seu usuário que os técnicos podem ser de
nível superior, neste caso há necessidade de se registrar o ano de formatura e
a especialidade. E, técnicos de nível médio. Os técnicos de nível superior são
de humanas e de tecnologia. E os técnicos de humanas são os únicos que

MODELAGEM DE DADOS 101


podem chefiar projetos. Como se deve completar o diagrama para mostrar
estas informações?

Questão 4: Com relação ao dicionário, poderia ser padronizado?

Questão 5: Em que ordem devem ser implementadas as telas de entrada de


elementos no conjunto?

Chave de resposta:
Questão 1:
Não. O modelo apresenta entre técnicos e projetos um relacionamento da
forma n:m que não indica que elemento se relaciona com qual, portanto deve-
se desenvolver análise entre os dois conjuntos.
Justificativa: Deve-se evitar ter relacionamentos múltiplos. Eles devem ser
verificados e corrigidos

Questão 2:

Justificativa:
Veja que na forma que foi apresentada a solução o item de alocação é
dependente da alocação prevista, permitindo que se controle as várias entradas
de um técnico no projeto e se a data esta compreendida entre a prevista para
início e fim de participação do técnico.

MODELAGEM DE DADOS 102


Questão 3:

Justificativa: Deve-se criar uma estrutura de sub conjuntos chamada


generalização para especialização. Observe que a chave de identificação
permanece a mesma nesta estrutura.

Questão 4:
Sim, pode-se criar uma forma de dar nomes que facilite a procura. Para isto
deve-se criar regras para se dar nomes.
Justificativa: Ao se padronizar nomes pode-se operar o modelo com mais
facilidade

Questão 5:
Departamento e projetos devem ser feitos primeiro, pois são apontados por
outros elementos. Depois a estrutura de técnicos, pois apontam para
departamento. E finalmente as estruturas de alocações que são associações.
Justificativa: As estruturas de código para entrar com estes elementos devem
estar prontas nesta ordem, inclusive para testar o sistema.

MODELAGEM DE DADOS 103


Aprenda Mais

Material complementar

Para saber mais sobre Modelagem, leia o material da UFPB,


disponível em nossa biblioteca virtual.

Material complementar

Para saber mais sobre Modelo Entidade Relacionamento, leia AES


– Análise Essencial de Sistemas, disponível em nossa biblioteca
virtual.

Referências
COUGO, Paulo. Modelagem conceitual. Editora campus.
RIBEIRO, Horacio. Análise por objetos: da teoria à prática. Editora Europa –
Unitec, 1996.

Exercícios de fixação

Questão 1
Analise as afirmativas e em seguida marque a alternativa correta.
I. Um relacionamento, em um diagrama entidade-relacionamento, não pode ter
atributos.
II. Uma entidade fraca não tem atributos suficientes para formar uma chave
primária.
IIII. Em um diagrama entidade-relacionamento, os retângulos representam
conjuntos de atributos.

MODELAGEM DE DADOS 104


a) Apenas a afirmativa II é correta
b) Apenas as afirmativas I e II são corretas
c) Apenas as afirmativas I e III são corretas
d) Apenas as afirmativas II e III são corretas
e) Todas as afirmativas são corretas

Questão 2
O que é uma entidade fraca no modelo entidade-relacionamento?
a) Uma entidade que não se relaciona com as demais.
b) Uma entidade dependente de outra entidade.
c) Uma entidade que tem atributos fracos.
d) Um relacionamento.
e) Todas as afirmativas estão incorretas.

Questão 3
Em um determinado banco, uma conta pode aceitar até dois clientes.
Entretanto, cada cliente pode ser aceito, no máximo, em até cinco contas. No
DER (modelo conceitual) esse relacionamento é apresentado com
cardinalidade:
a) n:m
b) 1:n com restrições de totalidade
c) 1:n com restrições de parcialidade
d) 1:n sem restrições de totalidade
e) 1:n sem restrições de parcialidade

Questão 4
Em um projeto do Tribunal de Justiça foi solicitada a elaboração de um modelo
de dados relacional normalizado que representasse o relacionamento
“Dependente depende de Funcionário”. Sabendo que Funcionário pode ter zero
ou muitos dependentes, que os dependentes, quando existentes, são
numerados sequencialmente a partir da unidade e que os números se repetem
para cada funcionário, é correto afirmar que:

MODELAGEM DE DADOS 105


a) A composição da chave primária do Dependente deve considerar a chave
identificadora do Funcionário que a ele corresponde.
b) A chave primária do Dependente se faz chave estrangeira em Funcionário.
c) Funcionário deve ter um atributo multivalorado contendo as chaves
estrangeiras dos seus Dependentes.
d) A composição da chave primária do Funcionário deve considerar as chaves
identificadoras dos Dependentes que a ele correspondem.
e) Dependente deve implementar um auto relacionamento indicando qual
Dependente é diferente dele.

Questão 5
O fato Empregado SUPERVISIONA Empregado, em um diagrama entidade-
relacionamento, é habitualmente representado por:
a) Entidade dependente
b) Meta relacionamento
c) Auto relacionamento
d) Agregação
e) Especialização

Questão 6
Dados os seguintes conteúdos de duas tabelas relacionais, denominadas
PRINCIPAL e DEPENDENTE:
PRINCIPAL
Id_Principal Nome_do_Principal Endereço Regiao

01 João R. Abc, 25 Sul

02 Maria Av. Juary, 32 Norte

03 Aluisio Trav. A, 34 Leste

04 Catarina Al. Hunter, 40 Oeste

MODELAGEM DE DADOS 106


DEPENDENTE
Id_Dependente Nome_do_Depentente

Id_Principal Num_Dependente

01 01 Angela

01 02 Mauro

02 01 Anacléca

04 01 Amândio

04 02 Hélcio

04 03 Marilva

Dados os seguintes diagramas entidade-relacionamento conforme Peter Chen e


respectivas cardinalidades mínima e máxima, desenhados com a intenção de
modelar os dados destas duas tabelas:

Sabendo-se que a tabela DEPENDENTE é uma entidade fraca e, portanto, de


existência dependente da entidade PRINCIPAL e que a identificação de um
DEPENDENTE (Id_Dependente) específico necessita de uma concatenação dos
identificadores Id_Principal e Num_Dependente, é correto afirmar que:
a) O DIAGRAMA 2 é o que mais adequadamente representa a modelagem dos
dados.
b) O DIAGRAMA 3 é o que mais adequadamente representa a modelagem dos
dados.
c) Os DIAGRAMAS 1 e 2 modelam adequadamente os dados.

MODELAGEM DE DADOS 107


d) O DIAGRAMA 1 é o que mais adequadamente representa a modelagem dos
dados.
e) Os DIAGRAMAS 1, 2 e 3 modelam adequadamente os dados.

Questão 7
Sobre o modelo Entidade-Relacionamento (ER), considere:
I. São alguns conceitos centrais da abordagem ER: entidade, classe,
relacionamento, atributo, método, generalização, polimorfismo, especialização e
entidade associativa.
II. Além de especificar os objetos (coisas, tudo que é perceptível ou
manipulável) sobre os quais deseja se manter informações, o Diagrama ER
deve permitir a especificação das propriedades dos objetos que serão
armazenadas no Banco de Dados.
III. Uma propriedade importante de um relacionamento é a de quantas
ocorrências de uma entidade podem estar associadas a uma determinada
ocorrência por meio do relacionamento. Essa propriedade é chamada de
polimorfismo.
IV. Associada ao conceito de generalização/especialização está a ideia de
herança de propriedades.
Está correto o que consta em
a) I, II, III e IV
b) III e IV, apenas
c) II e III, apenas
d) I, II e IV, apenas
e) II, III e IV, apenas

Questão 8
Considere os diagramas abaixo, segundo Peter Chen:

MODELAGEM DE DADOS 108


A representação correta na representação pata de corvo é:

a)

b)

c)

d)
e) Nenhuma das representações tem todas as informações do diagrama
apresentado.

Questão 9
Considere as afirmativas abaixo sobre o diagrama:

MODELAGEM DE DADOS 109


I — A situação representada apresenta um impasse, pois para haver um aluno
precisa existir um curso e para existir um curso precisa existir um ou mais
alunos, assim nunca existirá o primeiro elemento para os conjuntos
apresentados.
II — Não há como fazer uma representação deste diagrama segundo o modelo
do Peter Chen.
III — O diagrama indica a forma de navegação no modelo. Primeiro deve-se
incluir um curso para depois incluir um aluno.
a) Todas as afirmativas estão incorretas
b) Somente as afirmativas I e III estão corretas
c) Somente as afirmativas I e III estão incorretas
d) Somente as afirmativas III e II estão corretas
e) Somente a afirmativa I está correta

Questão 10
Considere uma entidade associativa entre Médico e Paciente (n:m) intitulada
Consulta que, por sua vez, se relaciona com Medicamento em n:m. Na
representação pata de corvo bem determinista, eliminando-se os
relacionamentos n:m, o novo modelo de dados completo será derivado para:
a) Três tabelas
b) Quatro tabelas
c) Cinco tabelas
d) Seis tabelas
e) Sete tabelas

MODELAGEM DE DADOS 110


Aula 3
Exercícios de fixação
Questão 1 - A
Justificativa: A afirmativa I está incorreta, pois um relacionamento pode ter
atributos. A afirmativa II está correta. A afirmativa III está incorreta, pois os
retângulos representam entidades e não conjuntos de atributos.

Questão 2 - B
Justificativa: A entidade dependente é que tem sua identificação feita a partir
de outra, ou sua existência a partir de outra. No modelo MER é a entidade
fraca.

Questão 3 - A
Justificativa: Uma conta tem um ou dois clientes, portanto pode-se colocar n, e
cada cliente pode ter até cinco, portanto m, assim o relacionamento é do tipo
n:m.

Questão 4 - A
Justificativa: A primeira afirmativa é a definição de objeto dependente (ou
entidade fraca).

Questão 5 - C
Justificativa: O relacionamento ocorre com elementos do mesmo conjunto,
portanto, um auto relacionamento.

Questão 6 - B
Justificativa: Ao verificar tabelas observa-se que a entidade dependente precisa
da identificação da entidade principal, sendo portanto uma entidade fraca e
segundo Peter Chen o diagrama que indica essa representação é o 3.

MODELAGEM DE DADOS 111


Questão 7 - D
Justificativa: A afirmativa III está incorreta, pois o relacionamento não é
chamado de polimorfismo. Polimorfismo é uma propriedade de se alterar
métodos que recebem o mesmo nome em estruturas de herança (programação
orientada a objetos). As demais estão corretas, portanto a opção correta é a
quarta.

Questão 8 - A
Justificativa: O auto relacionamento é melhor explicado por subconjuntos como
mostrado na opção A, as demais opções não tem a mesma informação que a
do diagrama apresentado.

Questão 9 - B
Justificativa: Realmente a afirmativa I está correta para o primeiro elemento a
ser inserido no conjunto. Se os conjuntos estão vazios, para se colocar um
elemento no primeiro conjunto ele deve ter um correspondente no outro
conjunto, por isso não é possível inserir, da mesma forma em relação ao outro
conjunto, portanto, não é possível inserir em nenhum conjunto.

Na afirmativa III diz-se que para entrar no conjunto (após o primeiro elemento)
existe uma ordem de entrada. Como se aponta com (1), para a entidade curso
cada aluno que for inserido deve corresponder a um curso. Assim fica
determinada a ordem. Primeiro deve-se entrar com curso para depois inserir
um aluno. A afirmativa está correta.

Já na afirmativa II tem-se um erro, pois é possível fazer a representação em


qualquer dos modelos.

MODELAGEM DE DADOS 112


Questão 10 - B

Justificativa:
Portanto cinco novos conjuntos.

MODELAGEM DE DADOS 113


Introdução
A modelagem conceitual é base para o entendimento do funcionamento de uma
empresa. Dela pode-se derivar estruturas de banco de dados e organização de
sistemas para tratar a informação. Muitas empresas se reorganizam a partir de
seu modelo conceitual de dados.

Mas, para se fazer a modelagem há necessidade de se seguir algumas regras


que irão aumentar a produtividade e gerar modelos conceituais de qualidade.
Estas regras são o que chamamos de “Meta modelo” ou “meta modelagem
conceitual”.

Objetivo:
1. Como conduzir o processo de modelagem e regras para dicionarizar o
modelo;
2. Tratamento de subconjuntos e identificação de abstrações.

MODELAGEM DE DADOS 114


Conteúdo

Como conduzir o processo de modelagem


Quando se inicia um processo de modelagem conceitual deve-se ter em mente
que se está fazendo a representação do mundo real em um mundo simbólico
que interesse para a empresa controlar os seus recursos e tomar decisões.
Deve-se sempre lembrar o objetivo do trabalho. Não se está modelando por
modelar, por isso deve-se seguir algumas regras que, neste trabalho, se chama
de Meta modelagem.

Neste trabalho vai se usar a notação proposta pelo UML, pois está se tornando
um padrão, mas é preciso que fique claro que qualquer das notações
apresentadas (CHEN, MARTIN...) podem ser usadas, pois a ênfase que se está
dando é a fundamentação matemática de teoria dos conjuntos.

Primeiro passo
Deve-se procurar entender para que a empresa precisa desse trabalho. Não é
uma tarefa fácil, mas o modelador deve iniciar o trabalho pelo conjunto “foco”
de interesse da empresa e partir daí toda a modelagem.

Em um estacionamento, por exemplo, deve-se perguntar: Para que se deve


modelar o estacionamento? Qual o interesse da empresa? A resposta é o
controle da ocupação de vagas que vai gerar receita e todas as informações de
fluxo a atividade do estacionamento, então neste caso a modelagem deve
iniciar pela ocupação de vaga.

Em uma escola o interesse está nas matrículas que são a fonte de receita e
estas são ocupadas por alunos. Em um sistema de vendas o conjunto central é
o evento venda. Toda modelagem têm um objeto central é ele que deve ser
representado no centro do diagrama, pois tudo gira em torno dele.
Normalmente é um objeto ou fato concreto.

MODELAGEM DE DADOS 115


O início do sistema de controle de vagas
No sistema de controle de vagas iniciamos da seguinte forma:

Pode-se criar um código e já supor as informações necessárias para uma


ocupação

Figura representativa de código e ocupação.

Veja que para definir a ocupação precisa-se saber qual a vaga, qual carro e o
momento que iniciou e terminou a ocupação, isso já dos dá a direção do
próximo passo que é modelar os conjuntos que precisam ser controlados para
que haja a ocupação. E passa-se a modelar esses conjuntos, normalmente de
fatos e coisas “concretas”. Observe que esse primeiro conjunto é associativo,
pois precisa da vaga e do veículo para sua existência ou identificação

Figura representativa de veículo, ocupação de vaga e vaga.

No processo de modelagem vão surgindo outros conjuntos ligados aos que são
identificados, assim todo o veículo precisa ter um responsável, ou dono que
aparece na documentação. Se o objetivo é identificar o veículo, no mundo real,
a cor é uma propriedade muito importante. O número do chassi para esse feito

MODELAGEM DE DADOS 116


não interessa, pois o funcionário não irá conferir o chassi de cada veiculo, por
motivos práticos. Esses fatos devem ser considerado na modelagem. De forma
que o modelo evolui para:

Figura representativa de veículo, ocupação de vaga, vaga e proprietário.

No caso de uma escola o elemento central, para esse mundo real, é a


matrícula. Uma matrícula de um aluno em uma disciplina, além disso deseja-se
saber o dia, a hora e o período escolar desse fato. Vai-se colocar um
identificador na matrícula, embora ela também seja uma entidade associativa:

MODELAGEM DE DADOS 117


Figura representativa de ocupação de vaga.

Após essa identificação aparecem no mínimo dois novos objetos que precisam
ser tratados, pois participam da associação: aluno e disciplina.

Figura representativa de aluno, ocupação de vaga e disciplina.

E assim vai se desenrolando o modelo conceitual nessa primeira fase da meta


modelagem.

Segundo passo da meta modelagem


Nesta fase se introduz elementos necessários à classificação dos objetos até
aqui identificados. Essa identificação pode ser por tipificação ou por faixas

MODELAGEM DE DADOS 118


definidas pelo usuário. Então o importante e identificar quais são as formas de
classificação feitas pelo usuário.

No caso do estacionamento pode-se classificar as vagas como cobertas e não


cobertas. Pode-se também classificar os veículos conforme o número de pneus.
Veiculos com dois pneus (motos), veículos com quatro pneus (carros), e com
mais pneus (caminhões) etc. Já no caso da escola a classificação pode ser de
alunos de primeiro grau, segundo grau ou ainda dos bolsistas por tipo de
bolsas.

Assim, na segunda fase do modelo são acrescentados todos os objetos que


servem para a classificação do objetos existentes:
Para o estacionamento tem-se:

Figura representativa da segunda fase de modelagem.

Atenção
Podem-se classificar os proprietários por faixa de renda, por
exemplo, assim tem-se:

MODELAGEM DE DADOS 119


Figura representativa da segunda fase de modelagem.

Terceira etapa
Nesta etapa deve-se verificar se as necessidades de informação para o cliente
estão atendidas. Também se cria as associações necessárias às pesquisas mais
complexas. Chama-se de pesquisas mais complexas quando há necessidade de
se navegar por vários relacionamentos no modelo. Deve-se lembrar que o
modelo conceitual é um modelo chamado de transitivo (se a aponta para b, e b
aponta para c então a também aponta para c através de b), mas este
encadeamento pode ficar muito longo. Para evitar isso deve-se colocar
entidades associativas entre as entidades de início e fim do encadeamento.

MODELAGEM DE DADOS 120


Atenção
Suponha nesta fase que é de interesse do usuário do
estacionamento a informação da preferência de proprietário por
tipo de vagas. Isso pode ser obtido por transitividade. Para
conhecer essa forma:

De cada proprietário verifica-se cada veiculo, de cada veiculo


encontrado verifica-se a alocação, e de cada alocação
encontrada verifica-se a vaga e dai identifica-se o tipo de vaga.
Claro que esta se falando de um exemplo, mas é isto que é feito
na pratica. Esta navegação é longa e provavelmente demorada,
dependendo do tamanho dos conjuntos e da tecnologia usada.
Para eliminar este risco, basta coloca ruma entidade associativa
que vá atualizando esta informação. Assim na terceira fase o
modelo fica:

MODELAGEM DE DADOS 121


Na terceira fase também se incluem conjuntos necessários a
segurança e auditoria, tipo, usuário que faz a inclusão ou
alteração, datas de inclusão, etc...

Assim a modelagem deve ser organizada no seu


desenvolvimento nestes três passos.

Regras para dicionarizar o modelo


É importante fazer um dicionário para apoiar o modelo. Neste dicionário deve-
se descrever cada entidade e os seus respectivos atributos, bem como
informações que serão úteis para quem vai utilizar o modelo.

Assim deve-se documentar a entidade:


Exemplo.
DISCENTE: qualquer estudante regularmente matriculado em qualquer dos
cursos da universidade.

Atributos:
Identificador:
é um número que serve para identificar o discente na universidade. Este
número será de seis dígitos sendo que os dois primeiros digitos indica o curso
que o aluno está matriculado. É da forma: CCNNNN (onde cc é o codigo do
curos e nnnn é um sequencial numérico iniciando em 0000).

Nome:
é o nome do aluno constante na sua certidão de casamento ou na certidão de
nascimento.

Endereço:
É o endereço postal do aluno, deve ser comprovado com uma correspondências
de conta pública, na falta desta poderá fazer uma declaração de punho na
presença de duas testemunhas que deverão assinar a declaração.

MODELAGEM DE DADOS 122


CPF:
É o número dado pela receita federal do Brasil e deverá ser comprovado pelo
documento constando o nome do discente.

Entidade ALUNO:
É o discente regularmente matriculado com matricula ativa em um dos cursos
de graduação da universidade.
(.... deve-se descrever cada entidade)

Observe que o dicionário é obrigatório, e não se deve imaginar que existem


descrições evidentes, pois são nestes casos que ocorrem os erros. Por
exemplo, endereço. Apesar de parecer óbvio, uma pessoa tem vários
endereços: endereço postal, endereço residencial, endereço bancário, endereço
eletrônico..... Isto só para exemplificar com um dado aparentemente simples.

Coloca-se ainda no dicionário algumas informações úteis para a administração


de dados. Informações de sua representação em sistemas, de sua utilização, e
de sua segurança.

Assim podemos definir para a entidade Discente, além de sua descrição, como
visto, informações de sua utilização. O Supervisor de ensino pode modificar os
atributos. O período de inserção de discentes é no inicio do ano. O volume
médio é de 12000 elementos no conjunto. Aproximadamente 5% dos
elementos são alterados por ano. Para os atributos da entidade discente pode-
se ter informações de sua representação e utilização. Exemplos:
Identificador:
é um número que serve para identificar o discente na universidade. ..... tipo
inteiro com seis dígitos. Chave do conjunto. Proibido atualizações.

Nome:
é o nome do aluno constante na sua certidão .... Tipo string com 30 posições.
Permitida alterações apresentando nova certidão de casamento.

MODELAGEM DE DADOS 123


Endereço:
É o endereço postal do aluno, deve ser comprovado com uma ...... Tipo
alfanumérico com 40 posições. Permitido alterações apresentando documento
de correspondências.

CPF:
É o número dado pela receita federal do Brasil e ..... Tipo alfanumérico com 11
posições. Não são permitidas alterações.
E assim por diante.

Todas as informações apresentadas sobre os dados são chamados de META


DADOS da empresa, pois servem para definir como os dados são representados
e utilizados. A responsabilidade de manter os Meta dados é de um profissional
chamado Administrador de Dados.

Vai se tratar da administração de dados em uma próxima aula.

META DICIONÁRIO
Imagine que um analista definiu em uma entidade o endereço com 30 posições
alfanuméricos e em outra entidade um endereço com 25 posições do tipo sting.
É preciso ter uma uniformidade até para facilitar o manuseio destes dados. De
forma que o ideal é definir um conjunto de regras que possibilitem se gerar o
dicionário de forma organizada. Estas regras constituem o meta dicionário.
Regras do meta dicionário; O ideal é dar-se o nome dos atributos identificando
a entidade e o tipo de dados que será usado na construção e utilização em
sistemas.

Iniciaremos pelos tipos de dados a serem usados e isto pode mudar de acordo
com a especificação do administrador de dados. No exemplo vamos definir:
Curtointeiro: é um número inteiro com 4 dígitos
Longointeiro: é um número inteiro com 6 dígitos.

MODELAGEM DE DADOS 124


Curtastring: é uma string com 20 caracteres.

Longastring: é uma string com 40 caracteres.

Descrevestring: é uma string com 200 caracteres.

Voce pode definir estes tipos que serão usados para toda a empresa, isto
facilita futuras migrações e “merges” de arquivos. Tem-se ganho nas buscas
dentro do dicionário e nas manutenções nos futuros sistemas.

Definido os tipos podemos começar a dar os nomes de forma organizada.


Vamos pegar a entidade discente para exemplificar:

discente

identificador
nome
endereço
cpf

Pode-se ter a regra de formação de nome para os atributos na forma:


<entidade>_<tipo_dado>_<nome>
O nome de identificador deve ser: discente_longointeiro_identificador.
O nome do atributo nome deve ser: discente_longastring_nome.
O nome do atributo endereço deve ser: discente_longastring_endereço
O nome do cpf deve ser: discente_curtastring_cpf

Assim com as regras do meta dicionario o conjunto ficará da forma abaixo:

discente

Discente_longointeiro_identificador
Discente_longastring_nome
Discente_longastring_endereço
MODELAGEM DE DADOS 125
Discente_ curtastring_cpf
Estas regras irão facilitar a utilização e manutenções futuras.

Tratamento de subconjuntos e identificação de abstrações


Vejamos agora como é feito o tratamento de subconjuntos e a identificação de
abstração através de um exemplo prático. Acompanhe:

Suponha que você coordena um trabalho de modelagem para uma


universidade, com três analistas diferentes, e que cada um foi para um setor
diferente. O primeiro foi modelar a graduação e trouxe o seguinte conjunto:

Figura representativa da modelagem da graduação.

O segundo foi trabalhar na área de pós-graduação e trouxe como conjunto


principal o seguinte:

Figura representativa da modelagem da pós-graduação.

MODELAGEM DE DADOS 126


O terceiro foi trabalhar no departamento de cursos livres e trouxe o conjunto
abaixo como central da modelagem:

Ao receber os três modelos que vimos anteriormente, você pode perceber que
os analistas estavam tratando seus modelos como se eles fossem abstrações
para o fenômeno que encontraram. Mas, ao analisar os três modelos você
verifica que todos têm muitas propriedades em comum, portanto, cada um
deles é uma generalização e não uma abstração.

Verifica-se pelas propriedades que existe uma entidade comum embutida nos
tres modelos, esta sim é a generalização e desta forma podemos construir uma
estrutura que seja mais prática, arrumada e mais “poderosa” em termos de
representação do conhecimento.

?????????

identificador
nome
endereço
cpf

aluno Pós-graduado Aluno-curso

Cod_matricula matricula Numero_aluno

Numero_bolsas Ano-formatura empresa


curso especialidade Data-matricula

MODELAGEM DE DADOS 127


Nesta estrutura pode-se imaginar um conjunto que caracteriza abstração e
deve-se procurar um nome generalista para substituir os ????? (por exemplo,
discente) e reunir as propriedades comuns de todas as generalizações. O novo
identificador deve substituir os identificadores específicos dados por cada
analista. Se estes forem importantes podem ser mantidos como um atributo. E
cada subconjunto ficará com os seus atributos específicos. A estrutura de
abstração então ficará da seguinte forma:

discente

identificador
nome
endereço
cpf

aluno Pos-graduado Aluno-curso


IDENTIFICADOR
IDENTIFICADORR IDENTIFICADOR
Numero_aluno
Cod_matricula matricula
empresa
Numero_bolsas Ano-formatura
Data-matricula
curso especialidade

O Objetivo da modelagem é buscar abstrações, ou seja, estruturas como a que


foi apresentada, pois assim pode-se fazer sistemas com maior aplicabilidade,
além de manter organizado o conhecimento.

MODELAGEM DE DADOS 128


Um conjunto pode ter mais de uma abstração, ou seja, ele pode ser
particionado de quantas formas forem necessárias para a analise. Para cada
categorização ou destaque de sub conjunto deve-se usar o símbolo do
triangulo.. Assim a abstração discente poderia ter outras generalizações como
mostrado abaixo:

aprovado

formado

discente

identificador feminino

nome
endereço
cursando
cpf

aluno Pos-graduado Aluno-curso


IDENTIFICADOR
IDENTIFICADORR IDENTIFICADOR
Numero_aluno
Cod_matricula matricula
empresa
Numero_bolsas Ano-formatura
Data-matricula
curso especialidade

MODELAGEM DE DADOS 129


Observe que nada é informado sobre a interseção dos subconjuntos entre
categorizações. Um discente pode ser aluno, formado aprovado e feminino, por
exemplo. No tratamento de subconjuntos a UML também propõem se guardar
informações de conjuntos com outras estruturas, normalmente não
precisaremos delas, mas se vai apresenta-las para completar o conhecimento
sobre UML.

Ordenação
Considere a modelagem abaixo, observe que os relacionamentos estão
nomeados e no caso do relacionamento de multiplicidade (0..N) deseja-se
informar que os veículos devem ser ordenados de forma crescente por ano.
Neste caso indicamos junto ao conjunto.

Figura representativa de relacionamento de multiplicidade.

Indica que o conjunto de veículos é ordenado, a representação não indica a


forma de ordenação.

Atenção
Dica: Associação ordenada
As associações entre objetos podem ter uma ordem implícita. O
padrão para uma associação é desordenado (ou sem nenhuma
ordem específica). Mas uma ordem pode ser especificada através

MODELAGEM DE DADOS 130


da associação ordenada. Esse tipo de associação pode ser muito
útil em casos como este: janelas de um sistema têm que ser
ordenadas na tela (uma está no topo, uma está no fundo e
assim por diante). A associação ordenada pode ser escrita
apenas colocando “{ordenada}” junto à linha de associação
entre as duas classes.

Observação
O UML define uma representação que pode ser usada em qualquer diagrama
para se especificar comentários (ou observações). É a representação de nota,
como mostrado abaixo:

A obsevação ou comentário
desejado.

Qualificado
Quando necessitamos qualificar uma associação com objetivo de reduzir a
Este desenho é ligado ao elemento que se deseja fazer a observação por uma
linha pontilhada. Assim vamos comentar a forma de ordenação do conjunto de
veículos:

De forma crescente por placa,


sem considerar as letras

Ordenado
aluno
veiculo
Nome
Marca
Endereço
Possui 0..N
placa
matricula
pertence cor
CPF
anoMODELAGEM DE DADOS 131
Qualificado
Quando necessitamos qualificar uma associação com objetivo de reduzir a
multiplicidade, é representado no relacionamento com um retângulo menor,
onde se faz a qualificação. O Retângulo do qualificador é parte do cominho e
não faz parte da classe.

Nota fiscal Item N.F

1..*
produto

No desenho acima o qualificador indica que cada item de NF na Nota fiscal


refere-se a um produto. Esta representação evita de se representar a classe de
produto. A qualificação é uma informação para a implementação – é um
conceito voltado para a programação – Indica que na implementação da Nota
fiscal deve haver um objeto do tipo produto para cada objeto de item de nota
fiscal. Isto indica que não devem existir dois itens de Nota fiscal para um
mesmo produto.

Navegabilidade
Quando for implementado (código de programação) um objeto, podem-se
chamar operações de outros objetos. Diz-se que de uma classe instanciada
pode-se acessar instancias de outras classes que têm relacionamentos com a
primeira classe.

Para indicar o sentido da Navegação, ou seja, como podemos percorrer


(chamando funções – veremos na próxima aula) usou uma flecha no final do
relacionamento. Assim:

MODELAGEM DE DADOS 132


Figura representativa de uma fecha no final do relacionamento.

A navegação é de aluno, que é chamada de classe fonte, para veiculo,


chamada de classe-alvo. Isso indica que da classe aluno podem-se identificar os
veículos de um aluno. Mas, não é possível identificar o aluno dono de um
veículo.

As classes normalmente se relacionam de forma bidirecional por definição, a


navegação pode ocorrer nos dois sentidos do relacionamento, exceto quando
dito ao contrário.

Agregação
Quando se deseja que um conjunto seja tratado de forma incorporada com
outro conjunto. Uma agregação é uma representação que indica que o objeto é
composto com outros objetos, por exemplo, uma nota fiscal é composta por
seus itens de nota fiscal. A nota fiscal, neste caso, é chamada de objeto TODO
e o item de nota fiscal é chamado de objeto PARTE. A estrutura constituída
dessa forma é chamada de TODO-PARTE. E a agregação tem como
característica própria: os objetos-parte são criados pelo objeto todo, ao qual
estão agregados, portanto, o objeto todo já deve ter sido criado. Também é
chamada de agregação por referência. Representa-se por um losango vazado
no relacionamento:

A agregação indica que uma das classes do relacionamento é uma parte, ou


está contida em outra classe. As palavras-chave usadas para identificar uma
agregação são: “consiste em”, “contém”, “é parte de”.

MODELAGEM DE DADOS 133


A composição é outra forma de tratarmos a estrutura “todo-parte”. Uma
composição é uma representação que indica que o objeto é composto com
outros objetos, tal qual na agregação. Em uma agregação, após serem
estabelecidos às relações elas são inalteráveis, estes não poderão ser
modificados. Na composição o objeto todo contém os objetos parte. Assim, ao
se instanciar o objeto todas as partes também são instanciadas, também é
chamada de agregação por valor. Representa-se o losango de forma cheia.

Pode ser usada para complementar uma classe que se identificou um atributo
com uma estrutura que pode ser uma nova classe. Assim pode-se representar:

Agregação de composição: é uma agregação onde uma classe que está


contida na outra “vive” e constitui a outra. Se o objeto da classe que contém
for destruído, as classes da agregação de composição serão destruídas
juntamente, já que as mesmas fazem parte da outra.

Atividade proposta
Considere o minimundo (descrição do mundo real) para fazer uma modelagem
conceitual.
“Deve-se fazer um sistema de informações para uma loja de material de
construção. Existe um estoque de mercadorias. Ao fazer uma negociação, o
vendedor pode reservar parte do estoque, e se a venda for concluída o estoque
é baixado. Existem produtos que são vendidos por unidade, outros por KG, por
litros e outros por metro cúbico.

A venda é registrada em um pedido que deve conter os dados do cliente, os


itens pedidos pelo cliente com suas respectivas quantidades e preços unitários.
Para um pedido define-se a forma de pagamento que poderá ser á vista em
dinheiro, cartão ou cheque. Poderá ser parcelada, neste caso a empresa emite
faturas que são endossadas pelo cliente na hora da compra. “As entregas são
programadas e controladas através do retorno do canhoto da nota fiscal
assinado por quem recebe a mercadoria”.

MODELAGEM DE DADOS 134


Questão 1: Identifique o conjunto central da modelagem citando o tipo de
conjunto.

Questão 2: Existe alguma estrutura do tipo generalização-especialização.


Quais?

Questão 3: É possível criar uma estrutura de subconjuntos com a entidade


pedida?

Questão 4: Como se pode classificar o conjunto de produto para facilitar a


busca por parte dos vendedores?

Questão 5: É possível substituir algumas categorizações de conjuntos, em um


segundo momento por classificações?

Chave de resposta:
Questão 1: O conjunto central é pedido, que é a forma de materializar a
venda. O pedido deve ser um conjunto primário (não depende de ninguém).
Também pode-se iniciar por um conjunto associativo chamado venda.
Justificativa: Por que o interesse principal da loja é vender, então tudo deve ser
relacionado a v.

Questão 2: Produto pode ser estruturado na forma de subconjuntos. Formas


de pagamento também devem ser estruturadas em subconjuntos.
Justificativa: O texto sugere que se estruture o conjunto produtos em
subconjuntos da mesma forma para tipos de pagamentos.

Questão 3: Sim, pode-se classificá-lo em entregue e não entregue


Justificativa: Isto evita repetição de informações.

Questão 4: pode-se classificar por tipo de produto (se é cerâmica, ferragens,


etc...)

MODELAGEM DE DADOS 135


Justificativa: Isto é feito no segundo momento. Permite buscar produtos a
partir da classificação.

Questão 5: Sim, pode-se substituir as categorizações pois elas são uma forma
de classificação.
Justificativa: Muitas vezes é vantajoso e se organiza melhor o modelo.

Aprenda Mais

Material complementar

Para saber mais sobre subconjuntos, leia o texto Partição de um


conjunto, disponível em nossa biblioteca virtual.

Material complementar

Para saber mais sobre agregação e composição, leia o texto


Diagrama de classes, disponível em nossa biblioteca virtual.

Referências
SETZER, W. Valdemar. Banco de dados. Editora Edgar Blucher Ltda.
SILBEERSCHATZ. Abraham et al. Sistema de banco de dados. Makron
Books.
RIBEIRO, Horacio da Cunha e Sousa. Análise por objetos: da teoria à
prática. Editora Europa. Introdução aos sistemas especialistas. LTC.

MODELAGEM DE DADOS 136


Exercícios de fixação

Questão 1
Qual a vantagem de se estabelecer regras para o desenvolvimento da
modelagem conceitual?
A) Permite que se desenvolva o modelo de forma objetiva para atender às
necessidades do cliente.
B) Permite que se desenvolva o modelo de forma quantitativa e qualitativa.
c) Permite que se desenvolva um modelo lógico mais rapidamente.
D) Permite que se estabeleça um ciclo PDCA de qualidade no desenvolvimento.
E) Permite que se inicie uma identificação pelo objeto de menor importância
para o de maior importância

Questão 2
Considere o texto:
“Uma clinica tem médicos com várias especialidades. Existem clientes que são
cadastrados e outros não. Eles podem marcar consultas, e as consultas podem
ser realizadas. Os médicos recebem por consulta realizada”
Segundo os conceitos apresentados nesta aula qual deve ser o primeiro
conjunto a ser modelado?
A) Consulta, pois reflete o objetivo do negócio da clinica e destacando-se o
subconjunto consulta realizada.
b) O conjunto cliente, pois é o mais fácil de ser modelado e seus atributos
servem para o faturamento.
c) O conjunto médico por especialidade, pois sem médico não há como realizar
as consultas.
d) Deve-se iniciar a modelagem por especialidade, pois os dados são os
primeiros a entrar no modelo.
e) Deve-se iniciar pelo Plano de Saúde, pois estes garantem o faturamento.

MODELAGEM DE DADOS 137


Questão 3
Existem conjuntos com milhares de elementos que relacionam com outros
conjuntos. Pode-se buscar os elementos correspondentes a um relacionamento
desejado pelo cliente usando as propriedades matemáticas de transitividade.
Considerando este fato escolha a afirmativa correta abaixo:
A) Verifica-se que quando os conjuntos tem muitos elementos e há necessidade
de navegar por vários conjuntos, o ideal é criar um objeto associativo com
objetivos de atender a consulta.
B) Deve-se verificar a consulta e considerar suas características matemáticas.
Todos os conjuntos com os seus relacionamentos devem possibilitar a consulta.
Qualquer outra ação é uma interferência “indesejável” no modelo.
C) Sempre que é feita uma consulta que atravessa todo o modelo, o ideal é
cria-se um conjunto dependente com o nome da consulta.
D) Uma transitividade não possibilita buscar informações em outro conjunto de
forma permanente, assim deve ser evitada.
E) O modelo e conjuntos tem seus relacionamentos de forma transitiva, mas
quando o número de elemento é elevado esta propriedade torna-se nula

Questão 4
Considere o modelo abaixo, com a notação pata de corvo.

aluno curso disciplina

professor

Sobre o modelo, considerando os conceitos apresentados, pode-se deduzir de


forma correta.
A) Não existe um foco para a modelagem, sendo que todos os conjuntos
apresentados servem para organizar uma cadastro, mas a modelagem está sem
objetivo.

MODELAGEM DE DADOS 138


B) O modelo reflete que a entrada de dados deve ser feita a partir de curso,
portanto deve ser o primeiro elemento a ser modelado, juntamente com
professor.
C) existe uma relação entre aluno e professor na forma m:n usando-se
transitividade.
D) A modelagem mostra que todos os conjuntos tem elementos que não se
relacionam diretamente, assim pode-se concluir que nem todo aluno tem
professor.
E) O modelo reflete uma escola e o interesse principal da escola deve ser o
controle de matriculas, portanto, o natural é iniciar por disciplina conforme
mostrado no modelo.

Questão 5
Sobre dar nomes para as entidades e atributos, segundo os conceitos
apresentados, a afirmativa abaixo que está totalmente correta é:
A) a padronização de nomes facilita na administração de dados e possibilita
padronizar os tipos de dados para os sistemas da empresa. A vantagem desta
ação aparece quando se precisa manter ou exportar informações entre
conjuntos.
B) A padronização de nomes precisa ser implementada e isto exige muito
esforço e desta forma deve ser evitada.
C) Quando você padroniza os nomes de atributos, também padroniza o nome
de variáveis obrigatoriamente, portanto tira a criatividade dos desenvolvedores.
D) Um dicionário de dados é produzido de forma automática e ao se dar um
nome a entidade fica automaticamente identificada facilitando o
desenvolvimento.
E) Os desenvolvedores precisam ter liberdade para criar e toda a
obrigatoriedade dá uma perda de criatividade no desenvolvimento

MODELAGEM DE DADOS 139


Questão 6

No diagrama de classes acima, a relação entre Fabricante e Produto é uma


(A) colaboração.
(B) generalização.
(C) composição.
(D) agregação.
(E) classe de associação.

Questão 7
Considere o diagrama abaixo, segundo o UML pode-se afirmar com toda
certeza:
Text
*

* ListBox
Janela

* Botão
*
Menu

A) representa conjuntos que fazem parte de outros conjuntos, assim um


elemento do conjunto de janelas é composto com elementos de outros
conjuntos.
B) representa que o conjunto janela tem subconjuntos com os nomes
mostrados na agregação
C) A indicação da agregação pintada de preto indica que os outros conjuntos
são disjuntos quando referenciados ao conjunto janela.
D) A representação indica que existe um conjunto chamado janela que é
associado a outros conjuntos em um determinado momento.
E) A representação de composição indica que todos os conjuntos mostrados
são dependentes do conjunto principal

MODELAGEM DE DADOS 140


Questão 8
Segundo a teoria apresentada escolha a opção errada:

Ordenado
aluno
veiculo
Nome
Marca
Endereço
Possui 0..N
placa
matricula pertence
cor
CPF
ano

A) O diagrama esta errado, pois não foi representado a forma de ordenação do


conjunto veiculo
B) matematicamente pode- se dizer: Para todo x pertencente ao conjunto
veiculo Existe ou não y pertencente ao conjunto aluno.
C) Um aluno pode não ter carro, mas se existir o carro ele é obrigatoriamente
de um aluno.
D) Nada é dito sobre a utilização do modelo.
E) A indicação de seta em possui não é a representação da navegação e sim do
relacionamento.

Questão 9
Aluno-curso

Numero_aluno
nome
endereço
cpf
empresa
Data-matricula

Considere o diagrama acima e escolha a opção correta abaixo:

MODELAGEM DE DADOS 141


A) Até este momento o analista imagina que isto é uma abstração, mas não
pode ter certeza disto.
B) O analista sabe que tem uma abstração pois conhece todos os planos de
referencia
C)O analista se contenta com generalizações e se aparecer outra generalização
sobre aluno ele deve manter o modelo
D) O analista não deve ter preocupação de criar generalizações pois elas não
particularizam o modela
E) O analista deve saber que podem existir tipos de alunos, mas isto significa,
com certeza que tem uma abstração.

Questão 10
Assinale a afirmativa correta:
A) Agregação é quando se deseja que um conjunto fosse tratado de forma
incorporada com outro conjunto. Uma agregação é uma representação que
indica que o objeto é composto com outros objetos
B) Não é possível tratar outras partições quando já foi definido um papel no
conjunto.
C) Não é possível se particionar um conjunto quando este participa de alguma
associação.
D) Um conjunto associativo representa que já se particionou parte dos
conjuntos associadores.
E) Um conjunto particionado segundo o critério X e posteriormente particionado
segundo o critério Y obrigatoriamente terá elementos na interseção das
partições.

Aula 4
Exercícios de fixação
Questão 1 - D

MODELAGEM DE DADOS 142


Justificativa: As demais afirmativas não focam a qualidade e completude do
modelo.

Questão 2 - B
Justificativa: Os demais conjuntos são importantes, mas não caracterizam o
objetivo principal da clínica.

Questão 3 - A
Justificativa: Existe um risco alto quando se constrói sistemas que fazem essas
consultas, portanto, o modelo deve ser alterado com conjuntos associativos
para possibilitar a consulta.

Questão 4 - E
Justificativa: Todas as outras afirmativas não estão de acordo com o
apresentado na conceituação.

Questão 5 - A
Justificativa: A padronização de nomes facilita o desenvolvimento e a
manutenção. Permite troca e interligação de sistemas. Ajuda na manutenção e
padroniza a utilização dos tipos de dados por parte dos desenvolvedores.

Questão 6 - D
Justificativa: É a representação da agregação associada a representação da
navegação.

Questão 7 - B
Justificativa: A composição é uma estrutura que mostra as partes que compõem
um objeto.

Questão 8 - A

MODELAGEM DE DADOS 143


Justificativa: Não existe a obrigatoriedade de indicar o tipo de ordenação.

Questão 9 - C
Justificativa: O trabalho do analista é definir abstrações, mas estas só são
conhecidas à medida que identifica novos planos de referência.

Questão 10 - D
Justificativa: Trata-se da definição de agregação.

MODELAGEM DE DADOS 144


Introdução
Quando se define um modelo conceitual de dados deve-se identificar o
tamanho necessário para se armazenar cada elemento do conjunto e também
quantos elementos terão cada conjunto. Para isso, verifica-se o crescimento da
empresa, define-se a estratégia de crescimento e determina-se o volume
necessário de armazenamento. Verifica-se o comportamento da cardinalidade
em função desses volumes.

Posteriormente verifica-se o comportamento quanto às inclusões e atualizações.


Esses valores permitem classificar os conjuntos em tabelas, cadastros e
movimentos. Essa classificação é fundamental para se definir de forma correta
como os conjuntos serão implementados.

Objetivo:
1. Determinar a capacidade de armazenamento necessária ao modelo;
2. Determinar os tipos de conjuntos e seu tratamento físico.

MODELAGEM DE DADOS 145


Conteúdo

A capacidade de armazenamento necessária ao modelo


Quando se define o modelo conceitual, não se trata de alguns aspectos físicos,
como tamanho necessário para cada elemento, número de elementos por
conjunto e principalmente com que frequência ocorre os relacionamentos.

Este estudo é necessário para se definir a capacidade necessária de


armazenamento físico. Pode-se armazenar em meio magnético um conjunto de
diversas formas, pode ficar em arquivos simples (sequenciais), em arquivos de
tamanho variado, arquivos indexados em sistemas gerenciadores de banco de
dados ou mesmo dentro do código de aplicativos.

Figura representativa de armazenamento físico.

Com os seguintes atributos:


Especialidade (cod_especialidade, nome)
UF (Sigla_UF, nome, região, população)
Médico (cod_médico, nome, endereço, CRM, especialidade, CPF, telefone)
Contradado (cod_médico, dia, hora, número_contrato)
Prestador (cod_médico, localidade, preço_base, data_início)

MODELAGEM DE DADOS 146


Consulta (cod_médico, dia, hora, especialidade, paciente)
Paciente (paciente, nome, endereço, telefone, CPF)
Medicamento (código_med, laboratório, nome, preço, posologia)
Medicamento/consulta (cod_medicamento, cod_médico, cod_paciente, dia)

Durante a entrevista com o usuário, que deve validar o projeto, já se busca


informações sobre as necessidades físicas do modelo.

Primeira etapa
Verifica-se o modelo fazendo o levantamento dos volumes hoje e a taxa de
crescimento anual, ou qualquer período para avaliação do modelo. Sugere-se
anual, pois o planejamento da empresa, normalmente, é feito anualmente. Vai-
se analisar por etapas, por motivos didáticos:

Figura representativa do primeiro modelo de planejamento da empresa.

Determina-se para os conjuntos mostrados as seguintes informações verificadas


com o usuário:
Médico: a clínica trabalha com cem médicos atualmente e a taxa de
crescimento é de 5% ao ano.

Contratado: apenas 20 médicos são contratados e a clínica esta migrando para


prestadores, portanto a taxa de crescimento é zero%.

MODELAGEM DE DADOS 147


Prestador: 80 médicos restantes são prestadores de serviço e todo o
crescimento será nesse subconjunto, portanto 5% ao ano.

Neste ponto verifica-se que 100% do conjunto de médicos estão representados


nos subconjuntos. Especialidade: a clínica tem 20 especialidades e pretende
crescer a 10% ao ano. Foi verificado com o usuário que existem especialidades
para as quais não há médico, e algumas especialidades com mais de um
médico e todo médico tem uma (apenas uma) especialidade.

Existem no máximo 30 UF, segundo informações do usuário e todo cliente é


cadastrado. Uma UF tem crescimento zero, pois não é comum se criar UF, e
tem-se 50000 (cinquenta mil) clientes cadastrados, este cadastro foi construído
nos últimos anos, mas a clinica só atende clientes previamente cadastrados.
Veja que podem existir UF que não tem nenhum cliente cadastrado. Foi
informado que a média é de 3000 clientes por UF. Donde se conclui que se
deveria ter 3000clientes*30 UF= 90000 clientes e o usuário informou 50000
caracterizando uma inconsistência.) usuário confirma a media de 3000 clientes
por UF portanto, deve-se considerar 90000 (noventa mil) clientes cadastrados.
A taxa de crescimento foi informada ser de 20% ao ano. Pode-se fazer a
tabela:

Conjunto Total Taxa período Total


elementos crescimento elementos no
período
especialidade 20 10% ano 5 anos 32
Medico 100 5% ano 5 anos 128
Contratado 20 0 % ano 5 anos 20
Prestador 80 x % ano 5 anos 108
Uf 30 0 % ano 5 anos 30
Paciente 90 000 20 % anos 5 anos 224000

MODELAGEM DE DADOS 148


Os valores finais consideraram o crescimento em cima do crescimento e foram
arredondados para o inteiro mais próximo.

Continuando nossa análise para outra parte do diagrama.

medico
consulta paciente

Medicamento
medicamento
/consulta

Nesta parte do diagrama tem-se:

- Que se tem 100 médicos e 90.000 pacientes deduzidos da fase anterior. A


consulta é uma associação de médico e paciente e o usuário informou que são
feitas em média 2000 consulta por dia. Neste ponto é importante qual o tempo
de armazenamento. Qual o período que se deve manter o conjunto? O usuário
nos informa que os dados devem estar disponíveis por seis meses, pois pode
haver questionamentos ou mesmo fiscalizações sobre os dados. Desta forma
considera-se 180 dias, neste exemplo, mas deve-se verificar o período para
cada caso. Este período de tempo de vida do dado também pode ser definido
pelo administrador de dados como será visto na próxima aula. Considerando
180 dias e o volume de 2000 consultas por dia deve-se ter uma capacidade
para 360 000 elementos e a taxa de crescimento foi definida como 20% ao
ano. O conjunto de medicamentos é constituído de títulos de medicamentos. E
o usuário confirma um total de 5000 títulos encaminhados pelos laboratórios
farmacêuticos a taxa de crescimento deste conjunto, segundo o usuário é da
ordem de 5% ao ano. Foi informado também que a média de especificação de
remédios é de três por consulta e que existem consultas que não são receitados
nenhum remédio. Desta forma tem-se para seis meses 360 000 consultas e

MODELAGEM DE DADOS 149


considerando a média de três por consulta tem-se 3*360 000 = 1080 000
elementos com a taxa de crescimento igual a de consultas ou seja 20% ao
mês.

Com estas informações pode-se completar a tabela de volumes:

Conjunto Total Taxa período Total


elementos crescimento elementos no
período
Especialidade 20 10% ano 5 anos 32
Medico 100 5% ano 5 anos 128
Contratado 20 0 % ano 5 anos 20
Prestador 80 x % ano 5 anos 108
Uf 30 0 % ano 5 anos 30
Paciente 90 000 20 % anos 5 anos 224000
Medicamento 5000 5% 5 anos 6380
Consulta 360000 20%ano 5 anos 896000
Medicamento/ 1080000 20% 5 anos 2687400
Consulta

A tabela acima mostra os volumes de cada conjunto no prazo de cinco anos, o


leitor pode argumentar que houve exageros nas estimativas, e poder-se-ia
rever os dados da tabela. Não se fará isto, pois o objetivo é chamar atenção
que deve ser determinado os recursos necessários para o crescimento da
empresa. Pode-se definir inclusive estratégias anuais para ir incrementando
estes recurso. O que não pode é se considerar os dados de hoje esquecendo
que um projeto de sistemas de informações (ou de outra natureza) leva um
determinado período para sua construção e é comum os analistas não
considerarem estes prazos e implantam sistemas que já estão esgotados nos
seus recursos mesmo antes de entrar em operação.

MODELAGEM DE DADOS 150


O segundo passo é determinar o tamanho necessário para cada elemento.
Define-se que a unidade de armazenamento é o caráter, o que será tratado
como equivalente a um byte. As linguagens de programação definem tipos de
dados como inteiro, real e outros. Elas têm tamanhos definidos para tipos como
inteiros que algumas linguagens que tratam com seis bytes, outras com quatro
bytes esta definição depende do implementador da linguagem. O mesmo ocorre
para reais. O que está fazendo é uma estimativa da ordem de grandeza de
modo que se vão introduzir algumas simplificações para facilitar o cálculo. Vai-
se aproximar o tamanho sempre para a ordem decimal superior. Assim 8 será
considerado como 10 (esta se considerando uma margem de compensação E
um. Kilobyte (1024 bytes) será considerado como mil assim tem-se 24 bytes de
segurança.

Sobre a tabela de atributos


Tomando a tabela de atributos:

• Especialidade (cod_especialidade, nome)


Considerando a taxa de crescimento, ter-se-á 32 elementos, de modo que a
chave de identificação o cod_especialidade precisará de 2 posições (pode
representar números de zero a 99) e ainda haverá uma grande folga de
segurança. Pode-se definir o nome com 20 caracteres. Veja a vantagem de se
trabalhar com meta dicionário, se não o está usando, e deve-se tomar cuidado
ao definir esse tipo de campo nos outros conjuntos.

Especialidade precisa de 2 + 20 caracteres, portanto, arredondando, de 30


bytes.

• UF (sigla_uf, nome, regiao, populacao)


O mesmo raciocínio do identificador pode ser usado para UF. A sigla de UF
deverá ter dois caracteres.

• Medico (cod_medico, nome, endereco, crm, especialidade, cpf, telefone)

MODELAGEM DE DADOS 151


cod_medico é o identificador e tem-se que no futuro precisa-se de espaço para
128 médicos há necessidade de espaço para 3 caracteres (representa números
de zero a 999) que garantem uma boa folga.

O nome do médico será definido com 30 caracteres, caso seja necessário


espaço maior sugere-se a simplificação do nome. Veja que esse tamanho varia
de cultura para cultura.

O endereço ficou padronizado em 30 caracteres, seja que só se está tratando


do nome do logradouro e número.

O CRM representa a identificação de um médico e depende do Estado,


considerou-se o tamanho máximo de 10 caracteres, mas isso deve ser
verificado com o usuário. Ou seja, considera-se o tamanho exigido para o maior
Estado.

• Contratado (cod_medico, dia, hora, numero_contrato)


Considera-se que cod_medico já foi definido com três caracteres. Dia foi
definido no dicionário de dados que é da forma dd/mm/aaaa, onde d é o dia, m
o mês e a é o ano, assim têm-se 8 caracteres para representar a data. Para
hora foi especificado o formato HH:MM:SS onde H é hora, M é minuto e S
segundo, assim têm-se 6 caracteres (não se conta os elementos de
formatação). O número de contrato tem formato definido no dicionário como
SS/SS/AAAA onde S é um sequencial de quatro caracteres e A é o ano com
quatro caracteres. Desta forma têm-se 8 caracteres.

O elemento do conjunto contratado necessita de 3 + 8 + 6 + 8 = 25


caracteres, que são arredondados para 30 caracteres.

• Prestador (cod_medico, localidade, preco_base, data_inicio)


Para este conjunto tem-se que cod_medico tem três caracteres. Localidade é a
cidade que o médico atende e definiu-se com 40 caracteres. O preço base é

MODELAGEM DE DADOS 152


quanto foi negociado com o médico por atendimento e foi definido com o
usuário que o valor máximo é de R$150,00, desta forma, necessita-se de 5
caracteres para representar o número, mas para evitar o risco de aumento vai
se considerar 6 dígitos. A data_inicio representa quando começou a valer o
atendimento, e já definimos que uma data tem 8 caracteres (DD/MM/AAAA).
Assim, cada elemento precisa de 3 + 40 + 6 + 8 = 57 caracteres,
arredondando, 60 caracteres.

• Consulta (cod_medico, dia, hora, especialidade, paciente)


Cod_medico já foi definido com 3 caracteres, data foi definida com 8
caracteres, hora foi definida com seis caracteres, especialidade foi definido com
dois caracteres. O que não foi definido foi paciente. Verifica-se no estudo de
volumes que se deverá ter 224 000 clientes cadastrados e deduz-se que se
precisa de um identificador de 6 dígitos para atender ao modelo. Então, cada
elemento do conjunto consulta precisa de:
3 + 8 + 6 + 2 + 6 = 25 caracteres, arredondando para 30 caracteres.

• Paciente (paciente, nome, endereco, telefone, cpf)


Já se definiu que paciente deve ter 6 caracteres. O nome deve ter o mesmo
tamanho do nome de médico, que é de 30 caracteres. O mesmo raciocínio vale
para endereço com 30 caracteres, idem para CPF com 11 caracteres e telefone
com 16 caracteres. Cada elemento necessita de: 6 + 30 + 30 + 11 + 16 = 93
caracteres, arredondando, 100 caracteres.

• Medicamento (codigo_med, laboratorio, nome, preco, posologia)


Há necessidade de se identificar aproximadamente 7000 medicamentos e para
isso precisa-se de um identificador com 4 dígitos (representa números de zero a
9999).

Laboratório - indica o nome do laboratório e usar-se-á 20 caracteres para isso,


se for necessário abreviar nomes maiores que esses. Nome refere-se ao nome
de remédios - definiu-se 30 caracteres para isso. Preço, segundo o usuário,

MODELAGEM DE DADOS 153


existe remédios que custam até R$3000,00, neste caso vai se definir o tamanho
de 6 caracteres. A posologia é a forma de utilização e destinou-se um espaço
de 40 caracteres para essa descrição. Um elemento desse conjunto precisa de:
4 + 20 + 30 + 6 + 40 = 100 caracteres, não havendo necessidade de
arredondamento.

• Medicamento/consulta (cod_medicamento, cod_medico, cod_paciente, dia)


Neste conjunto a maioria dos tamanhos para os atributos já está definida.
Assim, precisa-se de 4 dígitos para o código do medicamento, 3 dígitos para o
cod_medico, 6 dígitos para código do paciente e 8 dígitos para o dia. Então
cada elemento desse conjunto precisa de: 4 + 3 + 6 + 8 = 21 elementos,
arredondando, 30 posições.

Com os dados acima pode-se montar a tabela:

Conjunto Totais Tamanho de Espaço total em


elementos no cada elemento caracteres por
período conjunto período
Especialidade 32 30 960
Medico 128 100 12800
Contratado 20 30 600
Prestador 108 60 6480
Uf 30 40 1200
Paciente 224 000 100 22400000
Medicamento 6380 100 638000
Consulta 896000 30 26880000
Medicamento/ 2687400 30 80622000
Consulta

Total necessário para armazenar o modelo: 130.562.040 bytes


Arredondando-se dividindo por mil e aproximando-se para cima tem-se: 130.
563 Kilobytes.

MODELAGEM DE DADOS 154


Arredondando-se para cima tem-se: 131 Megabytes
Veja que o valor é uma estimativa. Para arquivos sequenciais pode ser
considerado, mas se usamos outros produtos como SGBD há necessidade de se
acrescentar um acréscimo para se considerar os arquivos de indexação, de
acesso e de auditoria, ma 131 Megabytes é uma ordem de grandeza, então se
pode colocar um % sobre este valor, como por exemplo, 50 % para usar um
banco de dados relacional, neste caso serão necessários uma ordem de
grandeza de 131 Mega + 65 Mega = 196 Megabytes.

Existe a lenda que o meio de armazenamento é barato e que não há


necessidade de se preocupar com estes valores, mas hoje, com
armazenamento em nuvem, transferência para dispositivos móveis e
dispositivos com muitas funções e pouca capacidade de armazenamento
conhecer a grandeza de armazenamento é fundamental.

Os tipos de conjuntos e seu tratamento físico


Duas características são muito importantes para se determinar o tratamento a
ser dado para a utilização de um conjunto: o volume do conjunto e a
volatilidade. O volume refere-se à quantidade de elementos no conjunto.

Normalmente são classificados como de grande, médio e pequeno volume. Esse


tipo de classificação é muito relativo em relação aos volumes que se está
tratando, por exemplo, em um sistema de telefonia que trata 200 milhões de
chamadas por dia, um arquivo de 100 000 elementos pode ser considerado
pequeno; para um sistema que trata de vendas 100 000 elementos é um
arquivo grande. Não se trata desse tema com essa precisão. Neste trabalho a
ordem de grandeza será a referência. Se o conjunto que se está tratando é da
ordem de grandeza de dezenas de elementos será considerado como pequeno.
Se a ordem de grandeza é de centenas o arquivo será considerado médio, e
grande, se for da ordem de grandeza de milhares.

MODELAGEM DE DADOS 155


Assim, no nosso exemplo do tópico anterior podem-se classificar os arquivos
conforme a tabela, quanto ao volume:

Tabela representativa de arquivos, quanto ao volume.

A volatilidade
Outra característica importante é a volatilidade. Um conjunto precisa que seus
elementos sejam todos inseridos, mas após a inserção diz-se que o conjunto
está em regime de trabalho, isto é, está estável. Durante a utilização desses
conjuntos novos elementos são inseridos, elementos são alterados ou
deletados, essa movimentação do conjunto é chamada de volatilidade do
conjunto. O tratamento desses conjuntos deve considerar a volatilidade.

A volatilidade representa a instabilidade no conjunto, por isso, deseja-se utilizar


conjuntos com baixa estabilidade. Existem estruturas de armazenamento que
foram projetadas para armazenar conjuntos de baixa estabilidade e os
conjuntos de alta volatilidade comprometem o desempenho dessas estruturas.
Um SGBD, por exemplo, quando armazena um registro em um arquivo, gera
vários outros registros de controle e de desempenho. Então não se grava um
registro, mas vários outros para cada entrada. O SGBD foi projetado para
trabalhar com estruturas de baixa volatilidade.

MODELAGEM DE DADOS 156


Considerar uma estrutura de baixa volatilidade quando em regime de trabalho
não movimenta mais de 3% dos registros em um único processamento. A
volatilidade será alta acima desse valor. Então os conjuntos podem ser
classificados para o seu tratamento, quanto ao volume e volatilidade. Pode-se
classificar da seguinte forma:

- conjuntos com baixo volume e baixa volatilidade são chamados de Tabelas.


- conjuntos com médio/alto volume e baixa volatilidade são chamados de
Cadastros.
- Conjuntos com médio/alto volume e alta volatilidade são chamados de
Arquivos de Movimento.
Os arquivos de movimento devem ser tratados fora de estruturas de
armazenamento indexadas, pois comprometem o desempenho, o ideal é tratá-
los com arquivos sequenciais de tamanho fixo ou não.

As tabelas, dependendo da estabilidade da tabela (perto de zero), como por


exemplo, UF, se as inclusões, alterações ou deleções são muito raras, devem
ser armazenadas no código dos programas, isso evita carregar estruturas toda
vez que for necessário durante o processamento, barateando o sistema. Caso
haja necessidade de alteração deve ser feita por uma manutenção no código.

Os cadastros devem ser armazenados em estruturas que facilitem a


recuperação, tais como sob arquivos indexados. Os arquivos de movimento não
devem ficar em estruturas estáticas quando se tem em um único
processamento uma movimentação de mais de 3% do conjunto total. Devem-
se armazenar em estruturas estáveis os dados quando se faz processamento
online, pois se opera um elemento do conjunto por processamento.

Se existe um conjunto que está em um banco de dados e precisa ser atualizado


em um mesmo processamento batch, esse arquivo deve ser baixado para
sequencial e então fazer o processamento, após o término ser carregado no
banco com utilitários próprios.

MODELAGEM DE DADOS 157


Atividade proposta
Considere o diagrama abaixo retirado do livro de PERKINSON, Richard C. (Data
Analysis: The Key to data base Desing. North-Holland).

Figura representativa do diagrama retirado do livro de PERKINSON.

Considerando que cada elemento do conjunto tenha no máximo 100 bytes, qual
o tamanho aproximado necessário para armazenar o modelo?

Chave de resposta:
Total de elementos em cada conjunto:
Customer: 5.000
Order: 25.000
Invoice: 50.000
Backorder: 2.500
Lineitem: 150.000
Invline: 300.000
Produtct: 5.000
Considerando um tamanho fixo de 100 bytes por elemento, tem-se:
100 * (5.000 + 25.000 + 50.000 + 2.500 + 150.000 + 300.000 + 5000) bytes.

MODELAGEM DE DADOS 158


= 100 * 537.500 bytes = 53.750.000 bytes => 53 750 kilobytes => 54
megabytes.

Aprenda Mais

Material complementar

Para saber mais sobre Calculo para arquivo AVI, leia o Artigo
Calculando o espaço em disco necessário para um arquivo AVI,
disponível em nossa biblioteca virtual.

Material complementar

Para saber mais sobre calcular espaço em disco do banco de dafos


no SQL, leia o texto Como calcular o espaço em disco do banco
de dados no SQL Server 2000, disponível em nossa biblioteca
virtual.

Material complementar

Para saber mais sobre Calculo de arquivo, leia o texto Cálculo de


arquivos, disponível em nossa biblioteca virtual.

MODELAGEM DE DADOS 159


Referências
MACHADO, Francis Berenger et al. Arquitetura de sistemas operacionais.
LTC
PERKINSON, Richard C. Data Analysis: The Key to data base Desing. North-
Holland.

Exercícios de fixação

Questão 1
Considere o modelo abaixo com os volumes apresentados em cada conjunto de
entidades:

UF Município Venda Cliente

(30) (5000) (3000/mê (10000)


s)es
Com os atributos mostrados abaixo:
UF ( sigla UF, nome, município_sede, população, renda_media)
Municipio (município, nome, pouplação)
Venda ( muncipio, cod_venda, data_venda, Valor_venda, valor_imposto,
cod_cliente, NFiscal)
Cliente (cod_cliente, nome, endereço, CPF, identidade)
Considerando que é as notas fiscais devem ficar disponíveis por 5 anos, e que a
empresa vai manter sua estrutura nos próximos 5 anos pode-se afirmar que
deverá ser definida, de forma otimizada :
a) uma capacidade de armazenamento para o modelo para 1,5 Megabytes.
b) uma capacidade de armazenamento para o modelo de 1 gigabytes.
c) uma capacidade de armazenamento para o modelo de 100 kilobytes.
d) uma capacidade de armazenamento na ordem de 3 Megabytes.
e) uma capacidade de armazenamento na ordem de 500 Megabytes.

MODELAGEM DE DADOS 160


Questão 2
Um arquivo deve ser transmitido entre dois pontos. Considerando a capacidade
de armazenamento em bytes, O arquivo é sequencial e deverá ter o formato
abaixo:
Registro de trailer
Registro de header Registro de dados
Registro de dados
Registro dedados

Considerando as informações abaixo, qual a capacidade (em ordem de


grandeza) de armazenamento mínima necessária para que o arquivo possa
ser todo transmitido (ou armazenado). São transmitidos até 20 arquivos por
dia.
Registro de trailer ( uma ocorrência)
Registro de header (uma ocorrência)
Registro de dados (mil ocorrências)
Campos dos registros:
Registro de header (nome empresa, data, sequencia_dia, nome_sistema).
Registro de trailer (nome empresa, data, sequencia_dia, nome_sistema,
total_registros).
Registro de dados (Nome_cliente, data_venda, Valor_venda, numero_NF)´.
Será necessária uma capacidade de no mínimo:
a) para 51 megabytes.
b) para 10 megabytes.
c) para 500 megabytes.
d) para 1 gigabytes.
e) para 500 kbytes.

Questão 3
Considere o diagrama abaixo contendo os volumes de elementos para cada
conjunto:

MODELAGEM DE DADOS 161


Especialidade
UF
(30)
(30)

Medico
Consulta Paciente
(20)
(1000) (2000)

Medicamento
Medicamento
/consulta
(2000)
Contratado

(6) Prestador

(34)

Observando o diagrama pode-se concluir com certeza que:


A) Existe uma inconsistência na definição dos subconjuntos e a media de
consulta por paciente é de 0,5 consulta.
B) Existe uma inconsistência em relação a entrada de dados. Não é possível
identificar que conjuntos devem ser preenchidos primeiros.
c) Existe uma inconsistência entre o conjunto de médicos e de Especialidade.
Não pode haver menos médicos que especialidades.
d) Existe uma inconsistência entre o conjunto de consultas e o conjunto de
pacientes. O número de consultas deve ser obrigatoriamente maior que o de
pacientes.
e) Se existem 2000 itens de medicamentos então o número de elementos em
medicamento/consulta deve ser obrigatoriamente maior que 2000.

MODELAGEM DE DADOS 162


Questão 4
Considere que em um estudo de volumes encontrou-se para um modelo uma
ordem de grandeza de 5 gbytes. Considere que há disponibilidade de uma área
de 1 cm2 de área de armazenamento em um dispositivo que será
obrigatoriamente usado no projeto.
a) Para o armazenamento deve-se escolher um periférico capaz de armazenar
5gbytes/cm2.
b) Para armazenar 5 gbytes necessita-se de 5 cm2 se considerar que o
periférico independe da capacidade de armazenamento e sim da densidade
magnética.
c) Deve-se escolher fita “stream” que pode armazenar densidades magnéticas
variadas.
d) Deve escolher uma memória “flash” que é de alta densidade magnética e
certamente será capaz de armazenar o modelo.
e) Deve-se pensar em uma estrutura RAID de discos com isto vai se gastar
menos de 1 cm2 e assim todo o modelo será armazenado.

Questão 5
Considere as afirmativas abaixo:
I ) os dados de um modelo podem ser armazenados em um arquivo seqüencial
com valor muito próximo do estimado.
II) O valor estimado é o gasto por um sistema gerenciador de banco de dados
quando se cria um banco de dados para o modelo.
III) O valor estimado para o armazenamento de um modelo não considera
características lógicas, portanto, é uma aproximação do valor necessário.
Estão absolutamente certas:
a) todas afirmativas.
b) nenhuma das afirmativas.
c) I e III
d) I e II
e ) III e II

MODELAGEM DE DADOS 163


Questão 6
Uma empresa mantém o seu cadastro de contas a receber em um SGBD
relacional com aproximadamente um milhão de registros e recebe diariamente
uma fita do sistema bancário com 100.000 registros. Ocorre que o programa
que atualiza o banco esta levando em média 25 horas de processamento batch.
Que a empresa deve fazer para melhorar este tempo de processamento com o
menor custo?
A) Deve-se modificar o sistema de baixa retirando-se o arquivo do banco para
ser atualizado com arquivo seqüencial e posteriormente se carregar o SGBD
com a atualização (estratégia de “ balanced line “)
B) Deve-se providenciar a compra de mais processadores, distribuir o arquivo
de cadastro e modificar o sistema de baixa.
C) Deve-se buscar uma outra estrutura de SGBD não relacional, pois a estrutura
relacional é complexa.
D) Deve-se redefinir as tabelas no SGBD de forma a diminuir o tamanho de
cada registro.
E) Não há como resolver o problema é puramente de tecnologia.

Questão 7
Um analista identificou um conjunto com o nome de SEXO, e o definiu como
um cadastro. Considerando esta informação determine a opção correta abaixo:
A) Decidiu colocar o conjunto SEXO completo no código de seu programa e
barateou o custo de execução.
B) Decidiu tratar o conjunto é um cadastro e deve ser colocado em um arquivo
para possibilitar atualizações
C) Decidiu tratar o conjunto junto com outras tabelas de forma que todas
sejam carregadas uma única vez de desta forma facilitar a manutenção
D) Decidiu de forma errada, pois classificou uma tabela como cadastro e a
colocou em um arquivo.
E) Decidiu fazer um modulo, com inclusão, alteração e deleção para tratar a
tabela sexo.

MODELAGEM DE DADOS 164


Questão 8
Para a troca de arquivos entre duas empresas, são usados arquivos seqüenciais
com o seguinte formato:
Registro de trailer
Registro de header Registro de dados
Registro de dados
Registro dedados

O registro do tipo header tem o seguinte formato: (empresa, data, total


registros).
O registro do tipo trailer tem o seguinte formato: (empresa, data, total de
registros).
A justificativa de existir estes dois registros, de forma correta, é:
a) Como é um arquivo de movimento precisa-se ter certeza que todos os
registros de dados foram transmitidos e recebidos.
b) O arquivo é sequencial e, portanto é uma redundância criar o arquivo de
trailer, pois contém os mesmos dados do header.
c) O arquivo deveria ter apenas arquivos de dados para transferir movimentos.
d) O arquivo deve ser armazenado em um banco de dados e no banco de
dados deve conter os dados do trailer e do header, pois se trata de um
movimento.
e) As empresas criam o trailer e o header simplesmente para colocar suas
identificações sem nenhuma outra utilidade no processamento.

Questão 9
Considere o modelo abaixo:

UF municipio venda cliente

Com relação ao estudo de volumes e classificação de arquivos, segundo a


teoria apresentada, deve-se de forma correta:

MODELAGEM DE DADOS 165


a) classificar UF como uma tabela a ser colocada no código, município e clientes
como cadastros e venda como um arquivo de movimento.
b) todos os arquivos devem ser colocados em tabelas, pois as tabelas são
cadastros e movimentos.
c) O arquivo vendas é o principal arquivo e ele define o tratamento que deve
ser dado para cliente, município e UF.
D) Cliente deve ser colocado no código, pois isto facilita a execução e
manutenção do código, ficando vendas para um arquivo de atualizações.
e) Este modelo mostra que vendas é diretamente ligado ao cliente, portanto
deve ficar na mesma tabela. Já os arquivos de UF e município devem ficar em
outra tabela,

Questão 10
Um desenvolvedor colocou todos os seus arquivos em tabelas de um banco de
dados relacional. O sistema tem se apresentado lento para transações de
atualizações recebidas da matriz da empresa. De forma correta pode-se
afirmar que:
a) Provavelmente existe um arquivo de movimento que ao ser atualizado está
comprometendo o desempenho do sistema ao receber um arquivo da matriz.
b) Provavelmente existe um erro no código que está sendo executado e isto
torna o sistema mais lento.
c) Provavelmente o modelo está sendo colocado em um produto cujo
desempenho é ruim e o ideal é trocar o produto.
d) Provavelmente tudo deveria estar em arquivos sequenciais para melhorar o
desempenho.
e) provavelmente tudo deveria ter sido colocado no código da transação isto
facilitaria o desempenho, a manutenção e atualização do sistema.

MODELAGEM DE DADOS 166


Aula 5
Exercícios de fixação
Questão 1 - A
Justificativa: Fazendo o cálculo de volumes aproximados pode-se afirmar isso,
considerando:
UF = 2 + 30 + 4 + 9 + 6 = 51 bytes => 60 bytes ---------- 60 * 30 = 1.800
Muncipio = 4 + 30 + 9 + 2 = 45 bytes => 50 bytes ---------- 50 * 50.00 =
25.000
Cliente = 5 + 30 + 30 + 11 + 10 = 86 bytes => 90 bytes ---------- 90 * 10.000
= 900.000
Venda = (4 + 6 + 8 + 8 + 8 + 5 + 6) = 45 bytes => 50 bytes ---------- 50 * 5
* 12 * 3000 = 9.000.000
Total apurado = 1.016.800 => 1.017 kbyte => 1,1 Megabyte

Questão 2 - A
Justificativa: Header = 30 + 8 + 2 + 20 = 60 bytes => 60 => 60 * 1 = 60
Trailer = 30 + 8 + 2 + 20 + 4 = 64 bytes => 70 => 70 * 1= 70
Dados = 30 + 8 + 6 + 6 = 50 Bytes => 50 => 50 * 1.000 = 50.000
Total => 50.130 bytes = 51 megabyte

Questão 3 - A
Justificativa: Os subconjuntos devem totalizar o total do conjunto, visto que a
partição é completa. E se considerar-se o número de consultas e de pacientes
cada paciente tem em média 0,5 consulta (1000/2000).

Questão 4 - A
Justificativa: O dispositivo de armazenamento deve ser tal que guarde todo o
modelo no espaço disponível e isso define a densidade magnética necessária.

MODELAGEM DE DADOS 167


Questão 5 - C
Justificativa: Quando se tem um banco de dados existem outros arquivos para
facilitar o acesso e esses valores não foram considerados na estimativa,
portanto, essa afirmativa está incorreta.

Questão 6 - A
Justificativa: Não se devem processar movimentos diretamente no banco de
dados.

Questão 7 - A
Justificativa: Tabelas com poucos elementos e 100% estável devem ser
colocadas no código.

Questão 8 - D
Justificativa: Isto é para garantir que se recebeu todos os registros do
movimento, durante a transmissão pode haver acidentes em que dados são
perdidos e o trailer garante que todos os registros foram recebidos.

Questão 9 - B
Justificativa: UF é uma tabela muito estável e pequena, portanto deve ser
colocada no código, município e clientes são cadastros e deve ser colocados em
estruturas que facilitem a recuperação (com sistemas gerenciadores de banco
de dados), Venda é um arquivo de movimento e dependendo se a
movimentação em um único processamento for maior que 5% deve ser tratado
fora de estruturas de recuperação.

Questão 10 - A
Justificativa: Em uma transação pode acontecer do movimento ser atualizado
em mais de 5 % de seus registros o que compromete a volatilidade.

MODELAGEM DE DADOS 168


Introdução
Em 1970, Codd, um estudioso, considerado o pai do modelo relacional, já
propunha que os elementos de um conjunto fossem representados em tabelas.
Nessa representação aparecem algumas anomalias graves com relação à
atualização, inclusão e deleção de elementos. Desta forma, surgiram as formas
normais, que são tratamentos de decomposição de novas relações de forma a
não se perder conteúdo e evitar os problemas nos tratamento das informações
nas tabelas. Uma modelagem conceitual bem feita já nos garante, no mínimo, a
terceira forma normal (como será visto), mas muitas vezes nos deparamos com
estruturas já definidas e que precisam ser normalizadas.

Objetivo:
1. Estudar a primeira, segunda e terceira formas normais;
2. Estudar as demais formas normais – Boyce-Codd, quarta e quinta forma
normal.

MODELAGEM DE DADOS 169


Conteúdo

A primeira forma
Suponha que se deseje guardar os dados de um aluno na forma de uma tabela:

Tabela representativa dos dados de um aluno.

Esses dados foram coletados do mundo real para cada elemento. O encontro de
uma linha com uma coluna é chamado de célula. Observando a tabela, verifica-
se que existem células em branco (sem valor), células com um valor e células
com mais de um valor. Uma tabela com dados desse tipo é chamada de tabela
não normalizada. Existem vários problemas para manusear as linhas desta
tabela. Por exemplo, se desejar tirar um dos telefones de Luiz deve-se tirar
toda a linha, o que implica em perda de dados, além de outros problemas.

Tabela representativa dos dados de um aluno.

A proposta do modelo relacional normalizado é trabalhar com tabelas cujo


conteúdo da célula tenha no máximo um valor. Isso quer dizer que se devem
eliminar todas as entradas múltiplas em uma célula. Na prática implica em dizer
que não são aceitos grupos repetitivos ou multivalorados. Quando uma tabela
tem no máximo um valor por célula diz-se que ela está na Primeira Forma

MODELAGEM DE DADOS 170


Normal. Toda tabela não normalizada pode ser colocada na Primeira Forma
Normal, por repetição de dados em linhas, de modo a manter todas as
informações. Assim, a tabela exemplo, na primeira forma normal, fica:

Atenção
Observe que se repetiu linhas para Álvaro de forma a manter as
informações para seus irmão e telefones. O mesmo ocorreu para
José Luiz.

Esta tabela está na Primeira Forma Normal (1FN). Existem várias dificuldades
em se trabalhar com a 1FN:
i) Imagine que deseja se colocar mais um telefone para Álvaro, isto implica em
entrar com várias linhas de modo a fazer a combinação com todos os seus
irmãos. Então uma anomalia grave é na inclusão de novos valores para os
atributos representados.
ii) Ou que se quer atualizar o endereço de Álvaro, ele aparece em vários
registros devido as repetições. E isto pode causar inconsistências, basta que
não se atualize um dos registros.
III) O mesmo ocorre se for preciso retirar um telefone, isto implica em retirar
vários registros o que também poderá resultar em perda graves ou
inconsistências.

O SGBD´S (Oracle, Mysql, Ingress, SQL Server,...) são produzidos para dar
suporte a primeira forma normal, por isto são chamados de SGBD relacionais
(normalizados). Veja que quem trabalha com a primeira forma normal deve
resolver o problema das anomalias na programação e isto não é desejável pois
a probabilidade de introduzir erros é muito alta.

MODELAGEM DE DADOS 171


As dependências funcionais
As dependências funcionais são estudadas na matemática com a teoria das
duplas e esses conceitos são usados na normalização.

Data uma tabela R com suas colunas B. Diz que uma coluna B é dependente
funcional de outra A representado por A ->- B se para cada valor na célula A
(Va) aparece sempre o mesmo valor na coluna b (Vb). De outra forma sempre
que aparecer o valor na coluna A em linhas diferentes deverá aparecer o
mesmo valor correspondente na coluna B.
Na tabela exemplo pode-se escrever:
CPF ->- NOME. Diz-se que NOME é dependente funcional de CPF. Ou seja,
sempre que aparecer o CPF = 371628-23 aparecerá o nome Álvaro.
Uma coluna que não tem essa característica é dita não dependente funcional e
representa: ENDEREÇO CPF. Pois, não se pode garantir que quando
aparece um endereço será sempre do mesmo CPF.

Existem algumas propriedades matemáticas nas dependências funcionais:

1) reflexiva. (Toda coluna é dependente funcional dela mesma.)


(A1, ...... An ) A i , onde (i = 1,2,....n)
2)simétrica
Se A B não se pode garantir que B A. Portanto não
tem a propriedade da simetria.
3) transitiva
A B e B C pode-se concluir que A C
Portanto a DF tem a propriedade da transitividade.
Pode-se trabalhar com conjunto de colunas para se estabelecer a dependência
funcional.

Assim:
( CPF, NOME) ENDEREÇO
Endereço é dependente funcional do conjunto de colunas CPF +NOME

MODELAGEM DE DADOS 172


Generalizando ( A, B, C...) D

Assim estabelecem-se outros conceitos. O de dependência total e de


dependência parcial.

Diz que A é dependente total de (b,C) quando sua ocorrência acontece para a
combinação de colunas.

Dependência parcial é quando a coluna A já tem sua dependência definida para


uma das colunas que faz parte do conjunto da definição de dependência.

Para facilitar o entendimento dos conceitos acima vai se desenvolver o estudo


para o documento de pedido de orçamento abaixo que precisa ser
transformada em um conjunto de relações normalizadas.

O pedido deve ser representado na forma de um esquema relacional, que


consistente em representar a tabela indicando o nome das colunas entre
parênteses e sublinhando as colunas identificadoras. Assim tem-se:

MODELAGEM DE DADOS 173


Orçamento (n-orcamento, vendedor, data-orcamento, destinatário,
endereço,município,CGC, insc-est, local-entrega,unidade, quantidade,
descrição,preço-unitario, preço-total).

Esta relação está na primeira forma normal, pois com repetição de células
representa-se todas as informações possíveis no documento. Para melhor
identificar cada linha vai-se introduzir um novo campo que ajudará na
identificação do grupo repetitivo referente aos itens. Vai –se colocar o codigo-
item, ficando:

Orçamento (n-orcamento,codigo-item, vendedor, data-orcamento, destinatário,


endereço, município, CGC, insc-est, local-entrega, unidade, quantidade,
descrição ,preço-unitario, preço-total)

Observe que existem colunas que tem dependência funcional total da chave,
como por exemplo, descrição. E colunas que tem dependência de parte da
chave, por exemplo, vendedor.

Segunda Forma Normal


Assim inicia-se o trabalho para colocar na Segunda Forma Normal – 2FN –
Quando se decompõe uma relação da 1FN em novas relações em que todas as
colunas são dependentes funcionais totais da chave. A relação inicial foi
substituída por duas novas relações que contêm todas as informações.
Orçamento (n-orçamento, vendedor, data-orcamento, destinatário, endereço,
município, CGC, insc-est, local-entrega).

Item_pedido (n-orcamento, código-item, unidade, quantidade, descrição,


preço-unitário, preço-total).

Observe que foi criada uma relação em que as colunas-


- Chave foram colocadas como identificadores, e outra em que parte da chave é
o identificador.

MODELAGEM DE DADOS 174


Veja que a coluna de preço total na relação item_pedido deve ser retirada, pois
pode ser obtido diretamente de duas outras colunas – preço-unitário *
quantidade. Assim, as duas relações ficam:
Orçamento (n-orcamento, vendedor, data-orcamento, destinatário, endereço,
município, CGC, insc-est, local-entrega).
Item_pedido (n-orcamento, código-item , unidade, quantidade, descrição,
preço-unitário, preço-total).

Então, pode-se colocar que para se obter a 2FN a relação deve estar na 1 FN e
todas as colunas devem ser dependentes funcionais das chaves.

A segunda forma normal já resolve alguns problemas de inclusão, alteração e


deleção, mas ainda apresenta problemas no armazenamento de informações.
Por exemplo, se eu desejar incluir um novo vendedor, isto só poderá ser feito
se for incluída uma nova nota fiscal. O mesmo ocorre se for necessário tirar
um vendedor, isso ocorrerá com a perda de dados da nota fiscal. Então há
necessidade de se tratar essas anomalias. Obs.: uma relação em que a chave é
uma coluna já está automaticamente na 2FN.

Terceira Forma Normal


Na Terceira Forma Normal deve-se separar as colunas que já estão na 2 FN de
forma a retirar as dependências funcionais entre as colunas fora da chave. E
cria-se tantas relações quantas forem necessárias para isso. No exemplo tem-
se:
1 - Orçamento (n-orçamento, vendedor, data-orçamento, destinatário,
endereço, município, CGC, insc-est, local-entrega).
As informações de destinatário, endereço, município são dependentes
funcionais entre si.
Assim, escreve-se:
Orçamento (n-orcamento, vendedor, data-orçamento, CGC, insc-est, local-
entrega).
Destinatário (cod-destinatário, destinatário, endereço, município).

MODELAGEM DE DADOS 175


2 - Se for necessário dados sobre o vendedor, como telefone, endereço deve-se
criar uma nova relação para isso. Ter-se-ia as seguintes relações:
Orçamento (n-orçamento, data-orçamento, CGC, insc-est, local-entrega);
Destinatário (cod-destinatário, destinatário, endereço, município);
Vendedor (cod-vendedor, vendedor, telefone, endereço).

3 - A Terceira Forma Normal já não apresenta as anomalias citadas.


Então, a regra para a terceira forma normal é:
A relação precisa estar na 2 FN e não ter dependências transitivas entre as
colunas fora da chave.

Boyce-Codd
Suponha que se obteve a relação abaixo, quando se estabeleceu a 3FN em um
modelo: Nota_fiscal (código, número-nota, descrição, quantidade)
Existem 2 chaves compostas com sobreposição na coluna número-nota. Essa
relação está na 3FN, mas ainda apresenta anormalidade, pois vários matérias
podem, por exemplo, ter a mesma descrição, então temos as seguintes
dependências funcionais
Código descrição
Descrição código
Assim, há necessidade de se tratar essa mistura de informações e para isso
define-se a Forma Normal de BOYCE-CODD (FNBC).

A FNBC é mais restritiva que a 3FN e uma relação estará na FNBC se e


somente se cada dependência deve ser diretamente da chave. Examine-se as
relações:
Cidade (cidade, população)
Fornecedor (cod-fornecedor, fnome, cidade)
Considerando os candidatos a chave na relação Fornecedor tem-se: Cod
fornecedor, fnome.
Suponha também que os atributos cidade e população são mutuamente
independentes ou seja; cidade população

MODELAGEM DE DADOS 176


Vai-se representar esta situação na forma:

Cod_fornecedor cidade

Fnome
população

Neste gráfico verifica-se que cidade é dependente funcional de cod-fornecedor


e que população é dependente funcional de cidade,
Assim:
Fornecedor esta na FNBC pois todos os campos são dependentes funcionais do
candidatos a chave Cod-fornecedor.

Cidade está na terceira forma normal, mas não na FNBC, pois existem
dependentes funcionais de uma coluna que está na relação fornecedores.
Assim pode-se definir as dependências funcionais:

Cod_fornecedor cidade

Fnome
população

Então pode-se definir as relações na FNBC

Fornecedor (cod-fornecedor, fnome)


Cidade-forn ( cod-fornecedor, cidade)
Cidade-pop (cod-fornecedor, população)
Veja que a FNBC é mais restritiva que a 3FN.

MODELAGEM DE DADOS 177


Analise com duas chaves candidatas
Considere a relação: FFP (F#, P#, FNOME,QTDE)
Nesta relação as chaves candidatas são {F#,P#} e {P#,FNOME} esta relação
esta na FNBC? Veja que F# e FNOME que são parte de ambas os candidatos a
chave e são determinantes um para o outro. Desta forma haverá redundâncias
nas atualizações, deleções e entrada de dados, embora a relação esteja na
3FN.

Para evitar isto deve-se desmembrar a relação para evitar o conflito nas
relações:

Fornecedor ( F#, FNOME)


Fornecedorproduto ( F#, P#, QTDE).

Agora duas novas relações estão na terceira forma normal e todos os campos
são dependentes da chave, portanto estão na FNBC.
Normalmente a maioria das vezes ao se definir a 3FN já se está colocando a
FNBC, mas é preciso fazer a verificação se haverá problemas nas consultas e
demais operações.

Quarta Forma Normal


Considere a relação abaixo:
Livro (número, autores), título (assuntos, editora, ano)
Veja que autores e assuntos são apresentados com “(“e”)”. Isso é uma forma
de representar que são células que recebem repetições, tal qual a tabela inicial
deste trabalho, quando colocou-se telefones e irmão, podendo receber mais de
um valor. Portanto, a relação é não normalizada.

Tirando os campos repetidos tem-se:


Livro ( número, autor, assunto, título, editora, ano) onde número + autor +
título forma uma chave composta capaz de identificar uma linha na tabela. Essa
relação está na 1FN mas não está na 2FN, porque editora e ano dependem

MODELAGEM DE DADOS 178


funcionalmente de parte da chave, para colocá-la na 2FN decompõem-se nas
seguintes relações:
Livro1 (número, título, editora, ano)
Livro2 (número, autor, assunto)

As relações Livro1 e Livro2 estão na Terceira Forma Normal, pois não existem
dependências funcionais por transitividade.

Observe que a relação Livro2 também atende à FNBC, pois não existe nenhuma
coluna fora da chave, portanto, atende à regra de todo o atributo fora da chave
ser diretamente dependente dela.

Mas, se se observar esta relação, ver-se-á que existe uma série de


redundâncias, e problemas para a inclusão, consulta e deleção de dados. Para
ilustrar vejamos uma tabela.
LIVROS 2
numero autor assunto
1 AU1 ASS1
1 AU1 ASS2
2 AU1 ASS1
2 AU2 ASS1
3 AU3 ASS2
3 AU3 ASS1
3 AU1 ASS1
3 AU2 ASS3

Veja que deve ser possível representar todas as combinações entre autores,
assuntos e numero (codigo do livro). Para isto repete-se os autores e assuntos
de forma a preservar as informações. Assim, o livro 1, o autor AU1 aparec e
duas vezes.

MODELAGEM DE DADOS 179


E assim para todas as outras linhas da tabela. Estas informações devem ser
representadas com menos redundâncias.

Na tabela existem vários valores que são deduzidos a partir das repetições dos
autores ao mudar de assunto. Nota-se que somente devido ao fato de se ter
duas colunas com vários valores para cada livro é que aparece estas repetições.
Vai se definir a dependência multivalorada de B em relação A, denotado por A
B, esta forma foi definida por Fagin que introduziu a 4ª. FN.

Assim quando existir mais de três colunas deve-se decompor estas relações de
modo a obter duas novas relações projetando-se a relação nas colunas da
esquerda e da direita da dependência multivalorada. Assim por autor
assunto, deve ser decomposto nas relações:

Livro-autor ( numero,autor) e livro-assunto (numero, assunto), desta forma


não existem mais dependências multivaloradas entre as colunas. As novas
tabelas ficam: LIVRO-AUTOR

Numero autor
1 AU1
2 AU1
2 AU2
3 AU2
3 AU3
3 AU1

MODELAGEM DE DADOS 180


LIVRO-ASSSUNTO

numero assunto
1 ASS1
1 ASS2
2 ASS1
3 ASS2
3 ASS1
3 ASS3

Assim não aparecem mais as repetições entre as colunas assunto e autor.

Pode-se então definir que:


Para se obter a 4ª.FN a relação deve estar na FBNC e não conter nenhuma
dependência multivalorada entre as colunas.

Assim as relações:
Livro1 (numero, titulo, editora, ano)
Livro-autor (numero,autor)
Livro-assunto(numero,assunto)
Estão na quarta forma normal

Quinta Forma Normal


Para entender a Quinta Forma Normal vamos considerar o modelo conceitual
abaixo:

MODELAGEM DE DADOS 181


Figura representativa da quinta forma normal.

Suponha que os relacionamentos M-R-P seja apenas o seguinte:


M-R-P= {( m1, r1, p1), ( m2, r1, p2), (m2, r2, p1)} onde mi, ri e pi são
elementos dos conjuntos de materiais, requisições e pedidos, respectivamente.

Figura representativa da quinta forma normal.

As triplas mostradas produzem os seguintes pares na decomposição mostrada


na figura:
Itens de requisições= { (m1,r1), (m2,r1), (m2,r2)}
Itens de pedidos = { (m1,p1), (m2,p2), (m2,p1)}
R-P = {(r1,p1), (r1,p2), (r2,p1)}

MODELAGEM DE DADOS 182


Compondo os três relacionamentos, o resultado é o conjunto:
C = {( m1,r1,p1), (m2,r1,p1), (m2,r1,p2), (m2,r2,p1)}.

Não foi introduzida a tripla (m1, r1, p2), pois em itens de pedidos não existe o
par (m1, p2). E o resultado é diferente do relacionamento M-R-P original, pois
aparece a tripla (m2, r1, p1), que não existia. Assim, mostra-se que a
decomposição pode produzir uma perda (ou ganho) de informações.

Atenção
Se os dados de M-R-P puderem ser decompostos nos conjuntos
vistos, sem perdas de informação teremos que M-R-P não está
na 5ª FN. A relação M-R-P está na 5ª FN se não pudesse ser
decomposta. A vantagem de representar as três relações no
lugar da original deve-se ao fato de nesta aparecerem
redundâncias e nas relações decompostas isso não ocorre. Uma
relação para estar na 5ª FN deve estar na 4ª FN. Para maiores
informações sobre o tratamento da 5ª FN recomenda-se a leitura
do livro do Prof. Date, Introdução a sistemas de banco de
dados. Deve-se notar que é um caso bem articular, pois
normalmente a decomposição se dá com perda de informação. A
definição da 5ª FN aparece justamente essa característica que é
de decomposição sem perda (ou junção).

Atividade proposta
a) Considere o documento apresentado e faça considerações sobre a sua
implementação na 1ª FN.
b) Devem ser considerados o total de cada item e o total da nota?
c) Deve ser colocado o título da nota?
d) É possível fazer uma modelagem utilizando a notação pata de corvo?
e) Como se deve definir identificadores na decomposição da nota?

MODELAGEM DE DADOS 183


f) Há necessidade de se armazenar peso líquido e peso bruto?

Chave de resposta:
a) Nota_fiscal (código, quantidade, unidade, descrição, cod_preço-unitário,
frete, seguro, embalagem, ICM, vendedor, pedido, comissão, transportador,
endereço, peso-bruto, peso-líquido, nome-destinatário, endereço-destinatário,
CGC, fone, CEP, município, data-emissão).
b) Não deve entrar na modelagem. Justificativa: São dados derivados e podem
ser obtidos por outras colunas.
c) Não. Justificativa: Os dados da empresa são constantes e não devem ser
armazenados.
d) Sim. Na nota verifica-se grupos de dados correspondentes a várias
entidades. O ideal é fazer o modelo, pois se obtém no mínimo na Terceira
Forma Normal.
e) Deve ser definido pelo analista de forma a identificar o grupo de dados que
representa. Justificativa: O analista deve definir esses dados de forma a não
introduzir riscos ao modelo.
f) Sim, pois não se consegue deduzir esses dados de nenhuma outra
informação. Justificativa: Só não se armazena dados que possam ser derivados
de outros dados.

MODELAGEM DE DADOS 184


Referências
SETZER, Waldemar W. Banco de dados. Editora Edgar Blucher ltda.
DATE, C. J. Introdução a sistemas de banco de dados. Editora Campus.

Exercícios de fixação
Questão 1
A forma mais adequada de normalização para um modelo de dados é a:
a) 2 FN
b) 3 FN
c) 4 FN
d) 5 FN
e) 6 FN

MODELAGEM DE DADOS 185


Questão 2
Considere a tabela abaixo:
ABCD
a1 b1 c1 d1
a1 b1 c1 d2
a2 b2 c1 d1
a2 b2 c1 d2
A alternativa que apresenta uma dependência funcional que a relação R acima
NÃO satisfaz é:
a) A→B
b) B→A
c) A→C
d) C→A
e) B→C

Questão 3
Considere a seguinte relação:
Funcionário (MatrículaFunc, NomeFunc, CódigoCargo, DescriçãoCargo)
Essa relação é derivada em duas outras:
Funcionário (MatrículaFunc, NomeFunc, CódigoCargo) e Cargo (CódigoCargo,
DescriçãoCargo)
É correto afirmar que:
a) A relação Funcionário foi normalizada até a 2FN.
b) Para estar na 2FN, a relação Cargo deveria conter também as MatrículaFunc de
todos os funcionários.
c) A relação Funcionário foi normalizada até a 3FN.
d) Para estar na 3FN, a relação Cargo deveria conter também a MatrículaFunc.
e) Não foi aplicada nenhuma regra FN à relação Funcionário derivada.

MODELAGEM DE DADOS 186


Questão 4
No processo de normalização, a eliminação de dependência parcial da chave, a
estrutura com maior redundância e a eliminação de dependência transitiva
representam, respectivamente, as formas normais:
a) 3FN, 2FN e 1FN
b) 3FN, 1FN e 2FN
c) 1FN, 2FN e 3FN
d) 2FN, 1FN e 3FN
e) 2FN, 3FN e 1FN

Questão 5
A forma normal que se aplica a relações que tenham chaves candidatas
múltiplas em que estas chaves candidatas sejam compostas, tendo um atributo
em comum, garantindo que todo determinante seja chave candidata, é:
a) 1FN
b) 2FN
c) BCNF ou Boyce/Codd
d) 0FN
e) 3FN

Questão 6
A seguinte especificação: se e somente se todas as colunas de uma tabela
relacional tiverem apenas valores atômicos (cada coluna só pode ter um valor
para cada linha na tabela) define a:
a) 1FN
b) 2FN
c) 3FN
d) 4FN
e) FN Boyce-Codd

MODELAGEM DE DADOS 187


Questão 7
Cada tabela que está na FN Boyce-Codd também está na:
a) 5FN e 4FN, porém não na 3FN, 2FN e 1FN
b) 4FN e 3FN, porém não na 2FN e 1FN
c) 3FN, 2FN e 1FN
d) 2FN e 1FN, porém não na 3FN
e) 1FN, porém não na 3FN e 2FN

Questão 8
Formar novas relações, separando-as a partir de grupos de repetição antes
existentes dentro de uma relação, é objetivo da:
a) 1FN
b) 2FN
c) 3FN
d) FNBC
e) 5FN

Questão 9
Uma relação que contém grupos de repetição, mas NÃO contém dependências
funcionais transitivas:
a) Está na 1FN
b) Não está normalizada
c) Está na 2FN
d) Está na 3FN
e) Está na FNBC

MODELAGEM DE DADOS 188


Questão 10
Quando uma tabela relacional não contém grupos de repetição e sua chave
primária não é composta ou todos os atributos não chave são funcionalmente
dependentes de toda a chave, é correto afirmar que ela está:
a) Desnormalizada
b) No máximo, na 1FN
c) No máximo, na 2FN
d) No máximo, na 3FN
e) No máximo, na 4FN

Aula 6
Exercícios de fixação
Questão 1 - B
Questão 2 - C
Questão 3 - C
Questão 4 - D
Questão 5 - C
Questão 6 - A
Questão 7 - C
Questão 8 - A
Questão 9 - B
Questão 10 - C

MODELAGEM DE DADOS 189


Introdução
Após definir os conjuntos eles precisam ser manipulados. Os conjuntos têm os
seus elementos representados em uma tabela. Uma tabela representa sempre
uma parte dos elementos que podem ser representados ou o total do conjunto.
Então podemos dizer que uma tabela representa sempre um subconjunto dos
elementos que podem ser representados. E, quando temos um subconjunto de
um Universo na matemática chamamos este subconjunto de uma relação, que
é a base da teoria relacional.

Uma importante ferramenta matemática para tratar relações é a álgebra


relacional. Nesta aula apresentar-se-ão os conceitos matemáticos que
fundamentam as linguagens de manipulação de conjuntos.

Objetivo:
1. Mostrar como transformar o modelo conceitual em tabelas para
representação dos elementos do conjunto;
2. Apresentar uma forma matemática de tratar esses conjuntos.

MODELAGEM DE DADOS 190


Conteúdo

Modelo relacional
Proposto originalmente por E. F. Codd durante seu trabalho no Laboratório de
Pesquisas da IBM em San José na segunda metade da década de 1960, o
Modelo Relacional se baseia em conceitos matemáticos para proporcionar uma
representação confiável de dados na forma de tabelas.

Define-se uma visão matemática fundamentada em teoria dos conjuntos. Desta


forma, os dados têm total independência das estruturas de navegação. Assim, a
responsabilidade da visão lógica dos conjuntos deve ser proporcionada pelo
software.

Baseado nesses conceitos foi desenvolvido um SGBDR (Sistema de


Gerenciamento de Bancos de Dados Relacionais) da IBM denominado System
R, várias melhorias têm sido incluídas ao modelo, o que o torna ainda mais
prático.

Definições básicas
Após entender o estudo, vamos acompanhar agora algumas definições básicas
do processo:

Informalmente pode-se dizer que é um modelo que considera tabelas. As


tabelas são formas de mostrar subconjuntos de elementos.
Vamos considerar um esquema onde se relacionam os conjuntos de dados que
queremos considerar:

R é o nome da relação, e CN é chamado de coluna.


Esse esquema é chamado de esquema relacional:
Funcionário (Número, nome, RG, CPF, Endereço)

MODELAGEM DE DADOS 191


Cada um destes conjuntos tem um range de valores. Este range é um conjunto
chamado de domínio da Coluna.

Assim, ao fazermos o produto cartesiano dos conjuntos:

Formamos conjuntos de tuplas...

Uma forma de representar estas tuplas é na forma de tabelas, assim, uma


tabela com partes destes dados é um subconjunto do Universo.

Um subconjunto do universo se chama Relação. As tabelas são relações, pois


mostram subconjuntos de todas as combinações possíveis.
As linhas da tabela se chamam tuplas, a demonstração foi feita de forma
generalizada com t colunas, por isso uma linha na tabela é chamada de “tupla”.

Definições importantes
Agora que você já conhece as definições básicas, vamos aprofundar seu
conhecimento:

Relação
Também chamadas tabelas, contêm informações sobre entidades ou
relacionamentos existentes no domínio da aplicação utilizada como alvo para a
modelagem. Informalmente uma relação pode ser considerada como uma
tabela de valores, onde cada linha desta tabela representa uma coleção de
valores de dados inter-relacionados.

MODELAGEM DE DADOS 192


Atributo
Nome dado no Modelo Relacional a cada coluna da relação.

Tupla
Nome dado no Modelo Relacional a cada linha da relação.

Domínio
Consiste de um grupo de valores atômicos a partir dos quais um ou mais
atributos (ou colunas) retiram seus valores reais.

Prioridades de uma relação pura


Uma relação pura tem as seguintes propriedades:
I - Cada célula da relação tem no máximo um único valor.
II - A ordem das tuplas é irrelevante.
III - Não há duas tuplas iguais.
IV - Cada coluna tem um nome.
V - Duas colunas distintas devem ter nomes diferentes.
VI - Cada relação recebe um nome próprio.
VII - Todos os valores de uma coluna são retirados de um conjunto chamado
Domínio.
VIII - Colunas distintas podem ter o mesmo domínio.

A seguir fique atento às restrições e chaves desse processo.

Atenção
Para fins de implementação deve-se definir uma ou mais colunas
como índices de acesso. Chama-se de Chave primária a coluna
usada como identificador de uma tupla. Deve aparecer
sublinhada no esquema relacional. Todo atributo que atenda à
regra abaixo:
a) O preenchimento é obrigatório;

MODELAGEM DE DADOS 193


b) Não existem dois valores iguais na coluna.

Restrição e chaves
Restrição de Entidade: o valor de uma chave primária nunca deve ser nulo.
O valor nulo não permite a identificação de uma tupla.

Podem-se ter colunas para fazer ligação com outras relações. Essas colunas são
chamadas de chaves estrangeiras.

Chave Estrangeira: é uma coluna ou uma combinação de colunas, cujos


valores aparecem necessariamente na chave primária de uma tabela. A chave
estrangeira é o mecanismo que permite a implementação de relacionamentos
em um banco de dados relacional.

Uma chave estrangeira só deve ter valores constantes da tabela origem. Isso é
chamado de regra de Integridade.

Os relacionamentos são mantidos por colocação de chaves estrangeiras. Para


tentar garantir a integridade têm-se as regras de restrições de integridade. Uma
restrição de integridade é uma regra de consistência de dados que deve ser
mantida no modelo. No caso da abordagem relacional, costuma-se classificar as
restrições de integridade nas seguintes categorias:

Restrição de Domínio: os valores de atributos devem ser coerentes com os


domínios correspondentes. Cada atributo de uma relação é definido com base
em um domínio de valores (exemplos: idade, seu domínio são os números
inteiros positivos; salários, seu domínio são os números reais positivos).

Restrição de Chave Primária (unicidade): cada valor de chave primária


deve ser único dentro de seu escopo (a relação a que pertence).

MODELAGEM DE DADOS 194


Restrição de Referência: toda referência a uma tupla através de chave
estrangeira deve ser verificada, ou seja, toda tupla referenciada deve
previamente existir no Banco de Dados a menos que essa restrição seja
explicitamente desprezada pelo usuário do Banco de Dados.

Para o modelo lógico relacional deve-se escrever o conjunto de esquemas


relacionais necessários para se implementar o banco de dados. Temos dois
passos:
Primeiro:
Um conjunto é uma relação e devem-se representar todos os atributos do
modelo conceitual por colunas.

Modelo conceitual

Modelo lógico (relacional) correspondente deve representar todos os atributos:

ALUNO (cod-aluno, nome, CPF


CURSO(cod-curso, nome, carga-hor.

Os esquemas relacionais estão abertos, pois não resolvemos as ligações.


Segunda parte: devem-se representar as ligações do modelo:

Para trabalhar as ligações temos três regras:


1
Regra 1: todo conjunto apontado por um ou ou
Recebe a chave do apontado.

MODELAGEM DE DADOS 195


ALUNO (cod-aluno, nome, CPF, cod-curso)
CURSO(cod-curso, nome, carga-hor.)

Isto já permite a ligação entre as duas relações.

Regra numero 2:
Toda partição de conjunto ou sub conjuntos deve ter um campo de indicação.

Exemplo

Modelo lógico:
Primeira parte:

ALUNO ( cod-aluno, nome, CPF, endereço


APROVADO (cod-aluno, nota, data-aprovacao
PRIMEIRO GRAU (cod-aluno
SEGUNDO-GRAU(cod-aluno
NIVEL-SUPERIOR (cod-aluno

MODELAGEM DE DADOS 196


Segunda parte: (usando a regra 2)
ALUNO ( cod-aluno, nome, CPF, endereço, ind-aprovado, indc-flag-tipo)
APROVADO (cod-aluno, nota, data-aprovacao)
PRIMEIRO GRAU (cod-aluno)
SEGUNDO-GRAU(cod-aluno)
NIVEL-SUPERIOR (cod-aluno)

As relações PRIMEIRO GRAU, SEGUNDO-GRAU, NIVEL-SUPERIOR são


eliminadas pois não acrescentam nenhuma informação nova.

Regra três: Só usada em relacionamentos n:m.


Este tipo de relacionamento deve ser evitado. O modelo conceitual de dados
deve ser determinista, pois isto este tipo (m:n) normalmente indica análise de
baixa qualidade.

Regra: Os conjuntos relacionados da forma m:n deve implementar um novo


esquema relaional contendo as chaves dos dois conjuntos.

ESQUEMAS RELACIONAIS:
ALUNO (cod-aluno, nome, CPF)
CURSO(cod-curso, nome, carga-hor.)
ALUNO/CURSO (cod-aluno, cod-curso)

MODELAGEM DE DADOS 197


A criação do modelo lógico relacional é criado aplicando-se as três regras ao
modelo conceitual.

Álgebra relacional
Vamos entender agora o conceito de álgebra e como ela se encaixa nos
conjuntos que estamos estudando

Uma álgebra é uma estrutura matemática na forma de tripla com os seguintes


elementos:
( {conjunto de elementos} ,{conjunto de operações}, {propriedades das
operações} )

Só para exemplificar: a álgebra dos naturais


({conjunto dos naturais}, { +,-,*,/}, {associativa, distributiva, neutro,...})
Estruturas de dados são álgebras....
Pode-se definir a álgebra relacional segundo a tripla:
({conjunto de todas as relações}, {operadores com as relações}, {propriedades
das operações}).

Vamos definir as operações e propriedades dessas operações.

A álgebra relacional é uma coleção de operações canônicas que são


utilizadas para manipular as relações. Essas operações são utilizadas para
selecionar tuplas de relações individuais e para combinar tuplas relacionadas de
relações diferentes para especificar uma consulta em um determinado banco de
dados. O resultado de cada operação é uma nova operação, a qual também
pode ser manipulada pela álgebra relacional.

Os operadores da álgebra relacional podem ser divididos em dois grupos:

Operadores de Conjuntos: são operadores típicos definidos pela álgebra


para conjunto, tais como união, interseção, diferença e produto cartesiano.

MODELAGEM DE DADOS 198


Operadores de relações: são operadores especiais definidos especialmente
para a manipulação de tuplas, tais como Select, Project e Join.

Operação e seleção e projeção


SELEÇÃO
Operação aplicada sobre uma relação de modo a selecionar um subconjunto de
tuplas (com todos os seus atributos) que satisfaçam a uma determinada
condição (simples ou composta). O subconjunto selecionado forma uma relação
resultante temporária. Essa condição aplica-se apenas em uma única relação,
sendo verificada individualmente para cada tupla da relação.

Exemplo: Dado uma relação dos funcionários da empresa, selecionar aqueles


que recebem salário > R$ 1.000,00. Veja como a operação SELECT é
denotada.

A operação SELECT é denotada por:


 condição de seleção> ( <nome da relação> )
A letra grega  é utilizada para representar a operação de seleção; <condição
de seleção> é uma expressão booleana aplicada sobre os atributos da relação e
<nome da relação> é o nome da relação sobre a qual será aplicada a operação
select.

A relação resultante da operação SELECT tem os mesmos atributos da relação


especificada em <nome da relação>.

A expressão Booleana especificada em <condição de seleção> é construída a


partir de cláusulas da forma:
<nome de atributo> <operador de comparação> <valor constante>, ou
<nome de atributo> <operador de comparação> <nome de atributo>
Onde <nome de atributo> é o nome de um atributo da <nome da relação>,
<operador de comparação> é normalmente um dos operadores relacionais {=,

MODELAGEM DE DADOS 199


<, =, =, ?} e <valor constante> é um valor constante. As cláusulas podem ser
utilizadas em conjunto com os operadores lógicos {AND, OR NOT}, seguindo a
Lógica Booleana, para formar uma condição de seleção composta.
Exemplo, suponha que se deseja selecionar as tuplas de todos os empregados
que ou trabalham no departamento 4 e faz mais de 2500 ou trabalha no
departamento 5 e faz mais que 3000.

Neste caso, pode-se especificar a consulta da seguinte forma:


 (NDEP = 4 AND SALÁRIO > 2500) OR (NDEP = 5 AND SALÁRIO > 3000)
(EMPREGADO)
O operador SELECT é comutativo; isto é:
 <cond1> ( <cond2> (R))=  <cond2> ( <cond1> (R))
Assim, uma seqüência de SELECTs pode ser aplicado em qualquer ordem. Além
disso,
pode-se sempre trocar operadores SELECT em cascata com a conjuntiva AND;
isto é:
 <cond1> ( <cond2> (... <condição> (R) ...))=  <cond1> AND <cond2>
AND ... AND <condn>(R)
A letra grega ∏ representa a operação project, <lista de atributos> representa
a lista de atributos que o usuário deseja selecionar e <nome da relação>
representa a relação sobre a qual a operação project será aplicada.

Sequencialidade de operações
As operações project e select</i > podem ser utilizadas de forma combinada,
permitindo que apenas determinadas colunas de determinadas tuplas possam
ser selecionadas. A forma geral de uma operação sequencializada é:

MODELAGEM DE DADOS 200


Operações de Conjunto
Operações que se aplicam a duas relações. Em termos das relações (A e B)
usadas nas operações:
• Ambas podem estar fisicamente armazenadas no mesmo Banco de Dados;
• Ou estarem fisicamente armazenadas em diferentes Bancos de Dados;
• Ou uma estar armazenada e a outra ser originária (relação resultante) de uma
operação de conjunto anteriormente executada;
• Ou ambas serem resultantes de operações de conjunto realizadas
anteriormente.
A seguir, acompanhe as definições dos símbolos utilizados nessas operações.

A seguir acompanhe as definições dos símbolos utilizados nessas operações

Entendendo os símbolos
UNIÃO (U)
O resultado da união de duas relações consiste no conjunto de todas as
tuplas das duas relações, porém sem redundância de tuplas. Importante
salientar que duas tuplas são semelhantes quantos todos os valores de
atributos forem iguais em seus respectivos atributos. Exemplo: União de uma
relação dos funcionários da matriz de São Paulo com a relação dos funcionários
da filial de Campinas.

INTERSEÇÃO (⋂)
O resultado da interseção de duas relações consiste no conjunto de todas as
tuplas que pertençam às duas relações. Exemplo: Interseção da relação dos
funcionários com idade maior que 35 anos com a relação dos funcionários com
salário acima de 1500,00 reais. O resultado será uma relação com os
funcionários com idade maior que 35 anos e que recebem acima de 1500,00
reais

MODELAGEM DE DADOS 201


DIFERENÇA (-)
A diferença entre duas relações é relação resultante formada pelas tuplas que
pertencem a uma relação e que não pertence à outra. Diferença entre as
relações A e B (A - B) é o conjunto de tuplas que aparecem na relação A e não
aparece na relação B. Diferença entre as relações B e A (B - A) é o conjunto de
tuplas que aparecem na relação B e não aparecem na relação A. Exemplo:
Diferença da relação dos funcionários com idade maior que 35 anos com a
relação dos funcionários com salário acima de 1500,00 reais. O resultado será
uma relação com os funcionários com idade maior que 35 anos e que não
recebem acima de 1500,00 reais.

PRODUTO CARTESIANO (X)


Aplica-se a duas relações que não necessitam ser "compatíveis para união",
resultando em uma relação que apresenta tuplas formadas pela combinação de
todas as tuplas de uma relação com todas as tuplas da outra relação (R(A1, A2,
..., An) X S(B1, B2, ..., Bm) = Relação Produto(A1, A2, ..., An, B1, B2, ...,Bm).
Exemplo: Produto Cartesiano de uma relação de todos os alunos do terceiro
ano de seu curso com uma relação com todas as disciplinas do terceiro ano de
seu curso. O resultado será uma relação de todos os alunos do terceiro ano e
suas disciplinas.

DIVISÃO ( / )
V A operação DIVISÃO, indicada por /, é útil para um tipo especial de consulta
que, às vezes, ocorre em aplicações de banco de dados. Um exemplo é
"Recuperar os eleitores que participaram de todas as eleições. Inicialmente
devesse produzir a relação dos eleitores e das eleições que participaram. A
seguir dividir esta relação pela lista de todas as eleições, o resultado será uma
lista dos eleitores que participaram de todas as eleições.

JUNÇÃO é a operação utilizada para combinar tuplas relacionadas (via chave


primária/chave estrangeira) de duas ou mais relações de modo a estabelecer
virtualmente uma única tupla. Esta combinação é realizada de acordo com uma

MODELAGEM DE DADOS 202


condição indicada. Exemplo: Junção da relação de peças fornecidas com a
relação de fornecedores (em comum as duas relações possuem o código do
fornecedor). A relação resultante terá tuplas contendo o código do fornecedor,
demais atributos do fornecedor e os atributos de peça, estando juntas apenas
as peças e seus respectivos fornecedores. Tuplas cujos valores dos atributos
join são null não aparecem no resultado.

A operação Junção denotada pelo operador X (“join”) onde a condição for uma
expressão explícita de comparação qualquer (=, <, <=, >, >=, <>) é
denominada de Join ( condição), exemplo: fornecedor.código <> peça.código.
Quando o operador de comparação for o de igualdade, teremos o Equi Join
(=condição) (exemplo: fornecedor.código = peça.código) Como resultado de
um Equi Join teremos tuplas apresentando pares de atributos com valores
idênticos. O Natural Join (* condição) consiste em uma operação na qual do
cruzamento de uma chave primaria e uma chave estrangeira, apenas a chave
primária aparece na relação resultante. Quando os atributos sobre os quais se
aplicam o Natural Join apresentarem o mesmo nome em ambas as relações, a
condição do Join pode ser totalmente omitida.

A forma geral da operação junção entre duas tabelas R e S é a seguinte:


R X<condição de junção> S.

O resultado da Junção é uma relação Q com n+m atributos Q(A1, A2, ..., An,
B1, B2, ..., Bm) nesta ordem; Q tem um tupla para cada combinação de tuplas
uma de R e uma de S onde quer que a combinação satisfaça a condição join.
Esta é a principal diferença entre Produto Cartesiano e Junção, na junção
apenas combinações de tuplas que satisfazem a condição de junção que
aparecerá no resultado, já no produto cartesiano todas as combinações de
tuplas são incluídas no resultado. cada combinação de tuplas.

Outras formas explícitas de variações da operação de “join” são:

MODELAGEM DE DADOS 203


 LEFT OUTER JOIN: Exemplo - A LEFT OUTER JOIN B permite a junção
da relação A com a relação B, sendo colocadas nas relação resultante todas as
tuplas da relação A mesmo que não tenham correspondentes na relação B.
 RIGHT OUTER JOIN: Exemplo - A RIGHT OUTER JOIN B permite a
junção da relação A com a relação B, sendo colocadas nas relação resultante
todas as tuplas da relação B mesmo que não tenham correspondentes na
relação A.
 FULL OUTER JOIN: Exemplo - A FULL OUTER JOIN B permite a junção
da relação A com a relação B, sendo colocadas nas relação resultante todas as
tuplas da relação A e da relação B mesmo que não tenham correspondentes.

Atividade proposta
Considere o modelo com os seguintes esquemas Relacionais:
ALUNO (MatAluno, Nome, Endereço, Cidade, RefCodCurso)
DISCIPLINA (CodDisc, NomeDisc, qtdCredito, RefCodDepto)
CURSO (CodCurso, NomeCurso, Duração, RefCodDepto)
DEPARTAMENTO (CodDepto, NomeDepto)
INSCRIÇÃO (RefCodDisc, RefMatAluno)

a) Reproduza no formato pata de corvo o modelo conceitual que originou este


modelo.
b) Obtenha uma relação com a matrícula do aluno e o nome do aluno.
c) Obtenha uma relação com os nomes e endereço dos alunos que são do Rio
de Janeiro e São Paulo.
d) Obtenha uma relação que mostre o nome de todos os alunos que estão
matriculados na disciplina cujo nome é “Modelagem”.
e) É possível listar as matrículas e os nomes de todos os alunos que estejam
matriculados na disciplina cujo código é INF1085, mas que não estejam
matriculados na disciplina cujo código é INF1005?
f) É possível se fazer a União entre as relações DISCIPLINA(CodDisc, NomeDisc,
qtdCredito, RefCodDepto) e CURSO(CodCurso, NomeCurso, Duracao,
RefCodDepto)?

MODELAGEM DE DADOS 204


Chave de resposta:
Questão 1:

ALUNO INSCRIÇÃO DISCIPLINA

CURSO DEPARTAMENTO

Questão 2:
Gabarito:
Para isto projeta-se as colunas que interessam na pesquisa, Assim a tem-se:
Resp1 = ∏(MatAluno, nome) (Aluno)

Justificativa:
A projeção serve para selecionar colunas em uma relação

Questão 3:
Gabarito: Resp1 = ∏(MatAluno, nome, endereço) (Cidade= “Rio de Janeiro”
or Cidade = “São Paulo’ (Aluno))
Justificativa: Se projeta as colunas MatAluno, nome, endereço mas apenas as
colunas que atendam a seleção. A cidade deve conter ‘Rio de Janeiro’ ou ‘ São
Paulo’. Um erro comum é usar o E neste caso ninguém será selecionado, pois
cidade não pode conter simultaneamente dois valores.

Questão 4:
Gabarito: Esta pesquisa envolve três relações:
ALUNO(MatAluno, Nome, Endereco, Cidade, RefCodCurso)

MODELAGEM DE DADOS 205


DISCIPLINA(CodDisc, NomeDisc, qtdCredito, RefCodDepto)
INSCRICAO(RefCodDisc, RefMatAluno)
Assim para simplificar deve-se fazer a solução em etapas:
i) vai se buscar em alunos as informações necessárias para contuar a
consulta. Precisa-se de MatAluno e nome. MatAluno será usada na relação
INCRIÇÃO:
Resp1 = ∏ (MatAluno, nome) (Aluno)
ii) buscar o codigo da disciplina informática que está na relação disciplina
Resp2 = ∏ (CodDisc) (NomeDis =’modelagem’ (Disciplina))
iii) buscar as matriculas de alunos que tem o CodDisp que estão armazenadas
em Resp2 e isto deve ser feito com o produto cartesiano, projetando-se apenas
MatAluno, assim sabe-se que matriculas estão ligadas ao código de
Modelagem::
Resp3 = = ∏ (MatAluno) Resp2 X<(resp2:codDisp = inscrição:codDisp >
INSCRIÇÂO
iv) Com Resp3 que tem as MatAlunos que cursam Modelagem deve-se fazer o
prduto cartesiano para finalmente listar os nomes dos alunos:
Resp-final = ∏ (Nome) Resp3 X<(resp3:MatAluno = iResp1:MatAluno >
Resp1
Justificativa:
Deve-se buscar os dados nas tabelas através de suas chaves

Questão 5:
Gabarito: Sim, navegando através das tabelas
Justificativa: a relação INSCRICAO(RefCodDisc, RefMatAluno) permite
se relacionar aluno diretamente com o código da disciplina

Questão 6:
Gabarito: Sim se os campos forem definidos com as mesmas características
Justificativa: A união não verifica conteúdos, na implementação, assim a única
forma de controle é verificar a quantidade de atributos e se os tipos estão

MODELAGEM DE DADOS 206


definidos da mesma forma, e coincidentemente isto esta acontecendo entre as
duas relações.

Referências
SETZER, W. Valdemar. Banco de dados. Editora Blucher Ltda.
NAVATHE S. B. et. al. Sistemas de banco de dados. 4. ed. Editora Pearson.

Exercícios de fixação

Questão 1
Considere o modelo abaixo:

Cod-aluno Cod-curso
Nome Nome
cpf Carga-hor.

aluno curso

Para definir uma tabela que possa representar o relacionamento deve-se:


a) deve-se criar as relações aluno(cod-aluno, nome, CPF, cod-curso) e
curso(cod-curso, nome, carga-hor)
b) deve-se criar as relações aluno(cod-aluno, nome, CPF, cod-curso) e
curso(cod-curso, nome, carga-hor,cod-aluno)
c) deve-se criar as relaçoes aluno(cod-aluno, nome, CPF) e curso(cod-curso,
nome, carga-hor,cod-aluno)
d) deve-se criar as relações aluno(cod-aluno, nome, CPF, cod-curso) ,
curso(cod-curso, nome, carga-hor) e cursa( cod-aluno, cod-curso)
e) deve-se criar as relações aluno(cod-aluno, nome, CPF, cod-curso) ,
curso(cod-curso, nome, carga-hor,cod-aluno) e cursa( cod-aluno, cod-curso)

MODELAGEM DE DADOS 207


Questão 2
A conclusão de um projeto lógico de banco de dados relacional se dará na
etapa de
(A) projetar formatos das relações.
(B) desenhar o diagrama E-R.
(C) traduzir o diagrama E-R no diagrama de estrutura de dados.
(D) identificar tipos de valor e atributos.
(E) identificar tipos de entidades e de relacionamentos.

Questão 3
Na modelagem de um banco de dados, um relacionamento pode tornar-se
uma tabela, carregando os identificadores das entidades relacionadas e os
atributos, se houver,

(A) para relacionamentos 1:N, envolvendo auto-relacionamento.


(B) para relacionamentos M:N, envolvendo tanto entidades distintas quanto
auto-relacionamento.
(C) somente para relacionamentos M:N, envolvendo entidades distintas.
(D) somente para relacionamentos M:N, envolvendo auto-relacionamento.
(E) para relacionamentos 1:N, envolvendo entidades distintas.

Questão 4
Em um projeto do Tribunal foi solicitada a elaboração de um modelo de dados
relacional normalizado que representasse o relacionamento “Dependente
depende de Funcionário”. Sabendo que Funcionário pode ter zero ou muitos
dependentes, que os dependentes, quando existentes, são numerados
sequencialmente a partir da unidade e que os números se repetem para cada
Funcionário, é correto afirmar que
(A) a composição da chave primária do Dependente deve considerar a chave
identificadora do Funcionário que a ele corresponde.
(B) a chave primária do Dependente se faz chave estrangeira em Funcionário.

MODELAGEM DE DADOS 208


(C) Funcionário deve ter um atributo multivalorado contendo as chaves
estrangeiras dos seus Dependentes.
(D) a composição da chave primária do Funcionário deve considerar as chaves
identificadoras dos Dependentes que a ele correspondem.
(E) Dependente deve implementar um auto relacionamento indicando qual
Dependente é diferente dele.

Questão 5
Uma coluna que faz referência à chave primária de outra tabela relacional
denomina-se chave
(A) transitiva.
(B) secundária.
(C)) estrangeira.
(D) dependente.
(E) referencial.

Questão 6
Os operadores relacionais classificados, respectivamente, nos grupos de
operadores unários e binários são:
a) Produto cartesiano e união
b) Produto cartesiano e projeção
c) Projeção e renomear
d) Seleção e união
e) Seleção e renomear

Questão 7
As operações primitivas da Álgebra Relacional são seleção, projeção, união,
diferença e produto cartesiano. A operação de junção pode ser derivada pela
combinação das seguintes operações primitivas (apenas uma opção):
a) União e produto cartesiano
b) Produto cartesiano e seleção
c) Produto cartesiano e diferença

MODELAGEM DE DADOS 209


d) Projeção, diferença e produto cartesiano
e) Diferença e produto cartesiano

Questão 8
A operação relacional geralmente representada pela letra grega 𝜋(pi) é:
a) Unária, do tipo adicional e significa seleção com a função de filtro de colunas.
b) Unária, do tipo primitiva e significa seleção com a função de filtro de linhas.
c) Unária, do tipo primitiva e significa projeção com a função de filtro de colunas.
d) Binária, do tipo primitiva e significa seleção com a função de filtro de colunas.
e) Binária, do tipo adicional e significa projeção com a função de filtro de linhas.

Questão 9
São somente operações fundamentais unárias da álgebra utilizadas nos
modelos de bancos de dados relacionais:
a) Seleção e união
b) União e diferença
c) Seleção e projeção
d) Projeção e produto cartesiano
e) Produto cartesiano e diferença

Questão 10
Na álgebra relacional, são operadores derivados binários:
a) União, renomeação e seleção
b) Intersecção, junção e divisão
c) Atribuição, seleção e junção
d) Produto cartesiano, projeção e diferença
e) Produto cartesiano, renomeação e união

MODELAGEM DE DADOS 210


Aula 7
Exercícios de fixação
Questão 1 - A
Justificativa: O fato de se colocar uma chave estrangeira na relação aluno já
permite todas as navegações entre as duas tabelas.

Questão 2 - A
Justificativa: São as definições que serão informadas para o SGBD relacional.

Questão 3 - B
Justificativa: Nos relacionamentos N:M o relacionamento é resolvido criando-se
uma relação só para isso. Regra três.

Questão 4 - A
Justificativa: É uma característica do objeto dependente, ele tem a chave da
identificação composta com a chave do objeto do qual é dependente.

Questão 5 - C
Justificativa: A chave estrangeira permite se referenciar uma tabela às linhas de
outra tabela.

Questão 6 - D
Justificativa: O produto cartesiano é uma operação que envolve mais de um
operador, bem como a união. A projeção e a seleção são operações unárias.

Questão 7 - B
Justificativa: A junção pode ser obtida das tuplas obtidas no produto cartesiano
que atendam a uma determinada condição.

MODELAGEM DE DADOS 211


Questão 8 - C
Justificativa: O Pi representa a projeção, que é unária e primitiva para o modelo
relacional.

Questão 9 - C
Justificativa: São as operações unárias da álgebra relacional.

Questão 10 - B
Justificativa: São as operações com dois conjuntos definidas na álgebra
relacional.

MODELAGEM DE DADOS 212


Introdução
A modelagem conceitual é uma ferramenta importante para se identificar os
vários dados utilizados na empresa. Hoje, existe a consciência que os dados
empresariais são recurso, de que os dados empresariais são recursos e, por
isso, devem ser administrados. Para administrar os dados deve-se considerar o
fluxo de vida de um recurso. Nesta aula vai-se aprender como tratar os dados
como recursos. Em aulas anteriores falou-se de criar um meta dicionário de
dados. Nesta aula vai se completar este trabalho. Também vai se apresentar
outras formas de modelagem para o tratamento de apoio à decisão.

Objetivo:
1. Apresentar os conceitos para se fazer administração de dados.

MODELAGEM DE DADOS 213


Conteúdo

Administração de dados
Hoje, já não há necessidade de convencer ninguém que os dados de uma
empresa são recursos importantes. Mas, apesar disso, muitas das empresas
ainda os tratam sem o devido cuidado. O processo de modelagem conceitual
mapeia as entidades necessárias para a empresa e seus respectivos dados.

Esse trabalho, normalmente, é conduzido por um analista profissional que é


responsável por definir os tratamentos que serão dados aos dados da empresa.
Esse profissional é conhecido como Administrador de dados. Assim, cabe ao
administrador de dados definir o tempo de vida do dado, que dados devem ser
armazenados, onde devem ser armazenados e os cuidados de segurança que
devem ser tomados. O instrumento principal de trabalho do administrador de
dados é o dicionário de dados. No dicionário de dados são colocadas todas as
informações sobre os dados que são usados na empresa, tanto nos
procedimentos operacionais como nos necessários à tomada de decisões.

Atenção
Essas informações são chamadas de METADADOS.
METADADOS são informações sobre os dados da empresa.

Os dicionários de dados podem ser feitos de forma manual ou automatizada.


Existem softwares para essa função, chamados de software de dicionário de
dados. Muitos bancos de dados já constroem de alguma forma o dicionário de
dados dos dados que contém. Para entender melhor o trabalho de
administração de dados analisa-se alguns conceitos que sedimentam esse
conhecimento.

MODELAGEM DE DADOS 214


Para começar, entenda: o que é um dado? Já que vai ser administrado
precisamos conhecer melhor o que se denomina dados. Considere os
conjuntos:

A = {- conjunto de meios onde se pode representar um signo, tais como,


papel, fita, ar, cérebro, etc.}; B = {- conjunto de signos, como por exemplo,
desenhos, bits, números, letras, etc.}; C = {- conjunto de significados, tais
como, idade de Pedro, altura de Maria, etc.}.

Considere os elementos quaisquer a, b e c pertencentes respectivamente aos


conjuntos A, B e C. Ao fazer o produto cartesiano AxBxC obtém-se um conjunto
de triplas como: AxBxC={...(a,b,c)...}.

Conjunto de dados
Cada tripla deste universo é chamado de dados. Considera-se neste ponto
apenas as triplas de interesse da empresa. Veja que a definição é matemática,
portanto, não há como separar qualquer dos três elementos na definição. Um
dado é uma tríade de um símbolo, em um meio como um significado. Se faltar
qualquer dos elementos não existe o dado.

Figura representativa do mundo real e do mundo simbólico.

Observe que ao se representar uma imagem (ou conjunto de dados) em um


mundo simbólico, essa imagem sofre uma série de “processamentos” até tornar
a ser interpretada. Isso ocorre, por exemplo, na engenharia que vai associando
conceitos às representações para atender necessidades de transmissões. A todo

MODELAGEM DE DADOS 215


o momento está produzindo novos símbolos em outros meios com significados
diferentes e isso é feito até poder ser novamente interpretada.

Veja que existem dois pontos críticos que podem influenciar todo o
processamento. O primeiro é na tomada da imagem. Se isso não for feito de
forma correta todo o processamento está comprometido. O segundo é na
interpretação no mundo real. Se o resultado não puder ter uma interpretação
no mundo real todo o processamento será inútil. É nesses dois pontos que se
devem diminuir os riscos.

Neste trabalho limita-se o escopo ao tratamento de informações.

Nesse enfoque, ao se definir um conjunto, busca-se valores no mundo real para


representar um fato.

Dados básicos
O processo visto define um conjunto de dados, denominado dados básicos, e
são obtidos diretamente do mundo real. Se esses dados forem perdidos não há
como recuperá-los. Se você não fotografa um determinado momento este não
se repetirá. O mesmo ocorre com os dados básicos. Em caso de perda isso é
irrecuperável. Outra característica é o custo. No dado básico o custo é o
necessário para buscar a informação no mundo real, portanto é caro. Se
desejar saber a real composição das rochas do planeta marte tem-se que
buscar essas rochas. Se desejar saber o número de mulheres que não tem
água encanada em casa tem de se fazer um censo.

Portanto, é sempre caro obter o dado básico. Esses dados devem ser
armazenados com todos os cuidados.

MODELAGEM DE DADOS 216


Dados elaborados

Figura representativa de dados elaborados.

Dados elaborados são dados óbitos por processamento de outros dados,


podendo ser básicos ou não. Os dados elaborados dependem apenas do
processamento, portanto, deve-se definir qual o processamento. Os dados
gerenciais, de uma forma geral, têm esta característica. A média matemática
para um conjunto, por exemplo, é um dado elaborado e depende da definição.

O custo do dado elaborado é o custo do processamento. O dado elaborado


pode ser obtido novamente e para isso basta repetir o processamento, de
forma que não há necessidade de se guardar o dado elaborado. Isso só é feito
quando o processamento for caro ou demorado. O tempo de vida do dado
elaborado é curto, enquanto que do dado básico é eterno. Um dado básico
“precisa ser morto”. O dado elaborado, após determinar seu valor, já morre. E
pode ser resultado sempre que for necessário.

MODELAGEM DE DADOS 217


Assim, ao preencher um documento com a idade, essa informação já está
“desatualizada” no minuto seguinte. O correto é preencher a data de
nascimento, que é um dado básico que será sempre válido e permitirá a
obtenção a qualquer momento do dado elaborado da idade (fazendo a
subtração do dias de hoje e da data de nascimento).

Dados equivalentes: são chamados de dados equivalentes repetições de


informações em conjunto com meios diferentes. Esses dados são poluidores,
pois existem vários periféricos e utilitários que permitem a reprodução desses
conjuntos. Veja que esses conjuntos também são úteis, pois podem ser para
projetos de backup e segurança de acervos.

Administração dos recursos


Após entender melhor os dados e suas variáveis, entenda a administração dos
recursos. A administração nos ensina que se deve tratar o controle de um
recurso segundo o seu ciclo de vida. E um recurso tem os seus processos de
controle segundo o ciclo de vida. Acompanhe o processo:

Planejado
Todo o recurso precisa ser planejado. Define-se como será tratado para
obtenção, após a obtenção e alienação.

Obtido
Todo o recurso precisa ser obtido. Como é obtido? Que processos são
envolvidos nessa fase? Nessa fase o recurso passa a “fazer parte” da empresa.

Administrado
Uma vez obtido, o recurso deve ser administrado. Quem pode usar, como pode
usar, como controlar o consumo? Os processos podem ser rigorosos ou não
dependendo do valor do recurso. Determina e controlam-se custos de
manutenção.

MODELAGEM DE DADOS 218


Eliminado
Quando o recurso não mais interessa à empresa ele deve ser eliminado. Deve-
se ter processos formais de descarte de recursos.

Figura representativa dos processos formais de descarte de recursos.

Recurso dados
Vamos aprofundar o conhecimento nos recursos, acompanhe.
a) Planejamento: Nesta fase deve-se definir a partir das necessidades de
informação da empresa quais dados são necessários e importantes.

Devem-se definir os meios de armazenamento, os produtos de software de


armazenamento, volumes envolvidos de acordo com a taxa de crescimento da
empresa e seus objetivos. Deve-se definir o tempo de vida de cada dado
básico, como será o seu armazenamento e posterior eliminação. Deve-se definir
quem, quando e como um dado pode ser acessado. Existem dados que são
confidenciais com uso restrito ou mesmo secretos. Deve-se definir que
segurança deve ser providenciada para cada conjunto de dados.

a.1) PLANEJAMENTO DA ADMINISTRAÇÃO QUANTO A USABILIDADE


DOS DADOS:

DEFINIÇÃO DO TEMPO DE VIDA:


Quando um novo dado surge desperta o interesse na coletividade que o usa.
Então, quando o dado é obtido, o seu grau de interesse é alto. Este valor pode
ser quantificado pelo número de acessos a este dado.

MODELAGEM DE DADOS 219


Á medida que o tempo passa o número de pessoas interessadas no dado ai
diminuindo caracterizando um decréscimo no número de acessos com o passar
do tempo. Ao se registrar na forma de gráfico, o número de acessos tem-se
uma curva decrescente, como mostrado na figura abaixo:

Gráfico representativo do número de acessos versos o tempo.

A tendência desta curva é diminuir para Zero o número de acessos, mas não se
pode garantir que ninguém a mais se interessará por este dado e isto é
mostrado de forma pontilhada. O tempo de vida deve ser definido pelo
administrador de dados para cada dado. Este valor deve ser definido e colado
no dicionário de dados. Todos na empresa devem conhecer o tempo que o
dado existirá e depois disto será destruído. A falta desta definição de forma
clara nos leva a manter documentos e dados por períodos muito grandes e isto
pode ser constatado nas pastas de “arquivo morto” ou na quantidade de fitas e
arquivos em meios magnéticos e que não são acessados há anos.

II) QUANDO O DADO ESTA DISPONÍVEL.


O dado deve estar disponível no momento exato da decisão. Nos processos
operacionais da empresa o dado deve estar disponível para o atendimento

MODELAGEM DE DADOS 220


imediato de um cliente. Para processos que a decisão não precisa ser im3diata
pode-se ter outra disponibilidade.

O aspecto do quando é fundamental para definir que características um sistema


de informações deve ter (pode ser BATCH ou ONLINE. Agora se precisar de
informações como valor do imposto no final do mês não tem sentido se investir
em sistemas caros “on-line” que exigem mais recursos. O tempo de resposta
de sistemas “on line” são fatores de segurança.

COMO
O dado deve estar no formato correto de sua utilização. Não se deve passar
para o usuário manipulações fora da apresentação. Se o dado não é
apresentado na forma correta ele se torna inútil veja o caso de formato de
arquivos e que o utilitário que lê o formato não está disponível. Ou os dados
que estão em um “pen drive”, mas, não há possibilidade de lê los – são inúteis.
A emissão de dados em papel dos dados operacionais para os gestores também
são inúteis, pois este está interessado em agregações ou seleções e isto teria
de ser feito à mão.

QUEM
Quem pode acessar os dados. Existem muitos dados que são de conhecimento
restrito. Pode-se fazer uma classificação das comunidades que podem acessar
o dado.

Veja que isto é o motivo de muitos ataques a computadores para “roubo” de


informações.
Existem procedimentos de segurança que são definidos na ISO 27000.

ONDE
O dado deve estar disponível no local onde se toma a decisão. A colocação de
terminais remotos, acesso via celular e outros...

MODELAGEM DE DADOS 221


A.2) PLANEJAMENTO DA ADMINISTRAÇÃO QUANTO A USABILIDADE
DOS DADOS:
Desde que o homem começou a guardar dados já usou diversas tecnologias.
Administrar dados com relação à tecnologia é uma questão de custos. Uma
nova tecnologia tem custo inicial mais caro, em relação ao mesmo número de
acessos, para um acesso. Este custo cai à medida que o volume de acessos
aumenta.

Gráfico representativo do volume de acessos.

Desta forma não se deve manter um dado sempre no mesmo meio. E o dado
deve migrar de acordo com o número de acessos durante o seu tempo de vida.
Assim uma nota fiscal que deverá ser armazenada por cinco anos, segundo a
legislação, poderá durante os primeiro ano ficar em um arquivo em um SGBD,
depois migrar para outro dispositivo mais barato durante mais 1 anos e depois
ser colocado nos próximos anos em CD ou outro mais barato...
Isto é mostrado na curva abaixo:

MODELAGEM DE DADOS 222


Gráfico representativo da migração de arquivos para outro dispositivo.

Todo projeto de sistemas de informações deveriam dar ênfase a este


procedimento e ter definido os utilitários de migração e que poderiam ser feitos
de forma automática.

Dados com pouco uso e “velhos” em um SGBD comprometem o desempenho,


pois todo acervo e processado para cada consulta.

b) Obtenção: Os dados devem ser obtidos, conforme planejado. Para isso


deve-se definir a forma de obtenção desses dados e como garantir a entrada
no mundo simbólico. Lembrar que é o ponto onde há risco para o
processamento. Todo dado obtido na empresa deve ter garantida a sua
consistência. Os sistemas de informação devem garantir essa consistência.
Podem-se obter dados equivalentes, por cópia, de outras instituições. O perigo
é ter a confiança necessária com relação à consistência desses dados. O ideal é
obter o dado de forma automática, com características desejadas, como os
obtidos usando ‘scanners” ou filmadoras, mas algumas vezes há necessidade de
se obter esses dados a partir de meios que obrigam a digitalização ou digitação.
Existem softwares reconhecedores de caracteres que podem ajudar nessa
tarefa, mas sempre se deve assegurar da consistência. No caso de haver
necessidade de se buscar os dados a partir de papéis deve-se fazer um projeto
de entrada manual de dados. Antigamente, digitar ou digitalizar acervos de

MODELAGEM DE DADOS 223


forma manual era bastante comum. Para isso deve-se fazer um projeto de
entrada de dados.

Quatro etapas do projeto de entrada de dados

APROPRIAÇÃO:
É uma etapa cara e que deve ser feita por usuários. Por exemplo, buscar
dados de um conjunto de contratos que estão em papel. Deve-se selecionar os
dados e colocá-los em um formato próprio, por exemplo, formulários ou
questionários. Está é uma fase crítica, pois se os dados forem “garimpados” de
forma incorreta nos documentos compromete todo o trabalho. Hoje, sempre
que possível procura-se diminuir a fase de apropriação obrigando o usuário a
digitar os seus próprios dados ou faz-se buscas de forma automática como
leitura de código de barras ou outras formas de codificação Feita à busca dos
dados passa-se para a preparação.

PREPARAÇÃO:
Os dados precisam ser preparados para serem digitalizados ou digitados.
Devem ser colocados em formulários próprios, ou serem colocados em
determinada ordem. Pode-se colocar, por exemplo, questionários, por ordem
de data de preenchimento. Para cada grupo organizado cria-se um documento
chamado capa de lote. Na capa de lote coloca-se a quantidade de
questionários ou de documentos que compõem aquele lote e que serão
digitados.

DIGITAÇÃO OU DIGITALIZAÇÃO.
Nesta fase deve-se garantir que todo o acerto foi digitalizado. Para isto faz-se
o trabalho e se confere com as capas de lote. Caso haja divergências deve-se
refazer o trabalho.

Muitas vezes há necessidade de se fazer o controle de erros. Neste caso


dependendo do % de erro aceito pode-se fazer dupla ou tripla digitalização. No

MODELAGEM DE DADOS 224


caso de digitação, pode-se fazer a digitação do acerto duas ou mais vezes e ai
se compara os arquivos. Se os registros estiverem certos se guarda e os
errados voltam para serem digitados, isto é feito até se zerar um lote. A figura
mostra resumidamente este processo.

Figura representativa de digitação.

VALIDAÇÃO:
Os dados digitados são submetidos a um programa de verificação onde se
procura identificar abusos. Idades acima de 200 anos, campos em branco,
CNPJ fora de formato, etc. São as críticas na entrada de dados. É comum se
usar dígitos verificadores. São dados elaborados que são associados aos dados
iniciais e servem ao se repetir o processamento para verificar se um dado foi
digitado na forma correta. Existem vários algoritmos para criar dígitos
verificadores (sugiro a pesquisa). Esta estratégia é comum nos formulários de
entrada de dados em sistemas.

c) Administrado: O dado deve ser administrado. Devem-se fazer auditorias


para verificar quem usou o dado e como foi usado. Verifica-se a disponibilidade
e demais aspectos mostrados na etapa de planejamento. Devem-se monitorar
os diversos meios de comunicação disponíveis na empresa. A ISO 27000 sugere
uma série de providências com relação a auditorias de uso. O custo deve ser

MODELAGEM DE DADOS 225


uma preocupação. Devem-se executar políticas de acesso e uso da informação
na empresa e fora dela.

d) Eliminado: Após o término de vida de cada dado, seja elaborado,


equivalente ou básico, devem-se definir procedimentos formais para a sua
eliminação. Pode-se eliminar um dado destruindo o seu símbolo, quando se
deseja aproveitar o material. É uma situação muito perigosa, pois alguns
utilitários podem recuperar o símbolo par evitar isso para um arquivo, por
exemplo, o ideal é gravar o valor zero em todo o arquivo. Isso destrói os
símbolos iniciais e não permite a recuperação. Pode-se destruir a informação
destruindo o significado. Pode-se, por exemplo, trocar nome de arquivos.
Também é uma situação perigosa. A forma ideal é destruir o meio. Dessa forma
evita-se a recuperação do arquivo. Pode-se, por exemplo, picotar um papel, ou
melhor ainda, dissolver a celulose.

Esses procedimentos devem ser formais.

Conclusão
A administração de dados deve ser um conjunto de processos que favorece o
uso da informação de forma segura e eficiente.

Existem ainda outras modelagens específicas para produtos. Assim, para data
warehouse há propostas de modelagem multidimensional e outras, mas todas
derivadas da modelagem conceitual que foi vista. Essas modelagens devem ser
tratadas para cada assunto específico.

Atividade proposta
Você é administrador de dados e recebeu o modelo de um analista de sistemas.
Está procurando organizar a utilização dos dados na empresa.

MODELAGEM DE DADOS 226


Com os seguintes atributos:
Especialidade (cod_especialidade, nome)
UF (Sigla_UF, nome, região, população)
Médico (cod_médico, nome, endereço, CRM, especialidade, CPF, telefone)
Contradado (cod_médico, dia, hora, número_contrato)
Prestador (cod_médico, localidade, preço_base, data_início)
Consulta (cod_médico, dia, hora, especialidade, paciente)
Paciente (paciente, nome, endereço, telefone, CPF)
Medicamento (código_med, laboratório, nome, preço, posologia)
Medicamento/consulta (cod_medicamento, cod_médico, cod_paciente, dia).

Figura representativa de atributos.

Responda:

Questão 1:
Que providencias iniciais devem ser tomadas?

Questão 2:
Há necessidade de se definir o tempo de vida para UF, Especialidade e outras
tabelas?

Questão 3:
Que conjuntos iriam necessitar de um estudo de acesso quanto a tecnologia?

Questão 4:
Quais as vantagens de se trabalhar com um meta dicionário?

MODELAGEM DE DADOS 227


Questão 5:
Suponha que cada cliente que não volta para uma consulta no prazo de três
meses deva TR os dados de suas últimas consultas apagadas. Como pode-se
garantir que os dados serão realmente apagados.

Questão 6:
Para se destruir um dado basta destruir em um dos três aspectos. Considere a
situação em que estes dados não mais seriam recuperados.

Questão 7:
Como podem ser dados nomes de formas padronizadas para a entidade:
UF (Sigla_UF, nome, região, população)

Chave de resposta:

Questão 1:
Definir os meta dados para os atributos e entidades do modelo além de uma
verificação.

Questão 2:
Gabarito: Não.
Justificativa: São sustáveis, portanto o tempo de vida é o da duração do
sistema. Só tem sentido se definir o tempo de armazenamento para cadastros
e movimentos. Muitas das tabelas estarão no código.

Questão 3:
Gabarito: Os arquivos de movimento de uma forma geral (consulta,
consulta/medicamento).
Justificativa: Estes arquivos são muito grandes e o dado deve estar disponível
por um período relativo ao tratamento ou volta do cliente, portanto, pode-se
colocar inicialmente em um meio e depois migrar para outro mais barato.

MODELAGEM DE DADOS 228


Questão 4:
Gabarito: Pode-se padronizar os comprimentos de dados de strings. Isto
facilita o intercambio e o tratamento de arquivos (interfaces com arquivos) no
futuro.
Justificativa: a padronização permite um tratamento mais uniforme nos
sistemas da empresa.

Questão 5:
Gabarito: a utilização do delete simplesmente maracá o registro como retirado,
se for colocado em um outro meio magnético o ideal é gravar bancos em cima
dos dados.

Questão 6:
Gabarito: Sempre que destruir o meio Ito acontece. Pode-se também garantir
com a total destruição do símbolo.
Justificativa: Existem situações que o símbolo pode ser recuperado. Deve-se
ter certeza que isto não acontece. Muitas vezes destruir o meio é insuficiente.
Por exemplo, picotar papel não garante a destruição do dado.

Questão 7:
Resposta:
Definir o meta dicionário:
CodCurto com 3 caracteres (ou dígitos)
NomeCurto com 30 caracteres
NumeroLongo com 10 caracteres
Usando a regra de identificar a entidade e o tipo a entidade ficaria:

UF ( UF_CodCurto_Sigla_UF,
UF_NomeCurto_nome,
UF_Nome_curto_região,
UF_NumeroLongo_população)

MODELAGEM DE DADOS 229


Justificativa:
Facilita a utilização e isto deve constar como regra par todos os
desenvolvedores.

Aprenda Mais

Material complementar

Para saber mais sobre Dados, leia Administração de dados,


disponível em nossa biblioteca virtual.

Material complementar

Para saber mais sobre Modelagem, leia o texto Modelagem


Dimensional, disponível em nossa biblioteca virtual.

Referências
RIBEIRO, Horacio C. S. Análise por objetos: da teoria à prática.
ELMASRI, Ramez ET AL. Sistemas de banco de dados. Pearson Addison.

Exercícios de fixação

Questão 1
Considere as afirmativas abaixo:

MODELAGEM DE DADOS 230


I) Devem-se identificar todas as informações constantes em uma nota fiscal: o
total de cada item, a quantidade, o preço unitário. Esta é uma forma otimizada
de armazenamento.
II) Todos os dados de Imposto de Renda devem ser mantidos em um Banco de
dados para que sempre seja possível acessar de forma eficiente, para o período
de 5 anos, como manda a lei.
III) Todos os dados básicos devem ser armazenados, e devem ser feitas cópias
com dados equivalentes para garantir a segurança.
Estão absolutamente corretas, segundo a teoria apresentada, as afirmativas:
a) Todas estão corretas
b) Nenhuma está correta
c) Existe apenas uma afirmativa correta
d) Existem duas afirmativas corretas
e) Nada se pode afirmar sobre as afirmativas

Questão 2
Um analista de sistemas recomendou a um empresário que colocasse todas as
suas informações em um banco de dados. Esse banco de dados deve ficar na
empresa com toda segurança e assim teria todos os dados a qualquer
momento. Sobre este fato conclua com a afirmativa correta.
a) O analista se precipitou, pois deveria ter feito um estudo referente ao ciclo de
vida de cada dado e sua utilização.
b) O analista acertou, pois colocar dados em um banco de dados é a mais
eficiente forma de tratar a informação.
c) O analista errou ao dar esta sugestão, pois o ideal é sempre colocar todos os
dados na “nuvem”, não necessitando maiores estudos.
d) O analista acertou ao dar este conselho, pois, além dos dados estarem em
segurança porque se tem ainda pouco volume de dados.
e) O analista acertou em dar esta sugestão, tendo em vista que é sempre possível
baratear a tecnologia para poucos dados.

MODELAGEM DE DADOS 231


Questão 3
Considere os tipos de dados quanto à obtenção:
a) Básico, registro, atributo
b) Básico, elaborado, equivalente
c) Campo, inteiro, básico
d) Elaborado, básico, registro
e) Equivalente, registro, atributo

Questão 4
Considere o modelo conceitual abaixo:

Verifique a afirmativa correta abaixo:


a) Os atributos total-pago e idade não devem constar da entidade sócio.
b) Os atributos mês e valor-pago poderiam ter sido colocados na entidade sócio.
c) Se um sócio não tem nenhum pagamento, a entidade mensalidade deverá ter
um elemento indicando a falta de pagamento zerando-se os valores.
d) Os atributos nome e idade são desnecessários para se realizar um pagamento,
sendo importante o valor.
e) O diagrama estaria mais bem representado pela relação 1..n – 1
respectivamente.

Questão 5
Com relação às atribuições do administrador de dados verifique as afirmativas
corretas:
I) Tem a responsabilidade de verificar o desempenho dos SGBD de forma a
recuperar as informações de forma eficiente.
II) Deve manter o modelo de dados atualizado definindo as formas de
armazenamento para cada tipo de dado que identifica no modelo.

MODELAGEM DE DADOS 232


III) É responsável pela qualidade, segurança e disponibilidade da informação
para decisão.
IV) É Responsável por manter os meta dados atualizados.
Estão corretas as seguintes afirmativas:
a) I, II e III
b) I, III e IV
c) I, II e IV
d) Nenhuma está correta
e) II, III e IV

Aula 8
Exercícios de fixação
Questão 1 - C
Justificativa: Apenas a afirmativa III está correta. Não se armazenam dados
elaborados (I) e um dado deve ocupar vários meios (II) durante sua vida,
dependendo dos acessos.

Questão 2 - A
Justificativa: Deve-se analisar a característica de cada dado para verificar a
conveniência ou não de colocá-lo em um banco de dados.

Questão 3 - B
Justificativa: Segundo o que foi aprendido os dados podem ser equivalentes,
elaborados e básicos.

Questão 4 - A
Justificativa: Os dois atributos são dados elaborados.

Questão 5 - A
Justificativa: São as obrigações de um administrador de dados.

MODELAGEM DE DADOS 233


Horácio da Cunha e Sousa Ribeiro é Graduado em Engenharia Elétrica pela
Universidade do Estado do Rio de Janeiro, Mestre em Engenharia de Sistemas –
Informática pelo Instituto Militar de Engenhari. Possui MBA em Gestão de IES
pela UNESA. Diretor Geral do Instituto Superior de Tecnologia do Estado do Rio
de Janeiro (FAETEC). Coordenador de Pós-graduação dos cursos de
Especialização de professores em TICs, e do curso de especialização em
Metrologia para Software. Professor de Banco de Dados, Inteligência Artificial,
Sistemas de Informações, Engenharia de Software, Análise e Linguagens de
Programação, Produtividade e métricas de Software. Pesquisador de processos
de negócio e sua ergonomia. Pesquisador de objetos de ensino visando à
otimização do aprendizado. Autor do primeiro livro de Inteligência Artificial do
Brasil.

Currículo Lattes:
http://lattes.cnpq.br/968897440385422

MODELAGEM DE DADOS 234

Você também pode gostar