offdataai
Manufacturing & Industrial · data model template

Mining EDW data model

Data Vault 2.0 raw vault for mining: hubs (mine_site/equipment/material/shipment/operator), links (site-equipment, site-material, production, material-shipment), and satellites (site, equipment, material grade, shipment, operator details + an equipment-status effectivity satellite). Hash keys and load metadata are generated by the DDL layer.

Mining enterprise data warehouse modeled as a Data Vault 2.0 raw vault: mine-site, equipment, material, shipment, and operator hubs; site-equipment / site-material links; a non-historized production link carrying tonnes and ore grade; a material-shipment link; and descriptive, grade, and effectivity satellites — built to integrate fleet management, LIMS, dispatch, and logistics with full historization for grade reconciliation, royalty, and ESG reporting. It is a Data Vault 2.0 raw vault: hubs for business keys, links for relationships and satellites for descriptive history, with hash keys and hash diffs generated in the DDL.

Data Vault 2.0Manufacturing & IndustrialSOXISO-14001GISTM
15
tables
97
columns
15
relationships
3
PII columns

Opening the template creates a project with the ERD, platform-native DDL, a dbt project and documentation already generated (recommended platform: Snowflake). Edit it in plain English or on the canvas, then ship it to any supported warehouse.

Subject areas

hubslinkssatellites

Design decisions

  • Hubs isolate mining business keys

    Sites, equipment, material, and shipments are mastered in separate fleet, LIMS, and logistics systems; isolating their keys in hubs lets each feed land independently and supports the frequent equipment re-deployment typical across mine sites.

  • Non-historized production link

    Production events (tonnes mined, grade) are immutable measurements, so the production link is insert-only and carries tonnage and grade directly with no satellite — keeping high-frequency dispatch data cheap to load.

  • Grade isolated from material master

    Assay grade arrives from the lab on a different cadence and source than material master data; a separate satellite lets grade revisions and re-assays historize independently for reconciliation.

  • Effectivity satellite on equipment status

    Haul trucks and excavators move between available / in-use / maintenance states constantly; an effectivity satellite records the valid period of each status for as-of utilization and availability KPIs.

  • Auditability drives Data Vault in mining

    Load_date + record_source on every row give queryable lineage for grade-reconciliation audits, royalty calculations, and GISTM / ISO-14001 ESG reporting without scraping dispatch logs.

Tables in the Mining EDW model

Every table with its grain, columns, types and keys. PK marks a primary key, BK a business key and PII a column classified as personal data, which gets a masking strategy by default.

Hubs (5)

hub_mine_site

Grain: one row per unique hub_mine_site business key

ColumnTypeKeys
site_codevarcharBK
load_datetimestamp
record_sourcevarchar

hub_equipment

Grain: one row per unique hub_equipment business key

ColumnTypeKeys
equipment_idvarcharBK
load_datetimestamp
record_sourcevarchar

hub_material

Grain: one row per unique hub_material business key

ColumnTypeKeys
material_codevarcharBK
load_datetimestamp
record_sourcevarchar

hub_shipment

Grain: one row per unique hub_shipment business key

ColumnTypeKeys
shipment_numbervarcharBK
load_datetimestamp
record_sourcevarchar

hub_operator

Grain: one row per unique hub_operator business key

ColumnTypeKeys
operator_idvarcharBK
load_datetimestamp
record_sourcevarchar

Links (4)

lnk_site_equipment

Grain: one row per lnk_site_equipment relationship

Which equipment is assigned to which mine site.

ColumnTypeKeys
mine_site_hkbinary
equipment_hkbinary
load_datetimestamp
record_sourcevarchar

lnk_site_material

Grain: one row per lnk_site_material relationship

Which material is mined at which site.

ColumnTypeKeys
mine_site_hkbinary
material_hkbinary
load_datetimestamp
record_sourcevarchar

lnk_production

Grain: one row per production event (non-historized link)

Transactional (non-historized) link — insert-only production tonnage and grade.

ColumnTypeKeys
mine_site_hkbinary
material_hkbinary
production_idvarcharBK
production_tstimestamp
equipment_hkbinary
tonnesdecimal
ore_gradedecimal
strip_ratiodecimal
load_datetimestamp
record_sourcevarchar

