none
MODELAGEM DW - DIM X FATO RRS feed

  • Pergunta

  • Prezados, Boa noite

    Preciso de uma ajuda na modelagem de DW, com a seguinte situação (Receita x Despesa) de veículos.

    Segue as dimensões exemplo criado:

    create table tbd_dim_tempo(id_tempo int IDENTITY(1,1) not null,

                                                         ano int not null,

                                                         mes int not null,

                                                         dia int not null,

                                                         data varchar(10));

    create table tbd_dim_veiculo(id_veiculo int IDENTITY(1,1) not null,

                                                          ds_veiculo varchar(50));

    create table tbd_dim_receita(id_codigo_rec int IDENTITY(1,1) not null,

                                                          ds_tipo char(1), --“R”

                                                          id_veiculo int not null,

                                                          id_tempo int not null,

                                                          ds_receita varchar(50),

                                                          vlr_receita numerc(12,2));      

    create table tbd_dim_despesa_1(id_codigo_des1 int IDENTITY(1,1) not null,

                                                              ds_tipo char(1), --“D”

                                                              id_veiculo int not null,

                                                              id_tempo int not null,

                                                              x vachar(50),

                                                              y vachar(50),

                                                              z  vachar(50),

                                                              vlr_despesa numerc(12,2));      

    create table tbd_dim_despesa_2(id_codigo_des2 int IDENTITY(1,1) not null,

                                                              ds_tipo char(1), --“D”

                                                              id_veiculo int not null,

                                                              id_tempo int not null,

                                                              xs vachar(50),

                                                              ys vachar(50),

                                                              zs  vachar(50),

                                                              zsxx vachar(50),

                                                              vlr_despesa numerc(12,2));      

    create table tbd_dim_despesa_3(id_codigo_desp3 int IDENTITY(1,1) not null,

                                                              ds_tipo char(1), --“D”

                                                              id_veiculo int not null,

                                                              id_tempo int not null,

                                                              xs1 vachar(50),

                                                              ys11 vachar(50),

                                                              ys12 vachar(50),

                                                              ys13 vachar(50),

                                                              zs1  vachar(50),

                                                              vlr_despesa numerc(12,2));      

    Minha dúvida está na criação da tabela fato tbd_fat_movimento, e qual SQL usar para popular a fato.

    Pois como temos 3 tabelas distintas de despesa com campos variados, não posso fazer left join entre as tabelas, então imaginei a fazer union all entre 1,2,3, mas estou confuso se para caso da despesa devo usar union all juntamente com a receita?

     

    sexta-feira, 29 de maio de 2015 01:30

Respostas

  • LCAlvesP,

    Em relação a modelagem precisamos entender um pouco mais a sua dúvida.

    No caso do SQL Server, acredito que o mais indicado seja você trabalhar com as versões 2012 ou 2014, utilizando as edições Enterprise ou Business Inteligence, mas é claro que isso vai depender o que realmente você deseja fazer.


    Pedro Antonio Galvao Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]


    sábado, 30 de maio de 2015 23:46