<?xml version='1.0' encoding='utf-8'?>
<mxfile host="app.diagrams.net">
  <diagram id="architecting-scd-type1-type2-article" name="Article">
    <mxGraphModel page="1" pageScale="1" pageWidth="1600" pageHeight="1000" background="#F6F6F8" grid="1" gridSize="10">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="2" parent="1" vertex="1" value="DATA DIVE CRAFT  /  DIMENSIONAL HISTORY" style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;spacing=0;fontFamily=Arial;fontSize=17;fontStyle=1;fontColor=#2B6CEE;">
          <mxGeometry as="geometry" x="64" y="37" width="1450" height="29" />
        </mxCell>
        <mxCell id="3" parent="1" vertex="1" value="Keep the change. Or keep the history." style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;spacing=0;fontFamily=Arial;fontSize=40;fontStyle=1;fontColor=#0F172A;">
          <mxGeometry as="geometry" x="64" y="93" width="1472" height="60" />
        </mxCell>
        <mxCell id="4" parent="1" vertex="1" value="Make the difference between Type 1 and Type 2 explicit." style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;spacing=0;fontFamily=Arial;fontSize=22;fontStyle=0;fontColor=#475569;">
          <mxGeometry as="geometry" x="64" y="154" width="1472" height="36" />
        </mxCell>
        <mxCell id="5" parent="1" vertex="1" value="" style="rounded=1;arcSize=28;absoluteArcSize=1;fillColor=#FFFFFF;strokeColor=#DCE4F0;strokeWidth=2;">
          <mxGeometry as="geometry" x="64" y="285" width="290" height="137" />
        </mxCell>
        <mxCell id="6" parent="5" vertex="1" value="" style="rounded=1;arcSize=4;absoluteArcSize=1;fillColor=#2B6CEE;strokeColor=none;strokeWidth=2;">
          <mxGeometry as="geometry" x="1.0" y="12.0" width="5" height="113" />
        </mxCell>
        <mxCell id="7" parent="5" vertex="1" value="Incoming record" style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;spacing=0;fontFamily=Arial;fontSize=23;fontStyle=1;fontColor=#0F172A;">
          <mxGeometry as="geometry" x="20.0" y="17.0" width="250" height="37" />
        </mxCell>
        <mxCell id="8" parent="5" vertex="1" value="Match by business key" style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;spacing=0;fontFamily=Arial;fontSize=18;fontStyle=0;fontColor=#475569;">
          <mxGeometry as="geometry" x="20.0" y="54.0" width="250" height="30" />
        </mxCell>
        <mxCell id="9" parent="1" vertex="1" value="" style="rounded=1;arcSize=28;absoluteArcSize=1;fillColor=#FFFFFF;strokeColor=#DCE4F0;strokeWidth=2;">
          <mxGeometry as="geometry" x="515" y="285" width="350" height="137" />
        </mxCell>
        <mxCell id="10" parent="9" vertex="1" value="" style="rounded=1;arcSize=4;absoluteArcSize=1;fillColor=#2B6CEE;strokeColor=none;strokeWidth=2;">
          <mxGeometry as="geometry" x="1.0" y="12.0" width="5" height="113" />
        </mxCell>
        <mxCell id="11" parent="9" vertex="1" value="Classify the change" style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;spacing=0;fontFamily=Arial;fontSize=23;fontStyle=1;fontColor=#0F172A;">
          <mxGeometry as="geometry" x="20.0" y="17.0" width="310" height="37" />
        </mxCell>
        <mxCell id="12" parent="9" vertex="1" value="New / Type 1 / Type 2 / none" style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;spacing=0;fontFamily=Arial;fontSize=18;fontStyle=0;fontColor=#475569;">
          <mxGeometry as="geometry" x="20.0" y="54.0" width="310" height="30" />
        </mxCell>
        <mxCell id="13" parent="1" edge="1" source="5" target="9" style="edgeStyle=none;rounded=0;strokeWidth=3;strokeColor=#2B6CEE;endArrow=block;endFill=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="14" parent="1" vertex="1" value="" style="rounded=1;arcSize=28;absoluteArcSize=1;fillColor=#FFFFFF;strokeColor=#DCE4F0;strokeWidth=2;">
          <mxGeometry as="geometry" x="64" y="565" width="326" height="139" />
        </mxCell>
        <mxCell id="15" parent="14" vertex="1" value="" style="rounded=1;arcSize=4;absoluteArcSize=1;fillColor=#2B6CEE;strokeColor=none;strokeWidth=2;">
          <mxGeometry as="geometry" x="1.0" y="12.0" width="5" height="115" />
        </mxCell>
        <mxCell id="16" parent="14" vertex="1" value="New business key" style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;spacing=0;fontFamily=Arial;fontSize=23;fontStyle=1;fontColor=#0F172A;">
          <mxGeometry as="geometry" x="20.0" y="17.0" width="286" height="37" />
        </mxCell>
        <mxCell id="17" parent="14" vertex="1" value="Insert first version" style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;spacing=0;fontFamily=Arial;fontSize=18;fontStyle=0;fontColor=#475569;">
          <mxGeometry as="geometry" x="20.0" y="54.0" width="286" height="30" />
        </mxCell>
        <mxCell id="18" parent="1" edge="1" source="9" target="14" style="edgeStyle=none;rounded=0;strokeWidth=3;strokeColor=#2B6CEE;endArrow=block;endFill=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="19" parent="1" vertex="1" value="" style="rounded=1;arcSize=28;absoluteArcSize=1;fillColor=#FFFFFF;strokeColor=#DCE4F0;strokeWidth=2;">
          <mxGeometry as="geometry" x="446" y="565" width="326" height="139" />
        </mxCell>
        <mxCell id="20" parent="19" vertex="1" value="" style="rounded=1;arcSize=4;absoluteArcSize=1;fillColor=#2B6CEE;strokeColor=none;strokeWidth=2;">
          <mxGeometry as="geometry" x="1.0" y="12.0" width="5" height="115" />
        </mxCell>
        <mxCell id="21" parent="19" vertex="1" value="Type 1 attribute" style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;spacing=0;fontFamily=Arial;fontSize=23;fontStyle=1;fontColor=#0F172A;">
          <mxGeometry as="geometry" x="20.0" y="17.0" width="286" height="37" />
        </mxCell>
        <mxCell id="22" parent="19" vertex="1" value="Overwrite value; keep dates" style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;spacing=0;fontFamily=Arial;fontSize=18;fontStyle=0;fontColor=#475569;">
          <mxGeometry as="geometry" x="20.0" y="54.0" width="286" height="30" />
        </mxCell>
        <mxCell id="23" parent="1" edge="1" source="9" target="19" style="edgeStyle=none;rounded=0;strokeWidth=3;strokeColor=#2B6CEE;endArrow=block;endFill=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="24" parent="1" vertex="1" value="" style="rounded=1;arcSize=28;absoluteArcSize=1;fillColor=#FFFFFF;strokeColor=#DCE4F0;strokeWidth=2;">
          <mxGeometry as="geometry" x="828" y="565" width="326" height="139" />
        </mxCell>
        <mxCell id="25" parent="24" vertex="1" value="" style="rounded=1;arcSize=4;absoluteArcSize=1;fillColor=#2B6CEE;strokeColor=none;strokeWidth=2;">
          <mxGeometry as="geometry" x="1.0" y="12.0" width="5" height="115" />
        </mxCell>
        <mxCell id="26" parent="24" vertex="1" value="Type 2 attribute" style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;spacing=0;fontFamily=Arial;fontSize=23;fontStyle=1;fontColor=#0F172A;">
          <mxGeometry as="geometry" x="20.0" y="17.0" width="286" height="37" />
        </mxCell>
        <mxCell id="27" parent="24" vertex="1" value="Close old; insert new version" style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;spacing=0;fontFamily=Arial;fontSize=18;fontStyle=0;fontColor=#475569;">
          <mxGeometry as="geometry" x="20.0" y="54.0" width="286" height="30" />
        </mxCell>
        <mxCell id="28" parent="1" edge="1" source="9" target="24" style="edgeStyle=none;rounded=0;strokeWidth=3;strokeColor=#2B6CEE;endArrow=block;endFill=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="29" parent="1" vertex="1" value="" style="rounded=1;arcSize=28;absoluteArcSize=1;fillColor=#FFFFFF;strokeColor=#DCE4F0;strokeWidth=2;">
          <mxGeometry as="geometry" x="1210" y="565" width="326" height="139" />
        </mxCell>
        <mxCell id="30" parent="29" vertex="1" value="" style="rounded=1;arcSize=4;absoluteArcSize=1;fillColor=#2B6CEE;strokeColor=none;strokeWidth=2;">
          <mxGeometry as="geometry" x="1.0" y="12.0" width="5" height="115" />
        </mxCell>
        <mxCell id="31" parent="29" vertex="1" value="No change" style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;spacing=0;fontFamily=Arial;fontSize=23;fontStyle=1;fontColor=#0F172A;">
          <mxGeometry as="geometry" x="20.0" y="17.0" width="286" height="37" />
        </mxCell>
        <mxCell id="32" parent="29" vertex="1" value="Keep existing row" style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;spacing=0;fontFamily=Arial;fontSize=18;fontStyle=0;fontColor=#475569;">
          <mxGeometry as="geometry" x="20.0" y="54.0" width="286" height="30" />
        </mxCell>
        <mxCell id="33" parent="1" edge="1" source="9" target="29" style="edgeStyle=none;rounded=0;strokeWidth=3;strokeColor=#2B6CEE;endArrow=block;endFill=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="34" parent="1" vertex="1" value="" style="rounded=1;arcSize=28;absoluteArcSize=1;fillColor=#E8EFFF;strokeColor=none;strokeWidth=2;">
          <mxGeometry as="geometry" x="64" y="790" width="1472" height="102" />
        </mxCell>
        <mxCell id="35" parent="1" vertex="1" value="Type 2: use non-overlapping effective periods" style="text;html=1;align=center;verticalAlign=top;whiteSpace=wrap;spacing=0;fontFamily=Arial;fontSize=24;fontStyle=1;fontColor=#2B6CEE;">
          <mxGeometry as="geometry" x="86" y="808" width="1428" height="38" />
        </mxCell>
        <mxCell id="36" parent="1" vertex="1" value="Old version ends at the change time; new version starts there. Query with start ≤ event time &amp;lt; end." style="text;html=1;align=center;verticalAlign=top;whiteSpace=wrap;spacing=0;fontFamily=Arial;fontSize=20;fontStyle=0;fontColor=#475569;">
          <mxGeometry as="geometry" x="86" y="847" width="1428" height="33" />
        </mxCell>
        <mxCell id="37" parent="1" vertex="1" value="Proposed SCD flow • Normalize timestamps • Define late-arrival and soft-delete policies separately" style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;spacing=0;fontFamily=Arial;fontSize=16;fontStyle=0;fontColor=#475569;">
          <mxGeometry as="geometry" x="64" y="952" width="1472" height="28" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>