[BI] Tabela Fato x Tabela Dimensão
É um termo relativamente novo
Um DW(Data warehouse) geralmente é um componente central de uma infra-estrutura BI em uma organização, funciona como um repositório de armazenagem e análise de informações numéricas.
Após o entendimento de OLTP e OLAP (post anterior), vamos criar nosso ambiente DW utilizando a Modelagem Multidimensional. Na modelagem multidimensional temos 2 tipos principais de tabelas: Fato e Dimensão.
Em um Data warehouse, uma tabela que armazena os valores detalhados de medidas, ou fatos, é denominada de tabela de fatos. Por exemplo, uma tabela que armazene Quantidade, Valor Total e Produto, conforme abaixo:
O exemplo anterior ilustra o layout conceitual de uma tabela de fatos. Na verdade, uma tabela de fatos quase sempre usa uma chave do tipo inteiro para cada membro, em vez de um nome descritivo. O uso de uma chave do tipo inteiro pode reduzir substancialmente o tamanho da tabela de fatos. O leiaute real de uma tabela de fatos poderia ser mais parecido com a tabela abaixo:
<img src="http://www.ecode10.com/artigos/Post07%20-%20Resultado2.JPG">
Você normalmente terá uma tabela de dimensão para cada dimensão representada em uma tabela de fatos.
TABELA DIMENSÃO
Uma tabela de dimensão contém o nome específico de cada membro da dimensão. O nome membro da dimensão é denominado Atributo
<img src="http://www.ecode10.com/artigos/Post07%20-%20Resultado3.JPG">
Em um data warehouse, o atributo-chave em uma dimensão deve conter um valor exclusivo para cada membro da dimensão. Em termos de banco de dados relacional, este atributo-chave é denominado chave primária.
Além de tornar a tabela de fatos menor, mover informações sobre dimensão para uma tabela separada tem uma vantagem adicional: você pode adicionar novas informações sobre cada membro da dimensão. Por exemplo Categoria, veja abaixo:
<img src="http://www.ecode10.com/artigos/Post07%20-%20Resultado4.JPG">
Categoria agora é um atributo adicional da dimensão Produto. Se souber o ProdutoID, você poderá determinar não apenas NomeProduto, mas também a Categoria.
Related articles
How to call a function inside my SQL Server?
Database function function and function
How to create an SQL to do multiple inserts in one statement?
Practical examples
Short: SQL Update using begin try and begin transaction
Commit and Rollback command
Getting the last 120 months of data from my database
how to do it in SQL language?
How to create a variable to use the IN clause SELECT query SQL?
Database code part
SQL Update using Try Catch
Na prática com exemplo real
Comando SQL Update usando Try Catch
Na prática e no database
SELECT Format Date Time for many countries
It is a good tip to use day by day
Creating a SiteMap using SQL Database
Como indexar melhor meu site e links?
Transformando linhas em colunas usando SQL Server
veja como funciona
Ozimar Henrique