banco de dados multidimensionais modelando o cubo de dados (sql server 2008) banco de dados...

25
BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

Upload: internet

Post on 18-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

BANCO DE DADOS MULTIDIMENSIONAIS

MODELANDO O CUBO DE DADOS

(SQL SERVER 2008)

Banco de Dados Avançado - Prof.ª Valeria Times

Andresson Firmino

Page 2: BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times

Restaurando a Base de Dados Para criação do cubo precisamos de um base de dados

Restaura o arquivo PointFilmes.bak Para Restaurar a base, no SQL Server

Clique Direito em Databases, Restore DataBase.. Na seção Source for restore, escolha a opção From

Device e clique em (...) Clique em Add Especifique o Diretório e o nome do Arquivo OK, OK, Especifique o nome da Base e Marque Restore OK Clique Direito em SQl Server, Refresh

Base Restaurada

Page 3: BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times

Conhecendo a Base de Dados Esquema Relacional Observação

Para questão de desempenho, ideal seria que as chaves das tabelas Cliente e Funcionario fossem números e não strings, como CPF.

AluguelNum_Unidade_Filme

ID_Filme

CPF_Funcionario

CPF_Cliente

Data_Locacao

Data_Devolucao

Valor

Finalizado

CategoriaID_Categoria

Nome_Categoria

ClienteCPF_Cliente

Nome

Sexo

Data_Nascimento

Endereço

Telefone

RG

Ativo

FilmeID_Filme

Nome

Ano_Lancamento

Pais_Origem

Duracao

Sinopse

ID_Categoria

Locacoes_Sem_Sucesso

Filme_AtorID_Filme

Nome_Ator

Filme_LinguaID_Filme

Lingua

FuncionarioCPF_Funcionario

Nome

Sexo

Endereço

Telefone

Salario

Data_Contratacao

Tipo_Funcionario

Login

Senha

Ativo

Unidade_FilmeNum_Unidade_Filme

ID_Filme

Disponibilidade

Alugado

Page 4: BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times

Modelando Cubo de Dados

Page 5: BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times

Criando o Projeto

Abrir o SQL Server Business Intelligence Development Studio

Menu: File, New, Project Business Intelligence Project, Analysus

Services Project, Nome do Projeto, OK

Page 6: BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

Especificando a Base de Dados

Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times

Na pasta Data Sources, Clique Direito, New Data Source... Next, New Especifique o Provedor, o Servidor e a Base

de dados OK, Finish, Finish Base de Dados especificada.

Page 7: BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times

Definindo Tabelas e Relacionamento

Especificar as tabelas e relacionamentos para geração do Cubo.

Na pasta Data Source Views, Clique Direito, New Data Source Views... Next, Next, Next Especifique o nome da visão, Finish Visão dos dados criada.

Page 8: BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times

Definindo Tabelas e Relacionamentos

Modelar as tabelas de dimensão e fatos Na janela do Point Filmesview.dsv, Click

Direito, New Named Query.

Page 9: BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times

Definindo Tabelas e RelacionamentosDimensão Cliente

Atributos: CPF, Nome, Sexo, Idade SQL para selecionar esse atributos da tabela

Cliente da Base de Dados

Visualizando os dados Sobre a tabela DimCliente, Click Direito, Explorer Data

Definir Chave Primaria Sobre CPF_Cliente, Click Direito, Set Logical Primary

Key

SELECT CPF_Cliente, Nome, Sexo, DATEDIFF (YEAR, Data_Nascimento, GETDATE()) as IdadeFROM dbo.Cliente

Page 10: BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times

Definindo Tabelas e RelacionamentosDimensão Funcionário

Atributos: CPF, Nome, Sexo, Salário e Tempo de Contratação

SQL para selecionar esse atributos da tabela Funcionario da Base de Dados

Chave: CPF_Funcionario

SELECT CPF_Funcionario, Nome, Sexo, Salario,DATEDIFF (YEAR, Data_Contratacao, GETDATE()) as

TempoContratacaoFROM [PointFilmes].[dbo].[Funcionario]

Page 11: BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times

Definindo Tabelas e RelacionamentosDimensão Filme

