L'attribution des clés de substitution pour une table de faits exige-t-elle que les données source ont des clés naturelles?

dba.stackexchange https://dba.stackexchange.com/questions/23365

Question

Disons que j'ai une base de données OLTP simple avec des commandes, des produits et des clients:

enter image description here

Et à partir de celui-ci, je construis un Data Mart avec un tableau de faits, une dimension du produit, une dimension du client et une dimension de date:

enter image description here

Lors du chargement de la table des commandes dans fact_orders (disons que j'utilisais une transformation de recherche SSIS pour attribuer les clés de substitution), cela signifie que la source de données pour les ordres devrait également avoir les valeurs naturelles de "clé étrangère" qui étaient associées avec l'ordre dans le système OLTP?

En d'autres termes, les données qui sont chargées proviendraient-elles d'une question comme celle-ci?

SELECT 
  order_date,                   -- needed to get date surrogate key
  customer_name,                -- needed to get customer surrogate key
  product_name,                 -- needed to get product surrogate key
  order_number,                 -- denegenerate dimension,
  qty_ordered AS order_qty,     -- measure
  total_amount AS order_amount  -- measure
FROM orders o 
  INNER JOIN customers c 
    ON o.customer_id = c.customer_id
  INNER JOIN products p 
    ON o.product_id = p.product_id 

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à dba.stackexchange
scroll top