Beruflich Dokumente
Kultur Dokumente
MODELAGEM DE
DADOS 1
______________________________________________________Modelagem de Dados 1
Setembro de 2009
Página 2 de 38
______________________________________________________Modelagem de Dados 1
CAPITULO I
VISÃO GERAL DO GERENCIAMENTO DE
BANCO DE DADOS
O computador é uma máquina como muitas outras, mas que possui algumas
características que a distinguem das demais, como a velocidade do processamento e a
capacidade de armazenamento. É um equipamento que, com o passar dos anos, se
tornou de uso pessoal e profissional, podendo ser utilizado no lazer e no dia-a-dia, nas
mais variadas tarefas. Olhando por um prisma mais direto, o computador possui três
tarefas básicas: entrada, processamento e saída de dados.
Gerenciar e armazenar dados tornou-se uma tarefa complexa, que envolve muitas
ferramentas e tecnologias. Com a grande evolução da computação ou da informática em
geral, os equipamentos têm evoluído muito, o que tem tornado o seu custo mais
acessível. Com isso, o uso do computador tem atingido os mais variados perfis de
usuários.
Dados
Um banco de dados nada mais é do que um repositório de dados, que pode ser
classificado como integrado ou compartilhado. O banco de dados integrado visa ao
controle de total eliminação da redundância de dados geralmnete encontrada em
sistemas de arquivos comuns (gerenciadores de arquivos); o compartilhado visa ao
acesso de vários usuários a uma mesma parte dos dados, com finalidades distintas.
Hardware
Página 4 de 38
______________________________________________________Modelagem de Dados 1
• Volumes de aramazenamento secundário – normalmente, discos magnéticos -,
que são usados para manter os dados armazenados, juntamente com os
dispositivos de E/S associados (unidades de discos, etc.), controladores de
dispositivos, canais de E/s e assim por diante.
Usuários
Página 5 de 38
______________________________________________________Modelagem de Dados 1
No vasto mundo da tecnologia da informação, há poucas coisas tão fascinantes
quanto à forma de armazenamento, controle e recuperação dos dados referentes a
sistemas de informação.
Todas as vezes que alguém realiza uma transação num caixa eletrônico do seu
banco, deseja obter informações que sejam geradas de forma rápida e restrita, sem
redundância e, principalmente, íntegras.
O banco de dados, por si só, pode ser considerado como o equivalente eletrônico
de um armário de arquivamento; ou seja, ele é um repositório ou recipiente para uma
coleção de arquivos de dados computadorizados. Os usuários de um sistema podem
Página 6 de 38
______________________________________________________Modelagem de Dados 1
realizar (ou melhor, solicitar) que o sistema realize diversas operações envolvendo tais
arquivos – por exemplo:
De uma forma acadêmica pode-se definir um banco de dados como “uma coleção
de dados persistentes, usada pelos sistemas de aplicação de uma determinada
empresa”.
Um banco de dados deve conter dados dispostos numa ordem determinada por
um esquema ou modelo, sempre atendendo a um propósito definido. Podem ser citados
como exemplos a lista telefônica, a lista de códigos de endereçamento postal e outros.
Nível físico. O nível mais baixo de abstração descreve como os dados estão
realmente armazenados. No nível físico são descritas a estrutura física de
armazenamento do banco de dados, sua organização de arquivos e seus
métodos de acesso.
Nível de Visões
Nível Conceitual
Nível Físico
(Visão do armazenamento)
1.3.2- CLASSIFICAÇÃO
Página 9 de 38
______________________________________________________Modelagem de Dados 1
CAPITULO II
MODELOS DE BANCO DE DADOS
Um modelo de (banco de) dados é uma descrição dos tipos de informações que
estão armazenadas em um banco de dados.
Modelo de Dados
Página 10 de 38
______________________________________________________Modelagem de Dados 1
Devemos destacar que o modelo conceitual não retrata nem é vinculado aos
aspectos ligados a abordagem de banco de dados que será utilizado e tampouco se
preocupa com as formas de acesso ou estruturas físicas implementadas por SGBD
específico.
Página 11 de 38
______________________________________________________Modelagem de Dados 1
Ele somente tem o seu início após a criação do modelo conceitual. A partir deste
ponto vamos considerar uma das abordagens possíveis da tecnologia de SGBDs
(relacional, hierárquico, rede e orientado a objetos) para a estruturação e
estabelecimento da lógica dos relacionamentos existentes entre os dados definidos no
modelo conceitual.
• Modelagem Conceitual
Nesta primeira fase, é construído um modelo conceitual, na forma de um
diagrama entidade-relacionamento. Este modelo independe da implementação.
• Projeto Lógico
Objetiva transformar o modelo conceitual obtido na primeira fase em um modelo
lógico. O modelo lógico define como o banco de dados será implementado em um
SGBD específico.
• Projeto Físico
Nesta etapa, o modelo de BD é enriquecido com detalhes que influenciam no
desempenho do BD, mas não interferem em sua funcionalidade. Alterações neste
modelo não afetam as aplicações que usam o BD.
Página 12 de 38
______________________________________________________Modelagem de Dados 1
CAPITULO III
BANCO DE DADOS RELACIONAL
Criado por Edgar F. Codd, nos anos 70, começou a ser realmente utilizado nas
empresas a partir de 1987. A abordagem relacional está baseada no principio de que as
informações em uma base de dados podem ser consideradas relações matemáticas e que
estão representadas de maneira uniforme com o uso de tabelas bidimensionais.
Página 13 de 38
______________________________________________________Modelagem de Dados 1
O conceito principal vem da tória dos conjuntos atrelado à concepção de que não
é relevante ao usuário saber onde os dados estão nem como os dados estão
(transparência).
Para lidar com estes objetos, o usuário conta com um conjunto de operadores e
funções de alto nível, constantes na álgebra relacional.
Exemplo 1
Tabela de CDs
Exemplo 2
Tabela Funcionários
O importante é que toda vez que nos referimos à tabela funcionários visualizemos
os dados que ela contém, e simbolizando valores possíveis, pois assim vamos
mentalizando e nos abstraindo em algum objeto que a tabela representa.
Página 15 de 38
______________________________________________________Modelagem de Dados 1
121 Luiz Paulo Souza 10 05 200 M 2241- D5
1 5896
25 Marta Silveira 05 12 200 F 2693- D5
2 5521
2594-
8523
2594-
8522
139 Ana Luiza Magalhães 12 01 200 F 4545- D6
3 8899
123 Pedro Sergio Doto 29 01 200 M 2496- D3
3 8855
148 Larissa Silva 01 06 200 F 4289- D6
2 9675
115 Roberto Fernandes 15 06 200 M 2685- D5
3 8132
22 Sergio Nogueira 10 10 200 M 2594- D4
0 3122
Atributo
Composto
Atributo
Multivalorado
Isso quer dizer que não existem colunas do tipo subgrupo, todas são itens
elementares não subdivididos em nenhuma hipótese. E, também, não é permitida a
existência da múltipla ocorrência de valores (multivalorados) em nenhum de seus
atributos (colunas).
O esquema de uma relação, ou seja, a sua definição pode ser interpretada como
uma declaração, ou um tipo de afirmação.
• Cada tupla (linha) da relação (tabela) deve ser interpretada como fato ou uma
ocorrência particular dessa afirmação;
3.3- DOMÍNIO
Representa o conjunto de valores atômicos admissíveis de um componente
(coluna) de uma relação (tabela).
Exemplo
Exemplo
Página 17 de 38
______________________________________________________Modelagem de Dados 1
Essa coluna ou conjunto de colunas concatenadas identifica uma única linha da
tabela. Então dizemos que essa coluna ou conjunto de colunas forma a chave primária
da tabela.
Um identificador de chave primária nulo significa dizer que existe uma ocorrência
(linha) na tabela sem identificação única, ou não distinguível.
Se uma tabela relacional tem uma chave primária, que é um valor único para
cada linha da tabela, logo esse valor não pode em hipótese alguma estar nulo, ou seja,
ser desconhecido.
Estendendo este conceito, destacamos que nenhuma das colunas que participam
da composição da chave primária pode ter valor nulo, pois o resultado da concatenação
seria nulo, em uma operação de concatenação de valores.
Página 18 de 38
______________________________________________________Modelagem de Dados 1
A identificação de uma linha de uma tabela não pode ser feita por um valor
desconhecido, motivo pelo qual a chave primária de uma tabela não pode possuir
nenhum elemento de sua composição com valor nulo.
Atributos cujos valores no mundo real podem ser duplicados não devem ser
definidos como chaves primárias de uma tabela (Nome, por exemplo).
Em geral, uma tabela pode ter mais de uma chave que possua a capacidade de
identificação única das linhas da tabela. Nesse caso, cada uma dessas chaves da tabela
é chamada de CHAVE CANDIDATA.
Uma das chaves será definida como primária e as outras ficam como chaves
alternativas à chave primária.
Exemplo
São as tabelas referentes aos produtos de nossa cozinha, neste caso somente os
alimentos. Uma que chamaremos de tabela de Estoque de alimentos, uma de
Fornecedores e uma de Unidade de armazenamento.
Página 19 de 38
______________________________________________________Modelagem de Dados 1
Uma característica importante nas tabelas relacionais é que elas têm muitas vezes
colunas comuns.
Estoque de Alimentos
Alimento Quantida Data Fabrican Unidad
de Validade te e
Feijão 2 20/08/2004 2 1
Leite 3 12/07/2004 4 2
Açúcar 5 12/08/2004 1 1
Arroz 3 10/10/2004 6 1
Azeite 2 12/03/2004 5 6
Café 1 12/12/2004 3 1
Fornecedores
Fabrica NomeFab
nte
2 Coral
4 CCPL
1 União
6 Tio João
5 Galo
3 Pilão
Unidades de Armazenamento
Unidad Descrição
e
1 Kg
2 Litro
3 Peça
4 Envelope
5 Pote 500g
6 Vidro 500g
Esta é uma característica que em primeiro lugar tem como objetivo inicial evitar
que sejam inseridos na tabela de alimentos, por exemplo, valores relativos a um mesmo
fornecedor de duas maneiras: Tio João e T. João, fazendo com que apresentássemos o
mesmo produto como sendo de dois fornecedores diferentes.
O que significa uma tabela ter coluna ou colunas que existem em outra tabela?
Página 20 de 38
______________________________________________________Modelagem de Dados 1
O que significa quando temos um campo que é chave primária de uma tabela que
faz parte dos campos de outra tabela?
Isso é o que denominamos de chave estrangeira.
Uma tabela pode ter tantas chaves estrangeiras quantas forem as suas
associações a outras tabelas.
Uma tabela pode ter um conjunto de atributos que contêm valores com o mesmo
domínio de um conjunto de atributos que formam a chave primária de uma outra tabela.
O valor de uma chave estrangeira em uma tabela A deve ser um valor de chave
primária da tabela B, ou então ser nulo.
Sintetizando: uma tabela contém uma chave estrangeira, então o valor dessa
chave só pode ser:
• Nulo – neste caso pode, pois representa a inexistência de referência para uma
linha da tabela.
• Igual ao valor de alguma chave primária na tabela referenciada.
Como seria ter uma tabela com chave estrangeira nula? Vejamos:
Página 21 de 38
______________________________________________________Modelagem de Dados 1
Na linha DE Pedro Sergio Doto o valor para CodDepto está nulo, o que pode
significar que ele ainda não está alocado a nenhum departamento, ou foi deslocado de
algum departamento.
O que importa é que ele não tem departamento assinalado, o que é uma situação
válida.
O que não pode haver é um valor de chave estrangeira que não exista como
chave primária de nenhuma linha da tabela referenciada, no caso a tabela
Departamento.
Regra Definição
Deleção Restrita Ao excluir (deletar) a tabela pai , se ela possuir filhos
relacionados (ou seja, se o departamento tiver funcionários),
a exclusão é impedida. Isso evita que o bando de dados
fique inconsistente, ou seja, linhas de Funcionário com valor
de chave estrangeira inexistente como chave primária na
tabela associada. Outras opções para garantir a integridade
de referências do banco de dados seriam excluir todos os
filhos em cascata, fazendo com que todos os funcionários
referenciem um departamento-padrão ou fazer com que
todos os funcionários fiquem sem departamento.
Inclusão e Linha Restrita Ao inserir um funcionário, caso seja obrigatório que ele já
possua departamento associado, verifica se ele está
relacionado a um departamento existente na tabela
Departamento, senão impede a operação.
Atualização e Linha Ao atualizar a chave estrangeira de uma tabela, verifica se
Restrita existe uma linha da tabela associada que possua como
chave primária o novo valor da chave estrangeira, senão
impede essa operação. A opção cascata é sempre perigosa
de ser utilizada em banco de dados, pois existe o risco de
perder todos os dados existentes em uma determinada
tabela se optar por apagar as suas linhas que estão
associadas a uma determinada linha que será deletada da
tabela que possui a chave primária referenciada.
Exemplo
Vamos fazer uma simulação de tabelas. Suponha que nossa tabela tenha somente os
funcionários do departamento de vendas (D5).
Funcionário
NumReg NomeFunc DtAdmiss Sexo CdCargo CodDep
ão to
101 Luis Sampaio 10/08/2003 M C3 D5
Página 22 de 38
______________________________________________________Modelagem de Dados 1
104 Carlos Pereira 02/08/2004 M C4 D6
134 José Alves 23/03/2002 M C5 D1
121 Luiz Paulo Souza 10/05/2001 M C3 D5
123 Pedro Sergio Doto 29/01/2003 M Nulo D3
115 Roberto Fernandes 15/06/2002 M C3 D5
22 Sergio Nogueira 10/10/2000 M C2 D4
Departamento
CodDep NumDepto RamalT
to el
D1 Assist. 2246
Técnica
D2 Estoque 2589
D3 Administraçã 2772
o
D4 Segurança 1810
D5 Vendas 2599
D6 Cobrança 2688
Vazia, completamente sem linhas. A regra de cascata provoca que todas as linhas
de tabelas associadas a essa chave primária sejam deletadas, apagadas para evitar que
fiquem existindo no banco de dados referências às linhas inexistentes em uma tabela.
Mas não é somente o caso de deleção completa da tabela que preocupa, pois
trabalhamos com nossa tabela original de funcionários:
Essa tabela perderá todas as linhas que estavam associadas pelo valor de chave
estrangeira =”D5”, perdendo os dados de alguns funcionários:
Funcionário
NumReg NomeFunc DtAdmiss Sexo CdCargo CodDep
ão to
104 Carlos Pereira 02/08/2004 M C4 D6
134 José Alves 23/03/2002 M C5 D1
Página 23 de 38
______________________________________________________Modelagem de Dados 1
123 Pedro Sergio Doto 29/01/2003 M Nulo D3
22 Sergio Nogueira 10/10/2000 M C2 D4
CAPITULO IV
ABORDAGEM ENTIDADE-RELACIONAMENTO
4.1- ENTIDADE
O conceito fundamental da abordagem ER é o conceito de entidade.
ENTIDADE
=
Conjunto de objetos da realidade modelada sobre
os quais deseja-se manter informações no banco
de dados.
Pessoa Departamen
Página 24 de 38
to
______________________________________________________Modelagem de Dados 1
4.2- RELACIONAMENTO
4.2.1- CONCEITUAÇÃO
Uma das propriedades sobre as quais pode ser desejável informações é a
associação entre objetos. Exemplificando, pode ser desejável saber quais pessoas estão
associadas a quais departamentos em uma organização. A propriedade de entidade que
específica as associações entre objetos é o relacionamento.
RELACIONAMENTO
=
Conjunto de associações entre ocorrências de
entidades
Departamento
• Um conjunto de associações, cada uma ligando um departamento a uma pessoa
(relacionamento LOTAÇÃO).
Da mesma forma que fizemos com entidades, quando quisermos nos referira
associações específicas dentro de um conjunto, vamos nos referir a ocorrências ou
instâncias de relacionamentos. No caso do relacionamento LOTAÇÃO, formado por uma
Página 25 de 38
______________________________________________________Modelagem de Dados 1
ocorrência da entidade PESSOA e por uma determinada ocorrência da entidade
DEPARTAMENTO.
Pesso
No caso do relacionamento de casamento, uma ocorrência de pessoa exerce o
papel de marido e a outra ocorrência de pessoa exerce o papel de esposa. Papéis são
anotados no DER como mostrado no exemplo anterior. No caso de relacionamentos
entre entidades diferentes, no caso de LOTAÇÂO, não é necessário indicar papéis das
entidades, já que eles são óbvios.
marido
Cardinalidade (mínima,máxima) de entidade em
relacionamento
=
Número(mínimo,máximo) de ocorrências de
entidade associadas a uma ocorrência da entidade
Casame
Página 26 de 38
______________________________________________________Modelagem de Dados 1
• Entidade EMPREGADO tem cardinalidade, máxima 1 no relacionamento LOTAÇÂO.
Isso significa que uma ocorrência de EMPREGADO pode estar associado a no
máximo uma ocorrência de DEPARTAMENTO ou, em outros termos, que um
empregado pode estar lotado em no máximo um departamento.
ocorrência de Pessoa
associada a no máximo uma (“1”)
oposto da anotação) podem estar
Empregado (entidade do lado
Departamento
Expressa que a uma ocorrência de
Página 27 de 38
______________________________________________________Modelagem de Dados 1
Pe
Empregado
Aluno
marido
Empregado
Emp
1
Engenheiro
Página 28 de 38
Médico
______________________________________________________Modelagem de Dados 1
Pro
Classificação de Relacionamentos Ternários
Cidade
componente
Cada ocorrência do relacionamento DISTRIBUIÇÃO associa três ocorrências de
entidade: um produto a ser distribuído, uma cidade na qual é feita a distribuição e um
distribuidor.
n
duas entidades A e B, a cardinalidade máxima de A em R indica quantas ocorrências de B
podem estar associadas a cada ocorrência de A. No caso de um relacionamento ternário,
a cardinalidade refere-se a pares de entidades A, B e C, dentro de R indica quantas
ocorrências de C podem estar associadas a um par de ocorrências de A e B.
n
ocorrências (cidade, produto) está associado a no máximo um distribuidor. Significa que
é concedida exclusividade de distribuição de um produto para um distribuidor em uma
cidade.
Página 29 de 38
______________________________________________________Modelagem de Dados 1
4.4- ATRIBUTO
Empregado
O modelo ER permite a especificação de propriedades de entidades. Uma
propriedade é participar de um relacionamento. Outra propriedade é ter 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
Página 30 de 38
______________________________________________________Modelagem de Dados 1
Projet
seguir:.
No caso de a cardinalidade ser (1,1), ela pode ser omitida do diagrama. Assim, o
exemplo acima expressa que nome e código são atributos obrigatórios (cardinalidade
mínima 1 – cada entidade possui no mínimo um valor associado) e monovalorados
(cardinalidade máxima 1 – cada entidade possui no máximo um valor associado). Já o
atributo telefone, é um atributo opcional (cardinalidade mínima 0) e multivalorado
(cardinalidade máxima n).
Client
Esta função não pode ser considerada atributo de ENGENHEIRO, já que um
Engenheiro
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.
Página 31 de 38
______________________________________________________Modelagem de Dados 1
Financeira
Cada entidade deve possuir um identificador.
Identificador de entidade
=
Conjunto de um ou mais atributos e relacionamentos cujos
valores servem para distinguir uma ocorrência da entidade
das demais ocorrências da mesma entidade
Pesso
Finalmente, há 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). Um exemplo deste caso é mostrado
abaixo. Este modelo envolve empregados de uma organização, relacionados com seus
dependentes para fins de imposto de renda. Cada dependente está relacionado a
exatamente um empregado. Um dependente é identificado pelo empregado ao qual ele
está relacionado e por um número de sequência que distingue os diferentes dependentes
de um mesmo empregado. No DER, o relacionamento usado como identificador é
indicado por uma linha mais densa.
Pessoa
Página 32 de 38
______________________________________________________Modelagem de Dados 1
Nesse caso, alguns autores dizem que a entidade DEPENDENTE é uma entidade
fraca. O termo “fraca” deriva do fato de a entidade somente existir quando relacionada a
outra entidade e de usar, como parte de seu indicador, entidades relacionadas.
Empregado
que contém um fragmento de um DER sobre empresas. No exemplo, é representada a
divisão de grupos de empresas em empresas e de empresas em filiais de empresas. Para
identificar um grupo de empresas é usando um código. Já uma empresa é identificada
pelo grupo ao qual está relacionada e por um número da empresa dentro do grupo.
Finalmente, uma filial é identificada pela empresa a qual está vinculada e por um número
de filial dentro da empresa.
Grupo
O identificador de uma entidade, seja ele simples, composto por diversos atributos
ou composto por identificadores externos, deve obedecer a duas propriedades:
(1,1)
formam um identificador mínimo, já que código é suficiente para distinguir as
ocorrências de PESSOA.
• Para fins de projeto de bando de dados relacional, cada entidade deve possuir um
único identificador. Em alguns casos, diferentes conjuntos de atributos podem
servir para distinguir as ocorrências da entidade. Exemplificando, a entidade
EMPREGADO no exemplo abaixo poderia possuir como identificador tanto o
Página 33 de 38
______________________________________________________Modelagem de Dados 1
atributo código, quanto o atributo CPF. Cabe ao modelador decidir qual dos dois
atributos será usado como identificador na entidade.
Pessoa
relaciona. Em outros termos, para cada par (engenheiro, projeto) há no máximo um
relacionamento de alocação.
Engenheiro
consultas entre este médico e este paciente. A diferenciação ocorre através de atributos
identificadores de relacionamentos. No caso do relacionamento pode ser data/hora.
Página 34 de 38
______________________________________________________Modelagem de Dados 1
Filial
Associada ao conceito de generalização/especialização está a idéia de herança de
propriedades. Herdar propriedades significa que cada ocorrência da entidade
especializada possui além de suas próprias propriedades da ocorrência da entidade
genérica correspondente. Assim, segundo o DER acima a entidade PESSOA FÍSICA
possui, além dos seus atributos particulares, CPF e sexo, também todas as propriedades
da ocorrência da entidade CLIENTE correspondente, ou seja, os atributos nome e código,
o seu identificador, bem como o relacionamento com a entidade FILIAL.
4.5.1- GENERALIZAÇÃO/ESPECIALIZAÇÃO TOTAL OU
PARCIAL
A generalização/especialização pode ser classificada em dois tipos, total ou
parcial, de acordo com a obrigatoriedade ou não de a cada ocorrência da entidade
genérica corresponder uma ocorrência da entidade especializada.
Filial
Em uma generalização/especialização parcial, nem toda ocorrência da entidade
genérica possui uma ocorrência correspondente em uma entidade especializada. Esse é
o caso do exemplo abaixo, no qual nem toda entidade FUNCIONÁRIO possui uma
entidade correspondente em uma das especializações (nem todo o funcionário é
motorista ou secretária). Este tipo de generalização/especialização é simbolizada por um
“p” conforme o exemplo. Usualmente, quando há uma especialização parcial, na
entidade genérica (no exemplo, FUNCIONÁRIO) aparece um atributo que identifica o tipo
de ocorrência da entidade genérica (no exemplo, trata-se de tipo de funcionário).
Página 35 de 38
______________________________________________________Modelagem de Dados 1
4.5.2- GENERALIZAÇÃO/ESPECIALIZAÇÃO
COMPARTILHADA OU EXCLUSIVA
Além da classificação em total e parcial, uma generalização também pode ser
classificada em compartilhada e exclusiva.
Generalização/especialização exclusiva significa que, em uma hierarquia de
generalização/especialização, uma ocorrência de entidade genérica é especializada no
máximo uma vez, nas folhas da árvore de generalização/especialização mostrados até
aqui. Exemplificando, no exemplo anterior, uma instância (ocorrência) de FUNCIONÁRIO
aparece uma vez somente nas entidades especializadas (MOTORISTA ou SECRETÁRIA), já
que um funcionário ou é motorista ou é secretária, mas não ambas as funções ao mesmo
tempo. Este tipo de generalização/especialização é chamada de “exclusiva” pela
execução mútua da aparição de uma ocorrência de FUNCIONÁRIO nas entidades
MOTORISTA ou SECRETÁRIA.
Página 36 de 38
______________________________________________________Modelagem de Dados 1
Tipos de Generalizações/Especializações
Total (t) Parcial (p)
Exclusiva (x) xt xp
Compatilhada (c) ct cp
Página 37 de 38
______________________________________________________Modelagem de Dados 1
BIBLIOGRAFIA
Página 38 de 38