Upload
wilda
View
25
Download
0
Embed Size (px)
DESCRIPTION
Modelo de Dados. Professores Edson E. Scalabrin Marcos A. H. Shmeil telefone: 0xx41-330-1786 e-mail: {scalabrin, shm}@ppgia.pucpr.br download : http://www.ppgia.pucpr.br/~{scalabrin, shm}. Modelo de Dados. Objetivo - PowerPoint PPT Presentation
Citation preview
1
Modelo de Dados ProfessoresProfessores Edson E.
ScalabrinMarcos A. H. Shmeil
telefone: 0xx41-330-1786e-mail: {scalabrin, shm}@ppgia.pucpr.br
download: http://www.ppgia.pucpr.br/~{scalabrin, shm}
2
Modelo de Dados
ObjetivoObjetivo• introduzir os principais introduzir os principais
conceitos do modelo de dados conceitos do modelo de dados relacional e dimensionalrelacional e dimensional
3
Modelo de Dados Sistemas Operacionais: Sistemas Operacionais: Geralmente implementados Geralmente implementados
através de banco de dados relacionais.através de banco de dados relacionais. Sistemas Analíticos: Sistemas Analíticos: Geralmente implementados através Geralmente implementados através
de um banco de dados dimensional.de um banco de dados dimensional.
SISTEMA OPERACIONAL SISTEMA ANALÍTICO
PROJETOTOP-DOWN
PROJETOBOTTOM-UP
4
Banco de DadosBanco de Dados
Modelo RelacionalModelo Relacional
5
Modelo RelacionalModelo Relacional
P00001 PALIO FIAT PASSEIO 12.000,00 18.000,00
P00002 K FORD PASSEIO 7.000,00 14.000,00
P00003 C10 FORD CARGA 18.000,00 27.000,00
Chave Produto Descrição Marca Categoria Preço Compra Preço VendaTABELA DE PRODUTO
L001 Av. Sete de Setembro, 2032 Só Passeio Ltda.
L002 Av. Visconde de Guarapuava, 4 Bom Negócio Ltda.
Chave Loja Endereço NomeTABELA DE LOJA
V00001 P00003 L001 1 0001 01/06/01
Chave Venda Chave Produto Chave Loja Quantidade Nota Fiscal DataTABELA DE VENDA
V00002 P00001 L002 1 0002 03/06/01
V00003 P00001 L002 1 0003 10/06/01
6
RelacionamentoRelacionamento No modelo relacional, as tabelas mantém um relacionamento entre
si. No exemplo abaixo, os registros da tabela venda se relacionam com os registros das tabelas loja e produto.
ba
23
4loja
venda No modelo relacional os dados do produto não
precisam ser duplicados para cada registro de venda.
Y
X
produto
1
7
Implementação Física do Implementação Física do RelacionamentoRelacionamento
P00001 PALIO FIAT PASSEIO 12.000,00 18.000,00
P00002 K FORD PASSEIO 7.000,00 14.000,00
P00003 C10 FORD CARGA 18.000,00 27.000,00
Chave Produto Descrição Marca Categoria Preço Compra Preço VendaTABELA DE PRODUTO
L001 Av. Sete de Setembro, 2032 Só Passeio Ltda.
L002 Av. Visconde de Guarapuava, 4 Bom Negócio Ltda.
Chave Loja Endereço NomeTABELA DE LOJA
V00001 P00003 L001 1 0001 01/06/01
Chave Venda Chave Produto Chave Loja Quantidade Nota Fiscal DataTABELA DE VENDA
V00002 P00001 L002 1 0002 03/06/01
V00003 P00001 L002 1 0003 10/06/01
Os relacionamentos são implementados fisicamente através do relacionamento das chaves primárias de cada tabela que compõe o relacionamento.
Chave Estrangeira
8
Formas NormaisFormas Normais Regras desenvolvidas para:Regras desenvolvidas para:
• Evitar inconsistências lógicas nas operações de atualização Evitar inconsistências lógicas nas operações de atualização das tabelas.das tabelas.
• Evitar redundância na organização das tabelas.Evitar redundância na organização das tabelas.
Primeira Forma Normal
SegundaForma Normal
TerceiraForma Normal
Diminui o desempenho
Aumenta as restrições
9
Primeira Forma Normal – Primeira Forma Normal – 1FN1FN
Definição: Definição: o domínio de todos os atributos das tabelas deve ser atômico (indivisível)• Cada coluna da tabela deve conter só um tipo de atributos
Id-pessoaId-pessoa nome contatoTabela Pessoa
Id-pessoaId-pessoa nome endereçoTabela Pessoa telefone
NãoSatisfaz1FN
Satisfaz 1FN
Brigadeiro [email protected]
10
Segunda Forma Normal – Segunda Forma Normal – 2FN2FN
Definição: cada tabela deve satisfazer a 1FN, cada registro deve ter uma chave primária e cada campo não chave deve depender totalmente da chave primária.
Id-pessoaId-pessoa nome endereço conta saldoNão Satisfaz 2FN
Satisfaz 2FN
agência endereço-agência
os campos dependem apenas de parte da chave primária, alguns apenas de conta outros apenas de id_pessoa
chave primária: id_pessoa, conta
conta saldo agência endereço-agência
Id-pessoaId-pessoa nome endereço contachave primária: id_pessoa
chave primária: conta
11
Terceira Forma Normal – Terceira Forma Normal – 3FN3FN
Definição: cada tabela deve satisfazer a 2FN e cada atributo não chave primária depende diretamente da chave primária.
Não Satisfaz 3FN
Satisfaz 3FN
endereço-agência
conta saldo agência endereço-agência
Id-pessoaId-pessoa nome endereço conta
o endereço da agência não depende da conta, mas da agência.
conta saldo agência
agência
12
IntegridadeIntegridade Devem ser observados dois tipos de integridade:Devem ser observados dois tipos de integridade:
• a) a) Integridade de Entidades (cada tabela deve ter (cada tabela deve ter exatamente uma chave primária)exatamente uma chave primária)
• b) b) Integridade Referencial (cada chave estrangeira deve (cada chave estrangeira deve ser consistente com sua chave primária correspondente)ser consistente com sua chave primária correspondente)
Id-pessoa nome endereço Id-empresa
Id-empresa nome-da-empresa endereço
Tabela Empresa
Tabela Pessoa
Chave estrangeiraChave
primária
13
Integridade ReferencialIntegridade Referencial.. O valor da chave estrangeira deve existir na tabela empresa ou
ser NULO. Quando um registro da tabela empresa for excluído, todas os
registros da tabela pessoa que façam referência a esse registro devem ter o valor da sua chave estrangeira alterado para NULO.
id-pessoa nome endereço id-empresa
id-empresa nome-da-empresa endereço
TABELA EMPRESA
TABELA PESSOA
1 Adão Paraíso 2
2 Só Maçã S/A. Botas Perdidas
2 Eva Paraíso 2
14
Características do Modelo Características do Modelo RelacionalRelacional
Reduz a redundância das informações armazenadas, diminuindo o Reduz a redundância das informações armazenadas, diminuindo o espaço total gasto para armazenar-las.espaço total gasto para armazenar-las.
Simplifica significativamente as operações de escrita, tanto na Simplifica significativamente as operações de escrita, tanto na inserção de novas informações quanto a alteração de informações inserção de novas informações quanto a alteração de informações existentes.existentes.
Complica as operações de leitura. Quanto mais normalizado for o Complica as operações de leitura. Quanto mais normalizado for o modelo do banco de dados operacional, mais lenta e trabalhosa será modelo do banco de dados operacional, mais lenta e trabalhosa será a operação de leitura.a operação de leitura.
1a FORMANORMAL
2a FORMANORMAL
3a FORMANORMAL
Redução no volume de dados e aumento
da consistência
Desempenho na leitura
15
Modelo Relacional: Modelo Relacional: ConclusõesConclusões
Operação: ESCRITA:Operação: ESCRITA: • Apenas um pequeno número de registros precisa ser alterado. Apenas um pequeno número de registros precisa ser alterado. • Por exemplo, para associar uma nova conta ao usuário os dados Por exemplo, para associar uma nova conta ao usuário os dados
do usuário não precisam ser recadastrados.do usuário não precisam ser recadastrados.Operação: LEITURA:Operação: LEITURA:
• Várias tabelas precisam ser associadas para obter a resposta. Várias tabelas precisam ser associadas para obter a resposta. • Por exemplo, para obter o faturamento total que uma loja obteve Por exemplo, para obter o faturamento total que uma loja obteve
com um dado produto, num dado período. com um dado produto, num dado período.
ESCRITA LEITURA
16
Banco de DadosBanco de Dados
Modelo DimensionalModelo Dimensional
17
Modelo DimensionalModelo Dimensional Considere a seguinte afirmativa.Considere a seguinte afirmativa.
• “Nós vendemos produtos em vários mercados, e nós medimos nosso desempenho ao longo do tempo”.
O modelo de dados mais adequado para representar diversas O modelo de dados mais adequado para representar diversas relações entre grandezas é o modelo dimensional.relações entre grandezas é o modelo dimensional.
TEMPO
MERCADO
PRODUTO
Cada ponto do cubo representa uma combinação de
Produto, Mercado e Tempo armazenado.
18
Modelo Dimensional:Modelo Dimensional:Esquema em EstrelaEsquema em Estrela O projeto de um banco de dados dimensional é do tipo O projeto de um banco de dados dimensional é do tipo top-downtop-down, isto é, ele é projetado a partir do tipo de , isto é, ele é projetado a partir do tipo de análise que se quer efetuar.análise que se quer efetuar.
Chave-tempodia-da-semanamêsquadrimestreanoflag-feriado
Chave-tempoChave-produtoChave-lojareais-faturadosunidades-vendidasreais-gastos
Chave-produtodescriçãomarcacategoria
Chave-lojanome-da-lojaendereçotipo-de-planta-da-loja
DIMENSÃO TEMPO
ANÁLISE DE VENDAS(TABELA DE FATOS)
DIMENSÃO PRODUTO
DIMENSÃO LOJA
19
Modelo Dimensional:Modelo Dimensional:Esquema em Floco de NeveEsquema em Floco de Neve
Chave-tempodia-da-semanamêsquadrimestreanoflag-feriado
Chave-tempoChave-produtoChave-lojareais-faturadosunidades-vendidasreais-gastos
Chave-produtodescriçãomarcaChave-categoria
Chave-lojanome-da-lojaendereçotipo_de_planta_da_loja
DIMENSÃO TEMPOANÁLISE DE VENDAS(TABELA DE FATOS)
DIMENSÃO PRODUTO
DIMENSÃO LOJAChave-categoriacategoria
20
Modelo Dimensional: Modelo Dimensional: ConclusõesConclusõesOperações:
• ESCRITA: Não pode ser utilizado, pois não guarda os registros na forma de unidades.
• LEITURA: Rápida, pois a consulta é feita basicamente em uma única tabela.
Características dos Bancos Analíticos:• A dimensão de tempo é definida de acordo com uma granularidade pré-
definida: dia, semana, mês. Ela não reflete o instante em que as operações individuais foram efetuadas.
• O projeto é top-down, isto é, a tabela central parte do objetivo final da análise.
• Não contém necessariamente todos os atributos relativos aos dados, apenas os que interessam para análise.
• Não é adequado para efetuar transações operacionais.