Vamos analisar: o gerente quer poder avaliar os dados históricos de vendas, por código ou nome de produto, por mês/ano, por loja e por cidade. Ele traz outra informação importante: há várias lojas em uma mesma cidade; das cidades é registrado apenas o seu nome; é necessário registrar
em que cidade está cada loja.
Como ele quer avaliar as vendas por produto, mês/ano, loja e cidade, já podemos identificar as dimensões: Produto, Tempo e Loja... Note que é necessário registrar em que cidade está cada loja, portanto cidade é um atributo da tabela loja.
Note que a dimensão produto irá ter seus atributos (nome, descrição, categoria....). Como sempre temos a dimensão temporal, essa possui seus atributos (diário, semanal, mensal....). Agora vem o "pulo do gato" : Se formos criar uma dimensão_loja, se existem várias lojas em uma cidade, como posso identificá-la? Logicamente, com seus atributos! E quais são? Bom, a loja é singularizada por sua localização. Por exemplo : Cacau Show de São Paulo. Pois é essa seu atributo.
Observe que o fato vendas vai ter FK - Código_do_Produto / FK - Período / FK - Loja / Quantidade vendida.
Agora vamos para a informação dada pela questão que a mata : O esquema é estrela, ou seja, não há tabelas dimensão para tabelas dimensão (hierarquizadas). Portanto, se fôssemos criar uma no estilo Floco de Neve, que é normalizada, criaríamos uma outra tabela "Dimensão_cidade" depois referenciaríamos a tabela com uma FK na dimensão_loja.
No caso, a dimensão_loja vai ser : Nome da loja / FK - Localização (PK da tabela dimensão_cidade).
Algum erro, por favor, avisem.
O esquema estrela é um jeito de representar a modelagem dimensional em um SGBD relacional, com o uso de tabelas. Nele, nós representamos os eventos registrados em uma tabela fato, e as características que irão descrever esse evento em tabelas de dimensão. No caso descrito, é fácil perceber que irão existir a tabela fato vendas e suas dimensões produto, tempo e loja.
As cidades são caracterizadas apenas pelo seu nome e servem apenas para identificar o local em que cada loja está localizada. Como na modelagem dimensional organizamos todas as informações associadas a um mesmo conceito em uma mesma tabela, em uma abordagem desnormalizada, o atributo cidade pode ficar dentro da dimensão loja!