Pürner Unternehmensberatung

Aktuelle Infos zu DB2

  • Neue Funktionen in DB2 for LUW Version 9

    Die wichtigste Neuerung in der Version 9 ist zweifellos die Integration von XML. Darüber hinaus gibt es eine Reihe von Verbesserungen und neuen Funktionen im relationalen Teil von DB2. Da sich die meisten Veröffentlichungen zur Version von DB2 for LUW mit den XML-Erweiterungen ausführlich beschäftigt haben, konzentrieren wir uns hier einmal auf die anderen Neuerungen:

    • Table Partitioning
    • Datenkompression
    • LBAC - Label Based Access Control

    mehr>>>

  • Selbstverwaltende Systeme (Autonomic Computing) für Oracle und DB2

Die führenden Hersteller von die Datenbankmanagementsystemen entwickeln Werkzeuge zur weitgehenden Selbstverwaltung der Systeme. Damit wird der Datenbank-Software die eigene Administration und Optimierung überlassen. Ziel ist es dabei, Datenbank-Spezialisten von Routine-Aufgabe zu entlasten und so die Personalkosten zu senken.

Wir stellen für Oracle und DB2 einige Werkzeuge der Kategorien selbst-überwachend, selbst-konfigurierend, selbst-optimierend und selbst-wartend vor, mehr>>>

So geht's

Tipp: Unsere Bücher

 
Tabellenfunktionen - eine vielversprechende Erweiterung der Funktionalität

 
Externe Tabellen-Funktionen (table functions) stellen eine interessante Erweiterung der Funktionalität dar: Sie können in der FROM-Klausel von Abfragen aufgerufen werden. So ist es mit einer Tabellen-Funktion möglich, Daten aus anderen Datei- oder Datenbank-Systemen einzulesen und in einem SQL-Befehl wie eine DB2-Tabelle zur Verfügung zu stellen. Außerdem können Zugriffe auf DB2-Tabellen vorverarbeitet werden (vorverdichtet, inhaltlich geprüft, unter Sicherheitsaspekten bearbeitet.

Bei der Realisierung von Tabellenfunktionen ist eine besondere, intern gesteuerte, prozedurale Aufruf-Folge zu beachten!

Beispiel:

SELECT P.PNR, P.NAME, T.TEXTWORD FROM MYSCHEMA.PERSON P, TABLE(MYSCHEMA.TABLFILE()) AS T
WHERE P.PNR = T.TXNUM

Die Funktion MYSCHEMA.TABLFILE liest in diesem Beispiel eine sequentielle Datei und gibt als Tabelle die laufende Nummer und die ersten 6 Zeichen des Datensatzes (TEXTWORD) zurück.

Performance-Hinweis: Jeder Funktionsaufruf bewirkt eine vollständige Ausführung der Funktion mit Initialisierung (Datei allokieren und Öffnen), Verarbeitung (Lesen) und Abschlußverarbeitung (Datei schließen und freigeben). Werden externe Daten mehrfach in einem Programmablauf benötigt, so sollten sie in einer temporären Tabelle zwischengespeichert werden.

Seitenanfang

 
SQL Stored Procedures: Wenig bekannt, aber vielversprechend

 
DB2 besitzt ein prozedural erweitertes SQL für Stored Procedures nach dem SQL3-Standard (SQL/PSM). Die Unterstützung für die SQL-Prozedursprache ist jetzt unter DB2 Universal Database für OS/390 und AS/400 sowie für DB2 unter Windows, OS/2, LINUX und UNIX verfügbar. Die Erstellung von gespeicherten DB2-Prozeduren, die SQL auf eine Weise nutzen, die mit der Definition von Persistent Stored Module des ANSI SQL99 Standards konsistent ist, wird unterstützt. Somit können auch ORACLE-Anwendungen mit PL/SQL-Prozeduren leichter durch DB2 abgelöst werden.

Steuerungsbefehle wie CASE, IF, FOR, LOOP, REPEAT oder WHILE ermöglichen eine strukturierte SQL-Programmierung. Prozedurales SQL ist leichter zu programmieren als Stored Procedures in C oder COBOL

Aus den SQL-Prozeduren werden C-Programme generiert. Die Implementierung nutzt C-Precompiler und Compiler der jeweiligen Betriebssystemumgebung. SQL-Prozeduren werden also nicht als dynamisches SQL ausgeführt: Der Precompiler (in Verbindung mit BIND) erzeugt ein Package, für das die Nutzerberechtigungen vergeben werden können.

Die Erstellung von SQL-Stored Procedures wird unterstützt durch die REXX Prozedur DSNTPSMP (wird auch vom Stored Procedure Builder aufgerufen): DSNTPSMP ist selbst eine Stored Procedure und steuert den Ablauf von Generierung des C-Quelltextes, Precompile, Compile, Link, Bind bis zur Pflege der Systemtabellen.

Im Unterschied zu Prozeduren in „normaler" Programmiersprache wird bei SQL-Prozeduren der Quellcode (prozedurales SQL) in der Datenbank gespeichert (nicht der daraus generierten C-Quelltext) [in den Tabellen SYSIBM.SYSPSM, SYSIBM.SYSPSMOPTS, SYSIBM.SYSPSMOUT]. Maximum Quellcode 32 kB für OS/390 [64 kB Unix, Linux, Windows, OS/2]

Achtung Ausnahme unter OS/390: Bei konventioneller Erstellung via JCL kann die Speicherung umgangen werden.

Linie

siehe auch

Seitenanfang weitere Tipps

linie
Homepage | Informationstechnologie | Aktuelles | Datenbanken | DB2 | Publikationen
Links | Kontakt | Impressum | International Pages