L'assegnazione chiave surrogata per una tabella di fatti richiede che i dati di origine abbiano chiavi naturali?

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

Domanda

Diciamo che ho un semplice database OLTP con ordini, prodotti e clienti:

enter image description here

E da esso, sto costruendo un data mart con una tabella dei fatti degli ordini, dimensione del prodotto, dimensione del cliente e dimensione della data:

enter image description here

Quando si carica la tabella degli ordini in fact_orders (supponiamo che stavo usando una trasformazione di ricerca SSIS per assegnare le chiavi surrogate), ciò significa che la fonte di dati per gli ordini avrebbe anche bisogno di avere i valori naturali di "chiave estera" che erano associati Con l'ordine nel sistema OLTP?

In altre parole, i dati che vengono caricati provengono da una domanda come questa?

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 

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a dba.stackexchange
scroll top