Midrange MAGAZIN – Juli 2007
Midrange MAGAZIN – Juli 2007
Midrange MAGAZIN – Juli 2007
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Release V5R4M0<br />
Neues in Datenbank und SQL<br />
In den letzten Releases hat IBM die Datenbank, die im Betriebssystem der iSeries<br />
(System i) integriert ist, von Grund auf verändert und wichtige Erweiterungen implementiert.<br />
Der Schwerpunkt der Entwicklung liegt dabei auf SQL (Structured Query Language).<br />
Allerdings kamen beim nativen Dateizugriff<br />
und der Definition von<br />
Datenbankobjekten über DDS (Data<br />
Description Specification) nur geringfügige<br />
Änderungen hinzu. Mit Release<br />
V5R4 hat sich dieser Trend ungebrochen<br />
fortgesetzt. Mit dem Erfolg, dass<br />
die DB2 UDB for iSeries die erste Datenbank<br />
ist, die den von ISO (International<br />
Organization for Standardization) festgelegten<br />
Standard für SQL (aktuell SQL-<br />
2003 http://www.sigmod.org/sigmod/<br />
record/issues/0403/E.JimAndrewstandard.pdf)<br />
zu hundert Prozent abdeckt.<br />
Auf die wichtigsten Neuerungen<br />
<strong>–</strong> wie OLAP- (OnLine Analytical Processing-)<br />
Ranking-Funktionen, RCTE<br />
(Recursive Common Table Expression),<br />
Instead Of Triggers, neue beziehungsweise<br />
erweiterte Analyse-Tools unter<br />
der iSeries Navigator-Datenbank <strong>–</strong> werden<br />
wir in einer Reihe von Artikeln näher<br />
eingehen. In diesem Artikel wollen<br />
wir uns zunächst mit den erweiterten<br />
Datenbanken-Limits beschäftigen <strong>–</strong> sowie<br />
mit den SQL-Statements, die ab Release<br />
V5R4 von der SQL Query Enginge<br />
(SQE) verarbeitet werden können.<br />
Erweiterte Datenbanken-Limits<br />
Um ein Maximum an Portabilität und<br />
Flexibilität zu erreichen, wurden einige<br />
der bisherigen Datenbank-Beschränkungen<br />
beträchtlich erweitert:<br />
ó Spaltennamen waren bis einschließlich<br />
Release V5R3 auf 30 Zeichen<br />
beschränkt, während für die Namen<br />
der Datenbankobjekte (zum Beispiel<br />
Tabellen, Indices, Stored Procedures)<br />
bis zu 128 Zeichen verwendet<br />
werden konnten. Ab Release V5R4<br />
wurde das Limit für Spaltennamen<br />
ebenfalls auf 128 Zeichen erweitert.<br />
Die Systemnamen bleiben weiterhin<br />
auf 10 Zeichen begrenzt.<br />
ó Ab Release V5R4 können in einem<br />
einzigen SQL-Statement bis zu 1.000<br />
Tabellen verknüpft werden. Die bisherige<br />
Grenze lag bei 256 Tabellen.<br />
Diese Grenze gilt auch weiterhin<br />
für die Anzahl von Verknüpfungen<br />
innerhalb von Datenbankobjekten<br />
<strong>–</strong> wie Views oder MQTs (Materialized<br />
Query Tables).<br />
ó Die maximale Länge eines SQL-<br />
Statements wurde von 65.535 Byte<br />
auf 2 Gigabyte erhöht. Damit ist es<br />
möglich, noch wesentlich komplexere<br />
Stored Procedures, Trigger oder<br />
User Defined Functions (UDF) zu<br />
codieren. Obwohl diese Statements<br />
sich aus einzelnen auszuführenden<br />
Befehlen zusammensetzen können,<br />
werden die SQL-Anweisungen <strong>–</strong> CRE-<br />
ATE PROCEDURE, CREATE TRIGGER<br />
oder CREATE FUNCTION <strong>–</strong> mit allem<br />
was dazugehört, jeweils als ein einzelnes<br />
Statement betrachtet.<br />
ó Während unter Release V5R3 nur<br />
maximal 1.000 Spalten mit einer<br />
Gesamt-Länge von bis zu 1.000 Bytes<br />
in einer Order By-Anweisung angegeben<br />
werden konnten, können unter<br />
Release V5R4 maximal 32.766 Spalten<br />
mit einer Gesamtlänge von bis zu<br />
32.766 Byte verwendet werden.<br />
ó Ab Release V5R4 ist es möglich, für<br />
SQL beschriebene Stored Procedures<br />
bis zu 1.024 Parameter zu definieren.<br />
Die Anzahl der maximal zulässigen<br />
Parameter für externe Stored Procedures<br />
dagegen ist zum Einen abhängig<br />
von den Restriktionen in den<br />
einzelnen Programmiersprachen, in<br />
denen die Prozeduren geschrieben<br />
wurden, und zum Anderen vom verwendeten<br />
Parameter-Style:<br />
ó Parameter-Style GENERAL:<br />
1.024 Parameter<br />
ó Parameter-Style GENERAL WITH<br />
NULLS:<br />
1.023 Parameter<br />
ó Parameter-Style SQL oder DB2SQL:<br />
508 Parameter<br />
ó Parameter-Style JAVA oder<br />
DB2GENERAL:<br />
90 Parameter<br />
Die Anzahl der übergebenen Parameter<br />
für SQL-beschriebene und externe<br />
User Defined Functions (UDF) bleibt<br />
weiterhin auf 90 beschränkt.<br />
Von der Classic Query Engine<br />
(CQE) zur SQL Query Engine (SQE)<br />
In den letzten Releases wurde Schritt<br />
für Schritt eine neue Query Engine zur<br />
Verarbeitung von SQL-basierten Datenbankabfragen<br />
eingeführt: SQL Query<br />
Engine (SQE). Die neue Query Engine<br />
wurde im OO- (= objektorientiert) Design<br />
erstellt und kann dadurch wesentlich<br />
flexibler agieren als die klassische<br />
(classic) Query Engine (CQE). Sämtliche<br />
Neuentwicklungen im Bereich von SQL-<br />
Abfragen und deren Optimierung erfolgen<br />
in und für die neue SQE. Abfragen,<br />
die mit CQE bearbeitet werden müssen,<br />
können von diesen Neuerungen nicht<br />
profitieren. Die Entscheidung, durch<br />
welche der beiden Query Engines die<br />
07/<strong>2007</strong> · MIDRANGE MAgAZIN<br />
1