200 likes | 278 Views
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
E N D
Modelo de Dados Professores Edson E. ScalabrinMarcos A. H. Shmeiltelefone: 0xx41-330-1786e-mail: {scalabrin, shm}@ppgia.pucpr.brdownload: http://www.ppgia.pucpr.br/~{scalabrin, shm}
Modelo de Dados • Objetivo • introduzir os principais conceitos do modelo de dados relacional e dimensional
Modelo de Dados • Sistemas Operacionais: Geralmente implementados através de banco de dados relacionais. • Sistemas Analíticos: Geralmente implementados através de um banco de dados dimensional. SISTEMA OPERACIONAL SISTEMA ANALÍTICO PROJETOBOTTOM-UP PROJETOTOP-DOWN
Banco de Dados • Modelo Relacional
TABELA DE PRODUTO Chave Produto Descrição Marca Preço Compra Preço Venda Categoria 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 TABELA DE LOJA Chave Loja Endereço Nome L001 Av. Sete de Setembro, 2032 Só Passeio Ltda. L002 Av. Visconde de Guarapuava, 4 Bom Negócio Ltda. TABELA DE VENDA Chave Venda Chave Produto Chave Loja Nota Fiscal Data Quantidade V00001 P00003 L001 1 0001 01/06/01 V00002 P00001 L002 1 0002 03/06/01 V00003 P00001 L002 1 0003 10/06/01 Modelo Relacional
venda No modelo relacional os dados do produto não precisam ser duplicados para cada registro de venda. 1 2 3 produto 4 loja X a b Y Relacionamento • 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.
TABELA DE PRODUTO Chave Produto Descrição Marca Preço Compra Preço Venda Categoria P00001 PALIO FIAT PASSEIO 12.000,00 18.000,00 P00002 K FORD PASSEIO 7.000,00 14.000,00 Chave Estrangeira P00003 C10 FORD CARGA 18.000,00 27.000,00 TABELA DE LOJA Chave Loja Endereço Nome L001 Av. Sete de Setembro, 2032 Só Passeio Ltda. L002 Av. Visconde de Guarapuava, 4 Bom Negócio Ltda. TABELA DE VENDA Chave Venda Chave Produto Chave Loja Nota Fiscal Data Quantidade V00001 P00003 L001 1 0001 01/06/01 V00002 P00001 L002 1 0002 03/06/01 V00003 P00001 L002 1 0003 10/06/01 Implementação Física do Relacionamento Os relacionamentos são implementados fisicamente através do relacionamento das chaves primárias de cada tabela que compõe o relacionamento.
Primeira Forma Normal Segunda Forma Normal Terceira Forma Normal Aumenta as restrições Diminui o desempenho Formas Normais • Regras desenvolvidas para: • Evitar inconsistências lógicas nas operações de atualização das tabelas. • Evitar redundância na organização das tabelas.
NãoSatisfaz 1FN Tabela Pessoa Id-pessoa nome contato Brigadeiro Franco 233-3932 paulo@hotmail.com Satisfaz 1FN Tabela Pessoa Id-pessoa nome endereço telefone email Primeira Forma Normal – 1FN • 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
Não Satisfaz 2FN chave primária: id_pessoa, conta Id-pessoa nome endereço conta endereço-agência saldo agência os campos dependem apenas de parte da chave primária, alguns apenas de conta outros apenas de id_pessoa Satisfaz 2FN chave primária: id_pessoa Id-pessoa nome endereço conta chave primária: conta conta saldo agência endereço-agência Segunda Forma Normal – 2FN • 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.
o endereço da agência não depende da conta, mas da agência. Id-pessoa nome endereço conta conta saldo agência endereço-agência Não Satisfaz 3FN conta saldo agência Satisfaz 3FN agência endereço-agência Terceira Forma Normal – 3FN • Definição: cada tabela deve satisfazer a 2FN e cada atributo não chave primária depende diretamente da chave primária.
Chave estrangeira Chave primária Tabela Pessoa Id-pessoa nome endereço Id-empresa Tabela Empresa Id-empresa nome-da-empresa endereço Integridade • Devem ser observados dois tipos de integridade: • a) Integridade de Entidades(cada tabela deve ter exatamente uma chave primária) • b) Integridade Referencial(cada chave estrangeira deve ser consistente com sua chave primária correspondente)
Integridade 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. TABELAPESSOA id-pessoa nome endereço id-empresa 1 Adão Paraíso 2 2 Eva Paraíso 2 TABELA EMPRESA id-empresa nome-da-empresa endereço Só Maçã S/A. Botas Perdidas 2
3a FORMA NORMAL 1a FORMA NORMAL 2a FORMA NORMAL Redução no volume de dados e aumento da consistência Desempenho na leitura Características do Modelo Relacional • Reduz a redundância das informações armazenadas, diminuindo o espaço total gasto para armazenar-las. • Simplifica significativamente as operações de escrita, tanto na inserção de novas informações quanto a alteração de informações existentes. • Complica as operações de leitura. Quanto mais normalizado for o modelo do banco de dados operacional, mais lenta e trabalhosa será a operação de leitura.
LEITURA ESCRITA Modelo Relacional: Conclusões • Operação: ESCRITA: • Apenas um pequeno número de registros precisa ser alterado. • Por exemplo, para associar uma nova conta ao usuário os dados do usuário não precisam ser recadastrados. • Operação: LEITURA: • Várias tabelas precisam ser associadas para obter a resposta. • Por exemplo, para obter o faturamento total que uma loja obteve com um dado produto, num dado período.
Banco de Dados • Modelo Dimensional
TEMPO Cada ponto do cubo representa uma combinação de Produto, Mercado e Tempo armazenado. MERCADO PRODUTO Modelo Dimensional • 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 relações entre grandezas é o modelo dimensional.
DIMENSÃO PRODUTO ANÁLISE DE VENDAS (TABELA DE FATOS) Chave-produto descrição marca categoria Chave-tempo Chave-produto Chave-loja reais-faturados unidades-vendidas reais-gastos DIMENSÃO TEMPO Chave-tempo dia-da-semana mês quadrimestre ano flag-feriado DIMENSÃO LOJA Chave-loja nome-da-loja endereço tipo-de-planta-da-loja Modelo Dimensional:Esquema em Estrela • O projeto de um banco de dados dimensional é do tipo top-down, isto é, ele é projetado a partir do tipo de análise que se quer efetuar.
Modelo Dimensional:Esquema em Floco de Neve DIMENSÃO PRODUTO ANÁLISE DE VENDAS (TABELA DE FATOS) DIMENSÃO TEMPO Chave-tempo Chave-produto Chave-loja reais-faturados unidades-vendidas reais-gastos Chave-tempo dia-da-semana mês quadrimestre ano flag-feriado Chave-produto descrição marca Chave-categoria DIMENSÃO LOJA Chave-categoria categoria Chave-loja nome-da-loja endereço tipo_de_planta_da_loja
Modelo Dimensional: Conclusões Operaçõ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.