-- --------------------------------------------------------------------------- -- -------------------------------------- ====== === === ------------- -- Um caso de estudo. ------------------- == == == = == ------------- -- Um Data Warehouse para a Northwind. -- == == == === == ------------- -- -------------------------------------- ====== === === ------------- -- Criao das tabelas de auditoria das dimenses e das tabelas de factos -- no sistema operacional e na rea de reteno. -- -- Tabela de auditoria para a dimenso "Dim_Cliente" -- CREATE TABLE Northwind.audDim_Cliente ( Id CHAR(10) NULL, Designacao VARCHAR2(75) NULL, Telefone VARCHAR2(25) NULL, Cidade VARCHAR2(75) NULL, Pais VARCHAR2(75) NULL, EtiquetaTmp date DEFAULT sysdate, Operacao CHAR(1) NULL ); CREATE TABLE NorthwindAR.audDim_Cliente ( Id CHAR(10) NULL, Designacao VARCHAR2(75) NULL, Telefone VARCHAR2(25) NULL, Cidade VARCHAR2(75) NULL, Pais VARCHAR2(75) NULL, EtiquetaTmp DATE DEFAULT sysdate, Operacao CHAR(1) NULL ); -- Tabela de auditoria para a dimenso "Dim_Funcionario" -- CREATE TABLE Northwind.audDim_Funcionario( Id number(1) NOT NULL, Nome VARCHAR2(75) NULL, Endereco VARCHAR2(150) NULL, Cidade VARCHAR2(75) NULL, Regiao VARCHAR2(75) NULL, Pais VARCHAR2(75) NULL, EtiquetaTmp date DEFAULT sysdate, Operacao CHAR(1) NULL ); CREATE TABLE NorthwindAR.audDim_Funcionario( Id number(1) NOT NULL, Nome VARCHAR2(75) NULL, Endereco VARCHAR2(150) NULL, Cidade VARCHAR2(75) NULL, Regiao VARCHAR2(75) NULL, Pais VARCHAR2(75) NULL, EtiquetaTmp date DEFAULT sysdate, Operacao CHAR(1) NULL ); -- Tabela de auditoria para a dimenso "Dim_Categoria" -- CREATE TABLE Northwind.audDim_Categoria( Id number(1) NULL, Designacao VARCHAR2(75) NULL, EtiquetaTmp date DEFAULT sysdate, Operacao CHAR(1) NULL ); CREATE TABLE NorthwindAR.audDim_Categoria( Id number(1) NULL, Designacao VARCHAR2(75) NULL, EtiquetaTmp date DEFAULT sysdate, Operacao CHAR(1) NULL ); -- Tabela de auditoria para a dimenso "Dim_Produto" -- CREATE TABLE Northwind.audDim_Produto( Id number NULL, Designacao VARCHAR(75) NULL, Categoria number(1) NULL, EtiquetaTmp date DEFAULT sysdate, Operacao CHAR(1) NULL ); CREATE TABLE NorthwindAR.audDim_Produto( Id number NULL, Designacao VARCHAR(75) NULL, Categoria number(1) NULL, EtiquetaTmp date DEFAULT sysdate, Operacao CHAR(1) NULL ); -- Criao das tabelas de auditoria das tabelas de factos no sistema operacional -- e na rea de reteno. -- -- Tabela de auditoria para a tabela de factos "TF_Encomendas" -- CREATE TABLE Northwind.audTF_Encomendas( Fonte number(1) NULL, Encomenda number NULL, DataEncomenda DATE NULL, Funcionario number(1) NULL, Cliente CHAR(10) NULL, Produto number NULL, Quantidade NUMERIC(18, 2) NULL, Preco NUMERIC(18, 0) NULL, ValorTotal NUMERIC(18, 2) NULL, ValorDesconto NUMERIC(18, 2) NULL, ValorTotalComDesconto NUMERIC(18, 2) NULL, EtiquetaTmp date DEFAULT sysdate ); CREATE TABLE NorthwindAR.audTF_Encomendas( Fonte number(1) NULL, Encomenda number NULL, DataEncomenda DATE NULL, Funcionario number(1) NULL, Cliente CHAR(10) NULL, Produto number NULL, Quantidade NUMERIC(18, 2) NULL, Preco NUMERIC(18, 2) NULL, ValorTotal NUMERIC(18, 2) NULL, ValorDesconto NUMERIC(18, 2) NULL, ValorTotalComDesconto NUMERIC(18, 2) NULL, EtiquetaTmp date DEFAULT sysdate ); -- Tabela de auditoria para a tabela de factos "TF_QualidadeServico" -- CREATE TABLE Northwind.audTF_QualidadeServico( Encomenda number NULL, DataEncomenda DATE NULL, DataParaEntregar DATE NULL, DataDespacho DATE NULL, Funcionario number(1) NULL, Cliente CHAR(10) NULL, DiasAtePedidoEntrega number NULL, DiasAteDespacho number NULL, IndiceRelacao number NULL, EtiquetaTmp date DEFAULT sysdate ); CREATE TABLE NorthwindAR.audTF_QualidadeServico( Encomenda number NULL, DataEncomenda DATE NULL, DataParaEntregar DATE NULL, DataDespacho DATE NULL, Funcionario number(1) NULL, Cliente CHAR(10) NULL, DiasAtePedidoEntrega number NULL, DiasAteDespacho number NULL, IndiceRelacao number NULL, EtiquetaTmp date DEFAULT sysdate ); -- Tabelas auxiliares -- -- LOG de erros -- CREATE TABLE NorthwindAR.logETLErros( DataHoraRef DATE DEFAULT sysdate, Objeto VARCHAR2(50) NULL, Mensagem VARCHAR2(50) NULL); -- Jornal do Sistema -- CREATE TABLE NorthwindAR.logETLJornal( DataHoraRef DATE DEFAULT sysdate, Objeto VARCHAR2(50) NULL, Mensagem VARCHAR2(50) NULL); -- Tabelas de Quarentena -- CREATE TABLE NorthwindAR.quaDim_Cliente( DataHoraRef DATE DEFAULT sysdate, Id CHAR(10) NULL, Designacao VARCHAR2(75) NULL, Telefone VARCHAR2(25) NULL, Cidade VARCHAR2(75) NULL, Pais VARCHAR2(75) NULL, EtiquetaTmp DATE DEFAULT sysdate, Operacao CHAR(1) NULL, Motivo VARCHAR2(150)); ) -- Observaes: -- -- (1) As tabelas "Dim_Calendario" e "Dim_Fonte no tm tabelas de auditoria. -- Estes objetos so povoados diretamente, com instrues SQL no package de -- instalao - 1o povoamento. -- ---------------------------------------------------------------------------