Atributos: ID, Nome, Ano de Lançamento, País, Categoria

SQL para selecionar esse atributos da tabela Filme e Categoria da Base de Dados

Chave: ID_Filme

SELECT [ID_Filme], [Nome], [Ano_Lancamento], [Pais_Origem] ,(SELECT [Nome_Categoria] FROM [PointFilmes].[dbo].

[Categoria] WHERE [ID_Categoria] = F.[ID_Categoria] )as

Categoria FROM [PointFilmes].[dbo].[Filme] F

Page 12: BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times

Definindo Tabelas e RelacionamentosFatos

Atributos: ID da Unidade do Filme, ID do Filme, CPF Cliente, CPF Funcionário, Data Locação e Valor

SQL para selecionar esse atributos da tabela Aluguel da Base de Dados

Chave: Num_Unidade_Filme, CPF_Funcionario, CPF_Cliente, ID_Filme, Data_Locacao

SELECT [Num_Unidade_Filme], [ID_Filme],[CPF_Funcionario], [CPF_Cliente], [Data_Locacao], [Valor] FROM [PointFilmes].[dbo].[Aluguel] WHERE [Finalizado] = 1

Page 13: BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times

Definindo Tabelas e RelacionamentosDimensão Tempo

A base de dados não possui uma tabela de tempo.

Vamos criar a tabela de tempo, mas para isso precisamos criar a dimensão tempo.

Na pasta Dimensions, Click Direito, New Dimension. Next Generate Time Table in the data source,

Next Especifique o intervalo e os períodos de

análise, Next Next, Next, nome da dimensão, Finish

Page 14: BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times

Definindo Tabelas e RelacionamentosDimensão Tempo

Atualizando a base de dados.

Page 15: BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times

Definindo Tabelas e RelacionamentosDimensão Tempo

Especificando Relacionamentos Clique em uma das chaves da tabelas de

fatos. Arraste e solte na chave correspondente na

tabela de dimensão Ex: Clique em CPF_Cliente na tabelas de fatos e

solte em cima de CPF_Cliente da tabela DimCliente.

Relacionamento criado Faça para o demais.

Page 16: BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times

Criando o Cubo

Especificar as medidas e dimensões.

Page 17: BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times

Editando as Dimensões

Definir Relações entre os atributos das dimensões

Definir as Hierarquias Alterar Visibilidade dos Atributos

Page 18: BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times

Editando as DimensõesDimensão Cliente

Page 19: BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times

Editando as DimensõesDimensão Funcionário

Page 20: BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times

Editando as DimensõesDimensão Filme

Page 21: BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times

Processando o Cubo

Page 22: BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times

Consultando o Cubo de DadosRelembrando aula anterior

Abrir o Microsoft SQL Server Management Studio

Connect Explorer -> Analysis Service -> New Query

Page 23: BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times

Projeto Prático

Roteiro para desenvolvimento do Projeto BD MD Criar Minimundo e definir modelo ER Mapeamento do ER para o esquema estrela Definir o esquema do cubo a ser criado e

implementar o cubo no SQL Server Implementar consultas MDX usando os

operadores e funções OLAP vistos na aula Testar e colocar o sistema em funcionamento

para permitir a declaração das consultas e visualização dos resultados

Data da Entrega: 16 e 21/12/2010

Page 24: BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times

Projeto Prático

Roteiro para a nota máxima Descrição de minimundo, modelagem estrela e do cubo

Corretamente Implementar consultas MDX usando:

Sets,Tuples, vírgula (,) e dois pontos (:) Children, Descendants, FirstChild, Parent TopCount, TopPercent, TopSum DrilldownMember, DrilldownLevel Count, Max, Sum, Avg Crossjoint, NonEmptyCrossJoin, Non Empty CurrentMember, Members Hierarchize, Order, Rank Properties

Defesa do projeto com qualidade e segurança

Page 25: BANCO DE DADOS MULTIDIMENSIONAIS MODELANDO O CUBO DE DADOS (SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino

Cin/UFPE - Banco de Dados Avançado - Prof.ª Valéria Times

Dúvidas

?