Wenn DB2 eine SQL-Anweisung verarbeitet, generiert das DB2-Optimierungsprogramm mehrere alternative Pläne für den Zugriff auf die angeforderten Daten. Das Optimierungsprogramm schätzt den Aufwand für die Ausführung jedes Plans und führt den Plan mit dem niedrigsten Aufwand aus. Dieser Plan wird als Zugriffsplan bezeichnet.
Ein Zugriffsplandiagramm besteht aus Knoten und den sie verbindenden Linien. Die Knoten stellen Datenquellen, Operatoren, SQL-Anweisungen und Abfrageblöcke dar. Knoten können nur über einen einzigen übergeordneten Knoten, aber über eine uneingeschränkte Zahl untergeordneter Knoten verfügen. Die Pfeile an den Linien zeigen die Richtung des Datenflusses an. In der Regel befindet sich ein Tabellenknoten am unteren Rand des Diagramms und der Zugriffsplan setzt sich von dieser Position aus aufwärts fort.
Einige Operationen im Zugriffsplan, wie z. B. Joins mit Verschachtelungsschleife oder Indexsuchen, werden im Diagramm durch Knotengruppen dargestellt, die als Konstrukte bezeichnet werden. Viele dieser Konstrukte haben einen Definitionsknoten, der die Operation angibt. Beispielsweise gibt der Knoten HBJOIN an, dass eine Hybridjoin-Operation stattfindet. Der gesamte Hybridjoin wird im Diagramm jedoch durch eine Gruppe von Knoten dargestellt. Diese Knotengruppe stellt alle weiteren Datenquellen und Operationen dar, die am Hybridjoin beteiligt sind.
Eine SQL-Anweisung kann aus mehreren Unterabfragen bestehen, die im Zugriffsplandiagramm durch Abfrageblöcke dargestellt werden. Die Unterabfrage kann eine Anweisung SELECT, INSERT, UPDATE oder DELETE sein. Eine Unterabfrage kann weitere Unterabfragen in der Klausel FROM, der Klausel WHERE oder einem Subselect der Klausel UNION oder UNION ALL enthalten. Eine Unterabfrage, die sich in einer anderen Unterabfrage befindet, wird als untergeordnete Unterabfrage bezeichnet. Eine Unterabfrage, die andere Unterabfragen enthält, wird als übergeordnete Unterabfrage bezeichnet. Diese Beziehungen zwischen übergeordneten und untergeordneten Elementen können als Baumstruktur dargestellt werden.
Wenn eine Unterabfrage auf mindestens eine Spalte der eigenen übergeordneten Unterabfrage oder einer beliebigen anderen, in der Baumstruktur höher angesiedelten übergeordneten Unterabfrage verweist, ist die Unterabfrage eine Unterabfrage mit Korrelationsbezug. Andernfalls handelt es sich um eine Unterabfrage ohne Korrelationsbezug. Eine Unterabfrage ohne Korrelationsbezug kann zur gleichen Zeit aktiv sein wie die höchste übergeordnete Unterabfrage, die ebenfalls keinen Korrelationsbezug hat. In Bezug auf ihre Beziehung zur Unterabfrage ohne Korrelationsbezug wird die höchste übergeordnete Unterabfrage als "übergeordnete Unterabfrage zur Ausführung beim Öffnen" bezeichnet. Die Ausführung einer Unterabfrage mit Korrelationsbezug ist an die Ausführung der zugehörigen übergeordneten Unterabfrage gebunden. Derartige Beziehungen zwischen der relativen Ausführung von über- und untergeordneten Elementen können durch separate Baumstrukturen im Zugriffsplandiagramm dargestellt werden.