lnk_material_shipment

Grain: one row per lnk_material_shipment relationship

Which material is loaded onto which shipment.

ColumnTypeKeys
material_hkbinary
shipment_hkbinary
load_datetimestamp
record_sourcevarchar

Satellites (6)

sat_site_details

Grain: one row per mine_site_hk per change

Mine-site descriptive history.

ColumnTypeKeys
mine_site_hkbinaryPK
load_datetimestampPK
site_namevarchar
mine_typevarchar
commodityvarchar
countryvarchar
latitudedecimal
longitudedecimal
permit_numbervarchar
load_end_datetimestamp
record_sourcevarchar

sat_equipment_details

Grain: one row per equipment_hk per change

Equipment descriptive history.

ColumnTypeKeys
equipment_hkbinaryPK
load_datetimestampPK
equipment_namevarchar
equipment_typevarchar
manufacturervarchar
modelvarchar
rated_payload_tonnesdecimal
commission_datedate
load_end_datetimestamp
record_sourcevarchar

sat_material_grade

Grain: one row per material_hk per change

Material grade / assay descriptive history.

ColumnTypeKeys
material_hkbinaryPK
load_datetimestampPK
material_namevarchar
commodityvarchar
head_gradedecimal
moisture_pctdecimal
contaminant_pctdecimal
assay_methodvarchar
load_end_datetimestamp
record_sourcevarchar

sat_shipment_details

Grain: one row per shipment_hk per change

Shipment descriptive history.

ColumnTypeKeys
shipment_hkbinaryPK
load_datetimestampPK
carriervarchar
transport_modevarchar
destination_portvarchar
net_tonnesdecimal
freight_costdecimal
dispatch_datedate
load_end_datetimestamp
record_sourcevarchar

sat_operator_details

Grain: one row per operator_hk per change

Operator descriptive history (PII).

ColumnTypeKeys
operator_hkbinaryPK
load_datetimestampPK
operator_namevarcharPII
employee_numbervarcharPII
crewvarchar
certification_levelvarchar
contact_emailvarcharPII
load_end_datetimestamp
record_sourcevarchar

sat_equipment_status

Grain: one row per equipment per status effectivity change

Effectivity satellite tracking the valid period of each equipment status.

ColumnTypeKeys
equipment_hkbinaryPK
load_datetimestampPK
operational_statusvarchar
location_zonevarchar
engine_hoursdecimal
effective_fromtimestamp
effective_totimestamp
is_activeboolean
load_end_datetimestamp
record_sourcevarchar

Relationships

Each relationship is a foreign key on the first table referencing the second.

  • lnk_site_equipment.mine_site_hk → hub_mine_site (many-to-one)
  • lnk_site_equipment.equipment_hk → hub_equipment (many-to-one)
  • lnk_site_material.mine_site_hk → hub_mine_site (many-to-one)
  • lnk_site_material.material_hk → hub_material (many-to-one)
  • lnk_production.mine_site_hk → hub_mine_site (many-to-one)
  • lnk_production.material_hk → hub_material (many-to-one)
  • lnk_production.equipment_hk → hub_equipment (many-to-one)
  • lnk_material_shipment.material_hk → hub_material (many-to-one)
  • lnk_material_shipment.shipment_hk → hub_shipment (many-to-one)
  • sat_site_details.mine_site_hk → hub_mine_site (many-to-one)
  • sat_equipment_details.equipment_hk → hub_equipment (many-to-one)
  • sat_material_grade.material_hk → hub_material (many-to-one)
  • sat_shipment_details.shipment_hk → hub_shipment (many-to-one)
  • sat_operator_details.operator_hk → hub_operator (many-to-one)
  • sat_equipment_status.equipment_hk → hub_equipment (many-to-one)

Related templates

All templates →
Start for $1

From requirements to AI-ready context, in one platform.

Describe your business in a conversation, start from a template or connect your own database. Your first model is ready in minutes.

Get startedBook a demo

Plans from $1/month · cancel any time