Relações de dimensão
O uso de dimensões define as relações entre uma dimensão de cubo e os grupos de medidas em um cubo. Uma dimensão de cubo é uma instância de uma dimensão de banco de dados usada em um cubo específico. Um cubo pode ter, e freqüentemente tem, dimensões de cubo que não estão diretamente relacionadas ao grupo de medidas, mas que podem estar indiretamente relacionadas ao grupo de medidas por meio de outra dimensão ou grupo de medidas. Ao adicionar uma dimensão de banco de dados ou grupo de medidas a um cubo, o MicrosoftSQL ServerAnalysis Services tenta determinar o uso da dimensão pelo exame das relações entre as tabelas de dimensões e as tabelas de fatos na exibição de fonte do cubo e pelo exame das relações entre atributos em dimensões. O Analysis Services define automaticamente as configurações de uso da dimensão para as relações que podem ser detectadas.
Uma relação entre uma dimensão e um grupo de medidas consiste na dimensão e tabelas de fatos participantes da relação e um atributo de granularidade que especifica a granularidade da dimensão em um determinado grupo de medidas.
Relações regulares de dimensão
Uma relação regular de dimensão entre uma dimensão de cubo e um grupo de medidas existe quando a coluna de chave da dimensão está associada diretamente à tabela de fatos. Essa relação direta é com base em uma relação de chave estrangeira primária no banco de dados relacional subjacente, mas pode estar baseada também em uma relação lógica definida na exibição de fonte de dados. Uma relação de dimensão regular representa a relação entre tabelas de dimensão e uma tabela de fatos em um projeto de esquema em estrela tradicional. Para obter mais informações sobre as relações regulares, consulte Definindo uma relação regular e propriedades de relação regular.
Relações de dimensão de referência
Uma relação de dimensão de referência entre uma dimensão de cubo e um grupo de medidas existe quando a coluna de chave da dimensão está associada indiretamente à tabela de fatos por meio de uma chave em outras tabelas de dimensões, conforme mostrado na ilustração a seguir.
Uma relação de dimensão de referência representa a relação entre tabelas de dimensão e uma tabela de fatos em um projeto de esquema de floco de neve. Quando tabelas de dimensões estão conectadas em um esquema de floco de neve, você pode definir uma única dimensão usando colunas de várias tabelas ou pode definir dimensões separadas com base em tabelas de dimensões separadas e, então, definir um link entre elas usando a configuração de relação de dimensão de referência. A figura a seguir mostra uma tabela de fatos com nome VendasInternet e duas tabelas de dimensões chamadas Cliente e Geografia, em um esquema floco de neve.
Você pode criar uma dimensão com a tabela Cliente como a tabela de dimensões principal e a tabela Geografia incluída como uma tabela relacionada. Uma relação regular é, então, definida entre a dimensão e o grupo de medidas VendasInternet.
Como alternativa você pode criar duas dimensões relacionadas ao grupo de medidas VendasInternet: uma dimensão com base na tabela Cliente e uma dimensão com base na tabela Geografia. Você pode então relacionar a dimensão Geografia com o grupo de medidas VendasInternet, usando uma relação de dimensão de referência usando a dimensão Cliente. Nesse caso, quando os fatos no grupo de medidas VendasInternet forem dimensionados pela dimensão Geografia, os fatos serão dimensionados por cliente e por geografia. Se o cubo contiver um segundo grupo de medidas chamado Vendas do Revendedor, você não poderá dimensionar os fatos no grupo de medidas Vendas do Revendedor por Geografia, pois não há relação entre Vendas do Revendedor e Geografia.
Não há limite para o número de dimensões de referência que podem ser conectadas juntas, conforme mostrado na ilustração a seguir.
Para obter mais informações sobre as relações referenciadas, consulte Definindo uma relação referenciada e propriedades de relação referenciada.
Relações de dimensão de fato
Dimensões de fato, freqüentemente referenciadas como dimensões de degeneração, são dimensões padrão criadas a partir de colunas de atributo em tabelas de fatos, em vez serem criadas pelas colunas de atributo em tabelas de dimensões. Às vezes são armazenados dados dimensionais úteis em uma tabela de fatos para reduzir duplicação. Por exemplo, o diagrama a seguir exibe a tabela de fatos FactResellerSales, do banco de dados de exemplo Adventure Works DW.
A tabela contém informações de atributo não apenas para cada linha de um pedido emitido por um revendedor, mas o próprio pedido. Os atributos circulados no diagrama anterior identificam as informações na tabela FactResellerSales que podem ser usados como atributos em uma dimensão. Nesse caso, duas informações adicionais, o número de rastreamento da transportadora e o número da ordem de compra emitido pelo revendedor, conforme representado pelas colunas de atributo CarrierTrackingNumber e CustomerPONumber. Essas informações são interessantes — por exemplo, usuários podem estar interessados em visualizar informações agregadas, como o custo total do produto, para todos os pedidos sendo enviados sob um único número de rastreamento. Mas, sem dados de dimensão esses dois atributos não podem ser organizados ou ser agregados.
Na teoria, você pode criar uma tabela de dimensões que usa as mesmas informações de chave que a tabela FactResellerSales e mover as outras duas colunas de atributo, CarrierTrackingNumber e CustomerPONumber, para essa tabela de dimensões. Entretanto, você pode estar duplicando uma parte significativa dos dados e adicionando complexidade desnecessária para o data warehouse, para representar apenas dois atributos como uma dimensão separada.
Observação |
---|
As dimensões de fato são, freqüentemente, usadas para oferecer suporte a ações de análise. Para obter mais informações sobre ações, consulte Ações (Analysis Services – Dados Multidimensionais). |
Observação |
---|
As dimensões de fato devem ser atualizadas incrementalmente após cada atualização do grupo de medidas referenciada pela relação de fato. Se a dimensão de fato for uma dimensão ROLAP, o mecanismo de processamento do Analysis Services descartará qualquer cache e processará incrementalmente o grupo de medidas. |
Para obter mais informações sobre as relações de fato, consulte Definindo uma relação de fato e propriedades de relação de fato.
Relações de dimensão muitos para muitos
Na maioria das dimensões, cada fato é associado a um e apenas um membro de dimensão e um simples membro de dimensão pode ser associado a vários fatos. Na terminologia de banco de dados relacional, isso é referenciado como uma relação de um para muitos. Porém, é freqüentemente útil associar um único fato a vários membros de dimensão. Por exemplo, um cliente de um banco pode ter várias contas (corrente, poupança, cartão de crédito e investimentos) e uma conta também pode ter titulares conjuntos ou vários titulares. A dimensão Cliente criada a partir dessas relações pode ter então vários membros relacionados a uma única transação de conta.
O SQL ServerAnalysis Services permite definir uma relação muitos para muitos entre uma dimensão e uma tabela de fatos.
Observação |
---|
Para oferecer suporte a uma relação de dimensão muitos para muitos, a exibição da fonte de dados deve ter uma relação de chave estrangeira definida entre todas as tabelas envolvidas, conforme mostrado no diagrama anterior. Caso contrário, não será possível selecionar o grupo de medidas intermediário correto ao definir a relação na guia Uso da Dimensão do Designer de Dimensão. |
Para obter mais informações sobre as relações muitos para muitos, consulte Definindo uma relação muitos para muitos e propriedades da relação muitos para muitos.
Consulte também