Appendix A - Postcode Boundaries Data ModelΒΆ

digraph  {

fontname="ROBOTO" fontsize="10pt"
node [fontname="ROBOTO" fontsize="8pt"]
edge [fontname="ROBOTO" fontsize="8pt"]
rankdir=LR
ranksep=0.75
nodesep=0.75

subgraph cluster_postcode { label="Postcode Boundaries"
        graph[style="dashed,rounded" color="#EA6B66"]

postcode_class_aut [shape=plain
label=<<TABLE BGCOLOR="#FFB570"
BORDER="1"
CELLBORDER="0"
style="rounded"
CELLSPACING="0"
CELLPADDING="5">

<TR>
<TD  COLSPAN="2">POSTCODE_CLASS_AUT</TD>
</TR>

<TR>
<TD BGCOLOR="white" >PK</TD>
<TD BGCOLOR="white" ALIGN="LEFT" >CODE: varchar (1) </TD>
</TR>

<TR>
<TD BGCOLOR="white" ></TD>
<TD BGCOLOR="white" ALIGN="LEFT" >NAME: varchar (50) </TD>
</TR>

<TR>
<TD BGCOLOR="white" ></TD>
<TD BGCOLOR="white" ALIGN="LEFT" >DESCRIPTION: varchar (200)     </TD>
</TR>

</TABLE>>];

postcode [shape=plain
label=<<TABLE BGCOLOR="#FFD966"
BORDER="1"
CELLBORDER="0"
style="rounded"
CELLSPACING="0"
CELLPADDING="5">

<TR>
<TD  COLSPAN="2">POSTCODE</TD>
</TR>

<TR>
<TD BGCOLOR="white" >PK</TD>
<TD BGCOLOR="white" ALIGN="LEFT" >POSTCODE_PID: varchar (15) </TD>
</TR>

<TR>
<TD BGCOLOR="white" ></TD>
<TD BGCOLOR="white" ALIGN="LEFT" >DATE_CREATED: date </TD>
</TR>

<TR>
<TD BGCOLOR="white" ></TD>
<TD BGCOLOR="white" ALIGN="LEFT" >DATE_RETIRED: date </TD>
</TR>

<TR>
<TD BGCOLOR="white" >FK</TD>
<TD BGCOLOR="white" ALIGN="LEFT" >POSTCODE_CLASS_CODE: varchar (1)     </TD>
</TR>

<TR>
<TD BGCOLOR="white" ></TD>
<TD BGCOLOR="white" ALIGN="LEFT" >POSTCODE: varchar (4) </TD>
</TR>

<TR>
<TD BGCOLOR="white" >FK</TD>
<TD BGCOLOR="white" ALIGN="LEFT" >STATE_PID: varchar (15) </TD>
</TR>

</TABLE>>];

postcode_polygon [shape=plain
label=<<TABLE BGCOLOR="#7EA6E0"
BORDER="1"
CELLBORDER="0"
style="rounded"
CELLSPACING="0"
CELLPADDING="5">

<TR>
<TD  COLSPAN="2">POSTCODE_POLYGON</TD>
</TR>

<TR>
<TD BGCOLOR="white" >PK</TD>
<TD BGCOLOR="white" ALIGN="LEFT" >POSTCODE_POLYGON_PID: varchar (15)    </TD>
</TR>

<TR>
<TD BGCOLOR="white" ></TD>
<TD BGCOLOR="white" ALIGN="LEFT" >DATE_CREATED: date </TD>
</TR>

<TR>
<TD BGCOLOR="white" ></TD>
<TD BGCOLOR="white" ALIGN="LEFT" >DATE_RETIRED: date </TD>
</TR>

<TR>
<TD BGCOLOR="white" >FK</TD>
<TD BGCOLOR="white" ALIGN="LEFT" >POSTCODE_PID: varchar (15) </TD>
</TR>

<TR>
<TD BGCOLOR="white" ></TD>
<TD BGCOLOR="white" ALIGN="LEFT" >GEOMETRY : Polygon </TD>
</TR>

</TABLE>>];

postcode_point [shape=plain
label=<<TABLE BGCOLOR="#7EA6E0"
BORDER="1"
CELLBORDER="0"
style="rounded"
CELLSPACING="0"
CELLPADDING="5">

<TR>
<TD  COLSPAN="2">POSTCODE_POINT</TD>
</TR>

<TR>
<TD BGCOLOR="white" >PK</TD>
<TD BGCOLOR="white" ALIGN="LEFT" >POSTCODE_POINT_PID: varchar (15)     </TD>
</TR>

<TR>
<TD BGCOLOR="white" ></TD>
<TD BGCOLOR="white" ALIGN="LEFT" >DATE_CREATED: date </TD>
</TR>

<TR>
<TD BGCOLOR="white" ></TD>
<TD BGCOLOR="white" ALIGN="LEFT" >DATE_RETIRED: date </TD>
</TR>

<TR>
<TD BGCOLOR="white" >FK</TD>
<TD BGCOLOR="white" ALIGN="LEFT" >POSTCODE_PID: varchar (15) </TD>
</TR>

<TR>
<TD BGCOLOR="white" ></TD>
<TD BGCOLOR="white" ALIGN="LEFT" >GEOMETRY : Point </TD>
</TR>

</TABLE>>];

locality_postcode [shape=plain
label=<<TABLE BGCOLOR="#FFD966"
BORDER="1"
CELLBORDER="0"
style="rounded"
CELLSPACING="0"
CELLPADDING="5">

<TR>
<TD  COLSPAN="2">LOCALITY_POSTCODE</TD>
</TR>

<TR>
<TD BGCOLOR="white" >PK</TD>
<TD BGCOLOR="white" ALIGN="LEFT" >LOCALITY_POSTCODE_PID: varchar (15)     </TD>
</TR>

<TR>
<TD BGCOLOR="white" ></TD>
<TD BGCOLOR="white" ALIGN="LEFT" >DATE_CREATED: date </TD>
</TR>

<TR>
<TD BGCOLOR="white" ></TD>
<TD BGCOLOR="white" ALIGN="LEFT" >DATE_RETIRED: date </TD>
</TR>

<TR>
<TD BGCOLOR="white" >FK</TD>
<TD BGCOLOR="white" ALIGN="LEFT" >LOCALITY_PID: varchar (15) </TD>
</TR>

<TR>
<TD BGCOLOR="white" >FK</TD>
<TD BGCOLOR="white" ALIGN="LEFT" >POSTCODE_PID: varchar (15) </TD>
</TR>

</TABLE>>];

locality_postcode -> postcode[arrowhead=nonetee dir=both arrowtail=crownoneotee ]
postcode -> postcode_class_aut[arrowhead=nonetee dir=both arrowtail=crownoneodot ]

postcode_point -> postcode[arrowhead=nonetee dir=both arrowtail=crownoneodot ]
postcode_polygon -> postcode[arrowhead=noneteen dir=both arrowtail=crownoneodot ]

{rank=same; postcode_class_aut; postcode;  locality_postcode;}

}

subgraph cluster_localities { label="Localities"
        graph[style="dashed,rounded" color="#7EA6E0"]

localities [shape=plain
label=<<TABLE BGCOLOR="#7EA6E0"
BORDER="1"
CELLBORDER="0"
style="rounded"
CELLSPACING="0"
CELLPADDING="5">

<TR>
<TD  COLSPAN="2">localities</TD>
</TR>

<TR>
<TD BGCOLOR="white" >PK</TD>
<TD BGCOLOR="white" ALIGN="LEFT" >locality_polygon_pid: varchar (15)    </TD>
</TR>

<TR>
<TD BGCOLOR="white" >FK</TD>
<TD BGCOLOR="white" ALIGN="LEFT" >locality_pid: varchar (15) </TD>
</TR>

<TR>
<TD BGCOLOR="white" ></TD>
<TD BGCOLOR="white" ALIGN="LEFT" >date_created: date </TD>
</TR>

<TR>
<TD BGCOLOR="white" ></TD>
<TD BGCOLOR="white" ALIGN="LEFT" >locality_name: varchar (75) </TD>
</TR>

<TR>
<TD BGCOLOR="white" ></TD>
<TD BGCOLOR="white" ALIGN="LEFT" >locality_class: varchar (20) </TD>
</TR>


<TR>
<TD BGCOLOR="white" ></TD>
<TD BGCOLOR="white" ALIGN="LEFT" >state: varchar (3) </TD>
</TR>

<TR>
<TD BGCOLOR="white" ></TD>
<TD BGCOLOR="white" ALIGN="LEFT" >geometry: Polygon </TD>
</TR>

</TABLE>>];
}

subgraph cluster_state {label="State Boundaries"
        graph[style="dashed,rounded" color="#7EA6E0"]

state [shape=plain
label=<<TABLE BGCOLOR="#FFD966"
BORDER="1"
CELLBORDER="0"
style="rounded"
CELLSPACING="0"
CELLPADDING="5">

<TR>
<TD  COLSPAN="2">STATE</TD>
</TR>

<TR>
<TD BGCOLOR="white" >PK</TD>
<TD BGCOLOR="white" ALIGN="LEFT" >STATE_PID: varchar (15) </TD>
</TR>

<TR>
<TD BGCOLOR="white" ></TD>
<TD BGCOLOR="white" ALIGN="LEFT" >DATE_CREATED: date </TD>
</TR>

<TR>
<TD BGCOLOR="white" ></TD>
<TD BGCOLOR="white" ALIGN="LEFT" >DATE_RETIRED: date </TD>
</TR>

<TR>
<TD BGCOLOR="white" ></TD>
<TD BGCOLOR="white" ALIGN="LEFT" >STATE_NAME: varchar (50) </TD>
</TR>

<TR>
<TD BGCOLOR="white" ></TD>
<TD BGCOLOR="white" ALIGN="LEFT" >STATE_ABBREVIATION: varchar (3) </TD>
</TR>

</TABLE>>];
}

subgraph cluster_legend {
    graph[style="" label="Legend" ]

        legend [shape=plain
        label=<<TABLE
            CELLBORDER="0"
            Border="0">
        <TR>
            <TD BGCOLOR="#7EA6E0" BORDER="1">     </TD>
            <TD>Spatial Attribute Table</TD>
        </TR>
        <TR>
            <TD BGCOLOR="#FFD966" BORDER="1">     </TD>
            <TD>Textual Attribute Table</TD>
        </TR>
        <TR>
            <TD BGCOLOR="#FFB570" BORDER="1">     </TD>
            <TD>Authority Code Table</TD>
        </TR>

        </TABLE>>]

        }

locality_postcode -> localities[arrowhead=crownoneodot dir=both arrowtail=crownonetee ]

postcode -> state[arrowhead=nonetee dir=both arrowtail=crownoneodot ]

}