SQL Dojo Bêta
Modélisation

Staging, intermédiaire, marts

Chaque définition vit dans une couche : noms et types au staging, logique partagée dans les modèles intermédiaires, entités métier dans les marts.

Staging : un modèle par table source, renommé (<entité>_id, le même nom partout), typé, converti ; pas de jointure. Seul le staging lit les sources. Intermédiaire : jointures, changements de grain, logique que plusieurs marts partagent, écrite une fois. Marts : entités et événements à un grain clair, un par concept, partagés par toutes les équipes, avec un contrat quand d'autres en dépendent.

-- A staging select: one source table, renamed, typed, converted; no join.
WITH raw_orders("ordId", "AMOUNT_CENTS", "State") AS (VALUES
  ('17', 4290, ' Paid'), ('18', 1850, 'cancelled '), ('19', 960, 'PAID'))
SELECT CAST("ordId" AS INTEGER) AS order_id,
       CAST("AMOUNT_CENTS" * 0.01 AS DECIMAL(10,2)) AS amount,
       lower(trim("State")) AS status
FROM raw_orders
ORDER BY order_id;
order_idamountstatus
1742.90paid
1818.50cancelled
199.60paid
L’essayer en Randori