Vorträge - HTW Dresden

Werbung
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
75. Datenbankstammtisch
Neue Funktionalitäten von DBMS
- DBMS auf dem Wege zur eierlegenden Wollmilchsau? -
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Inhalt
Dimensionen der bisherigen Funktionserweiterung
• Funktionserweiterungen rund um den Server
• Entwicklungstools für DB-Anwendungen
Impulse für die Weiterentwicklung von DBMS
• Entwicklungsimpulse aus Wissenschaft und Technik
• Architekturgesichtpunkte
• kommerzielle Gesichtspunkte
Neue Funktionalitäten
• Überblick
• Ausgewählte Funktionalitäten
Resümee / Ausblick
Dresden
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Dimensionen der bisherigen Funktionserweiterung
Funktionserweiterungen rund um den Server
SQL:1999
SQL:1992
SQL:1989
Maskengeneratoren
Reportgeneratoren
Programmgeneratoren
SQL:1986
Administrationstools
Monitoring und Tuning
Tools
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Dimensionen der bisherigen Funktionserweiterung
Entwicklung des SQL-Standards
SQL:1986 „Database Language SQL“
ANSI X3.135-1986 bzw.
ISO-9075-1987(E)
30 Befehle
SQL:1989 „Database Language SQL with
Integrity Enhancements“
ANSI X3.135-1989 bzw.
ISO-9075-1989(E)
94 reservierte Worte
120 Seiten
SQL:1992 „Database Language SQL“
ANSI X3-1992 bzw. ISO/IEC-9075 1992
bzw. DIN 66315
230 reservierte Worte
580 Seiten
SQL:1999 „Information Technology Database
Language SQL“
ANSI/ISO/IEC-9075 1999
???
SQL 4
etwa 2003
2000 Seiten
?? reservierte Worte
?? Seiten
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dimensionen der bisherigen Funktionserweiterung
SQL:1999
- relationale Erweiterungen
• neue Standarddatentypen („built in data type“)
BOOLEAN und LOB (Large Objects), „distinct types“
• zusammengesetzte Datentypen ARRAY und ROW
• neue Prädikate DISTINCT und SIMILAR
• Unterstützung von OLAP-Anwendung durch ROLLUP, CUBE und
der neuen GROUPING Funktion
• hierarchische Tabellen
• erweiterte Möglichkeiten zum Einfügen und Ändern in abgeleiteten
Tabellen / Sichten die durch Joins oder Unions entstanden sind
- objektorientierte Erweiterungen
• Strukturierte Datentypen (SDT), Referenzdatentyp
• SDT abstrakt oder instanziierbar
• einfache Vererbung von SDTs
• benutzerdefinierte Methoden
• Methoden lassen sich überladen (Polymorphie) und überschreiben
Dresden
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dimensionen der bisherigen Funktionserweiterung
SQL:1999
- Unterstützung der Anwendungsprogrammierung
• Nutzerdefinierte Funktionen und Prozeduren, um die
Anwendungslogik auf das Datenbanksystem zu verlagern
• Cursor mit weiteren Eigenschaften „sensitive“ und „holdable“
- Zugriffsschutz / Datensicherheit
• Rechte können in Rollen zusammengefasst werden
• explizites Starten von Transaktionen
• Savepoints ermöglichen Zwischenspeicherungen von Transaktionen
• neue referentielle Aktion RESTRICT
• aktive Datenbank durch Trigger
Dresden
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Dimensionen der bisherigen Funktionserweiterung
Entwicklungstools für DB-Anwendungen
Phasen:
Analyse/
Spezifikation
Diskursbereich
Tools:
Entwurf
Spezifikation
keine/wenig
Unterstützung
Implementierung
DBEntwurf
Designer
DBAnwendung
Developer
DBMS
DB
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Impulse für die Weiterentwicklung von DBMS
Entwicklungsimpulse aus Wissenschaft und Technik
Multi- Media
Hardwareentwicklung
Vernetzung/
Internet/WWW
neue
Datenmodelle
neue DBMS
Funktionalitäten
objektorientierte
Programmierung
Neue Sprachen
Java, XML
Speicherungs- und
Zugriffsmethoden
objektorientierte
Anwendungsentwicklung
Neue potentielle
Anwendungen/
Anwender
Schwachstellen
des RDM
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Impulse für die Weiterentwicklung von DBMS
Architekturgesichtpunkte
• DBMS nach wie vor/zunehmend Kernstück von Informationssystemen
• Umfeld entwickelt und verändert sich
höhere Anforderungen an den Backend-Teil
• Ergänzung zur klassischen Client-Server-Architektur (2 Ebenen)
durch eine 3 Ebenen-Architektur
Aber auch
• Export von Datenbanktechnologien
• Integration von DBMS in andere Produkte (z.B. CMS)
Dresden
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Impulse für die Weiterentwicklung von DBMS
kommerzielle Gesichtspunkte
Standard DMBS
vorrelationale
relationale
1. Generation
2. Generation
hierarchische
relationale
NW-DBMS
DBMS
IMS
DB2
IDMS
Informix
DBS/R
INGRES
UDS
bis ORACLE 8i
DBMS-10
PROGRESS
DBMS 1100 SYBASE
MS-SQL 2000
IDS
Markausschnitt
Non-Standard DBMS
nachrelationale
3.Generation
erw. RDBMS
OODBMS
Objektrelationale
DBMS
POSTGRES
AIM-P
DASDBS
PRIMA
STARBURST
EXODOS
DB2 7.2
GEMSTONE
ab ORACLE 9i
ITASCA
INFORMIX
O2
OBJECTIVITY
OBJECTSTORE
ONTOS
VERSANT
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
Überblick
Java
SQL:1999
Objektorientierung
DBMS
Information
Retrievel
XML
Strukturen in Tabellen
Strukturen zwischen Tabellen
Multimedia
Internet
ContentData Warehouse
management OLAP / Data Mining
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Neue Funktionalitäten
Überblick
Dresden
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
Strukturen in Tabellen / zwischen Tabellen
Nutzerdefinierte Datentypen (UDT)
<user-defined-type definition> ::= CREATE TYPE <user-defined-type name>
[UNDER <user-defined-supertype name>]
[AS <predefined type>|<attribute definition list>]
[INSTANTIABLE | NOT INSTANTIABLE]
FINAL | NOT FINAL
[<reference type specification>]
[<cast option>]
[<method spefication list>]
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
Strukturen in Tabellen / zwischen Tabellen
UDT
predefined type
(einzelner verdef. Typ)
distinct types
- FINAL notwendig
- <subtype clause> nicht
- <instantiable clause> nicht
- <reference type spec> nicht
Attribute definition list
(Liste von Attributen)
structured data type (SDT)
- NOT FINAL notwendig
- <cast option> nicht
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Neue Funktionalitäten
Strukturen in Tabellen / zwischen Tabellen
- SDT können ein oder mehrere Attribute enthalten
<name><type><default value>
Standarddatentypen
Collection Types
Referenztypen
Andere SDT
- SDT können verwendet werden als Typen von
• Attributen in anderen SDT
• Parameter in Methoden, Funktionen und Prozeduren
• SQL-Variable
• Domain oder Spalten in Tabellen
- Verhalten der SDT werden durch Methoden (METHOD) beschrieben,
die Bestandteil des Typs sind
- Methoden können überladen und überschrieben werden
- Typhierarchien können durch Vererbung gebildet werden (UNDER)
Dresden
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
Strukturen in Tabellen / zwischen Tabellen
CREATE TYPE Mitarbeiter AS(
Mitnr VARCHAR(5),
Name VARCHAR(10),
Vorname VARCHAR(10),
CREATE TYPE Adresse AS(
Anschrift Adresse,
Plz VARCHAR(20),
Alt SMALLINT,
Ort VARCHAR(20),
Beruf VARCHAR(15),
Strasse VARCHAR(30))
Gehalt INTEGER,
INSTANTIABLE NOT FINAL;
Telnr VARCHAR(12))
INSTANTIABLE NOT FINAL
METHOD Einkommen() RETURNS INTEGER;
CREATE TYPE Leiter UNDER Mitarbeiter AS(
Bonus INTEGER)
INSTANTIABLE NOT FINAL
OVERRIDING METHOD Einkommen() RETURNS INTEGER;
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Neue Funktionalitäten
Strukturen in Tabellen / zwischen Tabellen
Definition der Methoden
CREATE METHOD Einkommen RETURNS INTEGER
FOR Mitarbeiter
RETURN (12*Gehalt);
Für Leiter wird die Methode des Mitarbeiters überschrieben.
CREATE METHOD Einkommen RETURNS INTEGER
FOR Leiter
BEGIN
DECLARE result INTEGER;
SET result = (SELF AS Mitarbeiter).Einkommen();
RETURN (result + SELF.Bonus);
END;
Dresden
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Neue Funktionalitäten
Strukturen in Tabellen / zwischen Tabellen
Erzeugung von Typentabellen (Typed Tables)
- Attribute des Typs werden Spalten der Tabelle
- zzgl. einer Spalte für den Referenzwert der Zeile (OID)
(bei Supertabellen für den Bezug auf die Zeilen der Tabelle)
CREATE TABLE Adr OF Adresse
REF IS oid SYSTEM GENERATED
CREATE TABLE Mit OF Mitarbeiter
REF IS oid SYSTEM GENERATED
CREATE TABLE Leit OG Leiter UNDER Mit
Dresden
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
Strukturen in Tabellen / zwischen Tabellen
Dateneingabe
INSERT INTO Mit VALUES(‘101‘, ‘Hase‘, ‘Hoppel‘,
NEW Adresse(‘0815‘, ‘Feld‘, ‘Feldweg 20‘),
20, ‘Dipl.-Ing.‘, 3500, ‘2916‘)
INSERT INTO Leit VALUES(‘102‘, ‘Igel‘, ‘Stachel‘,
NEW Adresse(‘0754‘ ,‘Laub‘, ‘Waldrand 11‘),
65, ‘Industriekauf.‘, 4500, ‘3582‘)
Datenauswertung
Anzeige Name, Vorname mit entsprechendem Einkommen
SELECT m.Name, m.Vorname, m.Einkommen() FROM Mit m
Um den Wohnort der Mitarbeiter aus der Adresse zu erhalten,
muss in die Adress-Struktur hineingegriffen werden.
SELECT m.Name, m.Vorname, m.Anschrift.Ort AS Wohnort FROM Mit
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
Strukturen in Tabellen / zwischen Tabellen
Collection-Types
ARRAY:
bestimmte Anzahl von Elementen gleichen Datentyps (ausser ARRAY selbst)
ROW Type:
bestimmte Anzahl von Elementen mit unterschiedlichen Datentypen
- strukturierte Werte in einem einzelnen Feld einer Tabelle
- beliebig tiefe Schachtelung
- Verletzung der ersten Normalform
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Neue Funktionalitäten
Strukturen in Tabellen / zwischen Tabellen
Erzeugung von Tabellen
CREATE TYPE Mit(
Mitnr VARCHAR(5),
Name VARCHAR(10),
Vorname VARCHAR(10),
Anschrift Row (Plz VARCHAR(5),
Ort VARCHAR(20),
Strasse VARCHAR(30)),
Alt SMALLINT,
Beruf VARCHAR(15),
Gehalt INTEGER,
Telnr VARCHAR(12) ARRAY[5],
PRIMARY KEY (Mitnr))
Dresden
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
Strukturen in Tabellen / zwischen Tabellen
Dateneingabe
INSERT INTO Mit VALUES(‘101‘, ‘Hase‘, ‘Hoppel‘,
ROW (‘Feld‘ ,‘0815‘, ‘Feldweg 20‘),
20, ‘Dipl.-Ing.‘, 3500, ARRAY [‘4711‘, ‘0815‘])
Datenauswertung
Der Zugriff auf die Elemente vom Typ ROW erfolgt über die Punktschreibweise, wie es auch bei strukturierten Datentypen der Fall ist.
Auf ARRAYs kann über die ordinale Position oder mit Hilfe von UNNEST
zugegriffen werden.
SELECT Name, Vorname, Anschrift.Ort, Anschrift.Plz,
Anschrift.Strasse, Telnr[1]
FROM Mit
WHERE Mitnr = ‘101‘
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Neue Funktionalitäten
Standards neben SQL:1999
SQL-Java
SQLJ Part 0: Embedded SQL in Java
SQLJ Part 1: Routinen in Java
Implementierung von SQL-Routinen in Java
SQLJ Part 2: SQL-Typen in Java
Implementierung von strukturierten Datentypen in Java
SQL/MM (Multimedia)
SQL/MM Part 1: Framework
Überblick und Konformanzklausel
SQL/MM Part 2: Fulltext
Regelt Konstruktion von Volltext und Suchmustern
SQL/MM Part 3: Spatial
Informationen zur Speicherung, Manipulation und
Suche von gemetrischen und topografischen Daten
SQL/MM Part 4: Still Image
Informationen zum verarbeiten und analysieren von
Standbildern
Dresden
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
SQL und Java
- in den letzten Jahren der Standardisierung von SQL:1999
zumehmend Festlegungen zur Interaktion und Integration
von SQL und Java getroffen.
- Java Virtual Machine (JVM) als Bestandteil des Datenbankservers
- Java-Klassen als Bestandteil des DB-Servers oder der Datenbank
dynamic SQL
JDBC 1.2
2.0
static SQL
SQL OLB
ANSI
ISO
DB Server
SQL:1999
Server-side
Logic
SQL:1992
SQLJ Part 1
stored procedures
user-define functions SQL Routines
advanced datatypes
PSM
structured types
External Routines
subtyping
SQLJ Part 2
methods
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
SQL und Java
Ablaufszenario der JDBC-Benutzung
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
SQL und Java
JDBC Zugriff auf SQL-Datenbanken
Verbindungsaufbau
String url = “jdbc:db2:mydatabase“;
Class.forName(“COM.ibm.db2.jdbc.app.DB2Driver“);
Connection con = DriverManager.getConnection(url, “user“, “password“);
SQL-Statement erzeugen
String sqlstr = “SELECT Name, Vorname FROM Mit WHERE Mitnr = ‘101‘“;
Statement stmt = con.createStatement();
SQL-Statement ausführen
ResultSet rs = stmt.executeQuery(sqlstr);
Resultat verarbeiten
rs.next();
String name = rs.getString(1);
String vorname = rs.getString(2);
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Neue Funktionalitäten
SQL und Java
Dresden
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
SQL und Java
SQL/OLB Einbettung in Java
Verbindungsaufbau
String url = “jdbc:db2:mydatabase“;
Class.forName(“COM.ibm.db2.jdbc.app.DB2Driver“);
DefaultContext.setDefaultContext(
new DefaultContext((url, “user“, “password“, false));
SQL-Statement ausführen und Resultate verarbeiten
String name, vorname;
#sql {SELECT Name, Vorname INTO :name, :vorname FROM Mit
WHERE Mitnr = ‘101‘}
System.out.println(name + “, “ + vorname);
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Neue Funktionalitäten
SQL und Java
Möglichkeiten zur Authorisierung
- Statisches SQL in Verbindung mit dem Programm
• Die Anwendung verfügt über Tabellenrechte des Programmierers
• Benutzer der DB verfügen über Ausführungsrechte des Programms
- Dynamisches SQL in Verbindung mit dem Benutzer
• SQL unabhängig von dem Programm
• Benutzer muss über entsprechende Tabellenrechte verfügen
• Problem für große Programme
- Vergleich
• SQLJ kontra JDBC
• geringere Flexibilität während der Laufzeit
• ermöglicht Fehlerkorrektur während der Implementierungsphase
• statisches SQL kann performanter sein
Dresden
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
SQL und Java
SQL Routinen, die Java benutzen (SQLJ Part 1)
- Benutzung von statischen Java Methoden, zur Implementierung
von Stored Procedures und UDF
• Parametertypumwandlung, Fehler- und Ausnahmebehandlung
• Stored Procedures: Rückgabeparameter, Rückgabe von Ergebnismengen
• Methodenkörper können JDBC oder SQLJ beinhalten
- SQL DDL Operationen
• Änderungen bei CREATE PROCEDURE und CREATE FUNCTION
- JAR-Datei wird ein Datenbankobjekt
• vordefinierte Proceduren zum Installieren, Ersetzen und
Entfernen von JAR Dateien
• Zugriffsrechte auf JAR Datei
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
SQL und Java
Benutzerdefinierte Routinen
in SQL:1999 Aufrufe festgelegt
stored procedure
In SQLJ Teil 1
Implementierung festgelegt
user defined function
SQL-Routinen
(nach SQL-PSM)
Def.: IN/OUT-Parameter
dynamic result set
Aufruf: CALL-Statement
Java-Klassen implementieren
Verhalten SP und UDF
Externe Routinen komp. Javacode in DB installiert
(C, Java, ...)
nur IN-Parameter
ein Resultat dessen Datentyp definiert wird
innerhalb beliebiger DML-Befehle
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
SQL und Java
Implementierung von benutzerdefinierten Routinen
Java Klasse implementiert das Verhalten der Prozeduren
public class MitProzedur{
public static void avgGehalt(String beruf, int gehalt) throws SQLExeption{
#sql {SELECT AVG(Gehalt) INTO :gehalt FROM Mit Beruf = :beruf};
}
}
Installieren des SQLJ jar-files in der Datenbank
CALL SQLJ.INSTALL_JAR(‘file:/home/user/classes/Mit.jar‘, ‘Mit_jar‘);
Vollständige DDL zum Erzeugen der Prozedur
CREATE PROCEDURE avgGehalt(IN beruf VARCHAR(30),
OUT gehalt NUMBER(10))
EXTERNAL NAME ‘Mit_jar:MitProzedur.avgGehalt‘
LANGUAGE JAVA
PARAMETER STYLE JAVA
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
SQL und Java
SQL Typen, die Java benutzen (SQLJ Part 2)
- Benutzung von Java Klassen zur Definition von SQL-Typen
• Abbildung auf strukturierte oder native SQL Typen (BLOBs)
• Verwendung zur Definition von Spalten
• Verwendung zur Definition von SQL:1999 tables (SDT)
- Abbildung von Objektstatus und Verhalten
• Java Methoden werden zu SQL:1999 Objektmethoden
• Java Methoden können innerhalb von SQL Statements aufgerufen werden
- Beinhaltet die Verwaltung von USAGE-Privilegs auf SQL-Typ
- Benutzung der Prozeduren zum Ersetzen und Löschen von SQLJ Jar Dateien
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
SQL und Java
Erweiterte CREATE TYPE Syntax zur Abbildung von Java-Klassen
in SQL Typen
- DLL Operation oder
- Abbildungsbeschreibung im deployment descriptor
- Unterstützung der Abbildung von
Java
SQL
class
user-defined (structured) type
member variable
attribute
method
method
constructor
constructor method
static method
static method
static variable
static observer method
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Neue Funktionalitäten
SQL und Java
- SQL Konstruktor-Methoden
• haben den selben Typ, für den sie definiert sind
• werden unter Verwendung des NEW Operators aufgerufen
- SQL kennt keine statischen Membervariablen
• Modifikation der statischen Variable werden nicht unterstützt
• abgebildet auf eine statische SQL Methode, die den Wert der
statischen Variable zurückgibt
Dresden
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
SQL und Java
Implementierung von strukturierten Datentypen
Java Klasse
public class Adresse implements Serializable, SQLData{
public String Strasse;
public String Hausnummer;
public String Ort;
public static String Land = “BR Deutschland“;
public String druckeAdresse() {...};
public void aendereAdresse(String adr)
{... //Zerlegen und Felder ändern}
public void readSQL(SQLInput in, String type) {...};
public void writeSQL(SQLOutput out) {...};
}
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
SQL und Java
Implementierung von strukturierten Datentypen
SQL DDL
CREATE TYPE Adresse EXTERNAL NAME ‘adresse_jar:Adresse‘
LANGUAGE JAVA(
Nr VARCHAR(3) EXTERNAL NAME ‘Hausnummer‘,
Str VARCHAR(30) EXTERNAL NAME ‘Strasse‘,
Ort VARCHAR(30) EXTERNAL NAME ‘Ort‘,
STATIC METHOD Land() RETURNS VARCHAR(30)
EXTERNAL VARIABLE NAME ‘Land‘,
METHOD druckeAdresse() RETURNS VARCHAR(100)
EXTERNAL NAME ‘druckeAdresse‘,
METHOD aendereAdresse(VARCHAR(100)) RETURNS Addresse
SELF AS RESULT EXTERNAL NAME ‘aendereAdresse‘
)
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
SQL und Java
DB2
Oracle
MS SQL2000
JVM in DB-Server
integriert
Jserver JVM in DBServer implementiert
Anbindung von Java- JVM in DB-Server
Programmen lediglich integriert
mit JDBC 2.0
kompatiblen Treiber
Stored Procedure und
UDF programmiert in
Java werden im Datenbankkern ausgeführt
Java-Klassen als
Schemaobjekt
Definition von JavaKlassen mit CREATE
JAVA möglich
.NET in Konkurrenz
zu Java
SQLJ Part 1 und SQLJ
Part 2 werden
unterstützt
mit SQLJ Translator,
SQLJ Runtime,
SQL Profile wird
SQL:1999/OLB
unterstützt
SYBASE
Java-Klassen in der
Datenbank gespeichert
Java Methoden in SQL
aufgerufen
Java.Net unterstützt
SQLJ Part 1 voll
SQLJ Part 2 weitestgehend unterstützt
SQL:1999/OLB wird
nicht unterstützt
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Neue Funktionalitäten
XML und Datenbanken
- XML, die neue Sprache für den Datenaustausch im Web
- XML, zur Modellierung von Struktur und Inhalt semi-strukturierten Daten
• kein einheitliches, „durchgehendes“ Schema
• Bedeutung der Struktur wird mit dem Inhalt zusammen dargestellt
• Teilweise tiefe und unregelmäßige Strukturen mit fehlenden oder
sich wiederholenden Strukturen und Inhalten
- XML abgeleitet von SGML
- XML, Metasprache, Sprache zur Definition von Sprachen
Dresden
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Neue Funktionalitäten
XML und Datenbanken
- XML-Dokumente (besser XML Objekte) müssen gespeichert werden
- nur Speicherung in Datenbank garantiert
• mächtige und effiziente Suchfunktionen
• Datensicherheit durch transaction management
• hinreichenden Zugriffsschutz
• Mehrbenutzerbetrieb
Dresden
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
XML und Datenbanken
Information Retrievel
Systeme
• Medlars
• Juris
• Golem
• Spirs
XML Datenbanken
unstrukturierte
Daten
semistrukturierte
Daten
• Tamino
• Natix
DBMS
• OODBMS
• RDBMS
• Netzwerk-DBMS
• Hierarchische DBMS
strukturierte
Daten
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
XML und Datenbanken
Aspekt
Erscheinungsbild
Strukturierung
sinntragende
Daten
„mixed content“
Beispiele
Grobeinteilung der Dokumente
DokumentenDaten-zentrisch
zentrisch
„lesbare“ Dokumente wie Daten im
RDBMS
selten genau gleich,
meist einheitlich,
einfach bis komplex, meist einfach
tief
auf allen Ebenen,
in Blattelementen
grob granuliert
und Attributen,
fein granuliert
viel
Ausnahme
Zeitschriftenbeiträge,
Bücher, Handbücher,
Vorträge
Telefonbücher,
Bestellungen,
Fahrpläne,
Produktkataloge
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
XML und Datenbanken
XML
Datenbanken
- relationale DBMS
• Element-orientierte Zerlegung/Speicherung/Komposition
• Dokument-orientierte Speicherung/Wiederauffinden
- objektorientierte DBMS
- native XML-DBMS
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
XML und Datenbanken
Element-orientierte Zerlegung/Speicherung
- Inhalt oder Struktur als Orientierungspunkt
- generische Zerlegung / Speicherung (generisches Mapping)
vorgefundene Strukturen werden nach verschiedenen Ansätzen umgesetzt
XML-Dokumente
DB-Schema
DTD
Tabelle
XML Schema
-definitorische Zerlegung/Speicherung (statisches Mapping)
• Definition einer Abbildungsvorschrift zwischen XML-Dokumenten
und DB-Tabellen
• Abbildungvorschrift muss vor dem ersten Abspeichern erstellt werden
• Elemente und Attribute können auf Zeilen / Spalten verschiedener
Tabellen abgebildet werden
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
XML und Datenbanken
Strukturorientierte Ansätze (z.B. nach Florescu / Kossmann)
- Ansatz generiert ohne vorhandene DTD und notwendige
Benutzereingaben ein DB-Schema
- Ausgangspunkt ist die Baumstruktur des XML-Dokumentes
- Abbildung der Subelemente (Kanten)
• Kantenansatz – für jeden Kantentyp eine Tabelle
viele Tabellen
• Universaltabelle – alle Kanten in eine Tabelle
viele Nullfelder
- Abbildung der Werte
• Speichern der Werte in seperaten Tabellen - für jeden
Datentyp eine Wertetabelle
• Speichern der Werte in Inlining-Verfahren
– Zeileninhalt aus Kantentabellen und Wertetabelle abgebildet
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
XML und Datenbanken
Inhaltsorientierte Ansätze (z.B nach Shanmugasundaram, Tufte, He u.a.)
- Struktur der in der DTD beschriebenen XML-Dokumentes
wird in DB-Schema umgesetzt
komplexe
DTD
transformierte
DTD
DTD
Graph
- Basic Inlining
für jedes Element eigene Tabelle
viele Tabellen leer
- Shared Inlining
festgelegte Elemente benutzen gemeinsam eine Tabelle
- Hybrid Inlining
DB
Schema
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Neue Funktionalitäten
XML und Datenbanken
Elementorientierte Zerlegung / Speicherung
- Vorteil
• Zugriff kann wie auf „normale“ SQL-Daten erfolgen
(Performance, Datensicherheit, Zugriffschutz, ...)
- Nachteil
• Overhead für Mapping
Dokumentorientierte Zerlegung / Speicherung
- Vorteil
• Overhead für Mapping nicht notwendig
- Nachteil
• Bearbeitung von Teildokumenten schwierig
• Suche im Dokument aufwendig
• schlechtere Performance
Dresden
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
XML und Datenbanken
Probleme beim Mapping XML-Dokument
- XML-Prolog
- Kommentare
- processing instructions
- mixed content
- rekursive Strukturen
- Reihenfolgeerhaltung
- Ablösung der DTD durch XML-Schema
(Teile der Ansätze orientieren sich an der DTD)
DB-Schema/Tabellen
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
XML und Datenbanken
DB2
Oracle
MS SQL2000
SYBASE
XML-Funkionalität mit
UDF und Stored
Procedures in einem
Extender realisiert
XML-Funktionalität
voll im DB-Kern
integriert, XML
Developer Kit
XML-fähiger
Datenbankserver
Seit ASE 12.0
integrierte XMLUnterstützung
Beim Mapping XMLDokument
Tabellen
Definition einer
Abbildungsvorschrift
(DAD) benutzt
XML-Funktionalität mit
XML-Datentyp
Speichern von XML(Dokumentenorientier Dokumenten in DB mit Hilfe von Java realisiert
te Speicherung)
OPENXML-RowsetProvider
XML Funktionalität
in mit Java und
PL/SQL realisiert
Wiederauffinden /
Erzeugen von XMLDokumenten mit
SELECT-Anweisung
und FOR XML-Klausel
oder der XpathAbfragesprache
Element-, Dokumentund hybride
Speicherung möglich
Abfrage auch mit XQL
möglich
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
Data Warehouses
- Decision Support Funktionalität des Datenbankservers wird:
• erweitert / ausgebaut (z.B. Mehrdimensionalität)
• ergänzt (ETL-Tools, Data Mining, OLAP)
• teilweise verselbständigt in speziellen Komponenten des Datenbankservers
(Data Blades, Cartridges, Extender)
• ganz verselbständigt in speziellen Data Warehouse-Servern
- „alte“ und neue Zugriffsverfahren werden eingesetzt:
• Hype Cube Index
• Bitmap Index
• Bitmap Join Index
• Materialized View
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
Data Warehouses
OLTP imVergleich mit DSS
Unterstützung der
Geschäftsprozesse
(prozessorientiert)
Untersützung von strategischen
Entscheidungen
(themenorientiert)
Identifikationskriterium
eindimensional
Identifikationskriterium
mehrdimensional
vorhersehbare Abfragen
einfache Abfragen
Ad-Hoc-Anfragen
komplexe Anfragen
kleine bearbeitete Datenmengen große gefundene Datenmengen
kurze Transaktionen
lange Transaktionen
Update/Select
Select (Read Only)
Echtzeit-Aktualisierung
Deailzeilenabfrage
Batch Aktualisierung
zusammenfassen und
gruppieren
Zeitbezug gegenwärtig
Zeitbezug historisch und
gegenwärtig
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Neue Funktionalitäten
Data Warehouses
Dresden
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
Data Warehouses
Unterstützung der Data-Warehouse-Funktionalität in SQL:1999
- Eine wesentliche Unterstützung ist in der Erweiterung der
GROUP-BY-Klausel zu sehen
GROUP BY ::= <grouping column reference>
| <rollup list>
| <cube list>
| <grand total>
| <grouping sets list>
| <concatenated grouping>
- Mit ROLLUP wird nach angegebenen Spalten gruppiert und zusätzlich für
jede Gruppe eine Zeile eingefügt
(Aggregationen entlang der Dimensionshierarchien)
- Mit CUBE kann mehrdimensional gruppiert werden
- Mit GROUPING SETS lassen sich mehrere Gruppierungen nach
verschiedene Spalten und unterschiedlichen Gruppierungsarten kombinieren
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
Data Warehouses
Beispiel für Gruppieren mit ROLLUP
SELECT Monat, Bundesland, Verkaeufer, SUM(Umsatz) FROM Verkaeufe
WHERE Jahr = ‘2001‘ GROUP BY ROLLUP(Monat, Bundesland, Verkaeufer)
Monat
Bundesland
Verkäufer
SUM
April
Sachsen
Müller
25000
April
Sachsen
Lehmann
15000
April
Sachsen
-
40000
April
Thüringen
Lehmann
15000
April
Thüringen
-
15000
April
-
-
55000
Mai
Sachsen
Müller
25000
Mai
Sachsen
-
25000
Mai
Thüringen
Lehmann
15000
Mai
Thüringen
-
15000
Mai
-
-
40000
-
-
-
95000
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
Data Warehouses
Beispiel für Gruppieren mit CUBE
SELECT Monat, Bundesland, Verkaeufer, SUM(Umsatz) FROM Verkaeufe
WHERE Jahr = ‘2001‘ GROUP BY CUBE(Monat, Bundesland, Verkaeufer)
Monat
Bundesland
Verkäufer
SUM
April
Sachsen
Müller
25000
April
Sachsen
Lehmann
15000
April
Sachsen
-
40000
April
Thüringen
Lehmann
15000
April
Thüringen
-
15000
April
-
Müller
25000
April
-
Müller
30000
April
-
-
55000
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
Fortsetzung
Data Warehouses
Mai
Sachsen
Müller
25000
Mai
Sachsen
-
25000
Mai
Thüringen
Lehmann
15000
Mai
Thüringen
-
15000
Mai
-
Müller
25000
Mai
-
Lehmann
15000
Mai
-
-
40000
-
Sachsen
Müller
50000
-
Sachsen
Lehmann
15000
-
Sachsen
-
65000
-
Thüringen
Lehmann
30000
-
Thüringen
-
30000
-
-
Müller
50000
-
-
Lehmann
45000
-
-
-
95000
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
Data Warehouses
DB2
Oracle
MS SQL2000
SYBASE
Data Warehouse
Server der bei
einer Standardinstallation
installiert wird
Vielzahl von
Integration von
Business Intelligence Funktionen für Data
und Data Warehouse Mining und OLAP
Funktionalität in DBServer
spezieller
Data Warehouse
Server Adaptive
Server IQ
Steuerung über
externes Tool,
namens DB2
Control Center +
Tools für
Auswertung
Bietet Data Mining,
ROLAP und
MOLAP an
Data
Transformation
Services (DTS)
Satz grafischer
Tools für DWDesign und ETL
Warehouse
Architekt als Data
Warehouse und Data
Mart Design Tool
hat GROUPING
SETS, ROLLUP,
CUBE,
implementiert
hat GROUPING
SETS, ROLLUP,
CUBE, RANK
OVER, PARTITION
BY implementiert
hat GROUPING
SETS, ROLLUP,
CUBE,
implementiert
Warehose Control
Center Toolset zur
Administration,
Warehouse DB und
Data Marts
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
Information Retrieval Funktionalitäten
- In SQL:1999 Datentypen CLOB und BLOB zur Speicherung
langer Texte
- konkrete DBMS haben ähnliche Datentypen
- Besonderheiten bei der Arbeit mit derartigen Datentypen
• Benutzung eines LOCATORS
• Spalten können nicht Primär- und Fremdschlüssel
oder Join Spalte sein
• Kein GROUP BY, ORDER BY, EXCERT, INTERSECT, UNION,
größer als, kleiner als, ...
- Volltextsuche
- Volltextrecherche
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Neue Funktionalitäten
Information Retrieval Funktionalitäten
DB2
Oracle
MS SQL2000
SYBASE
Textextender funktional
mächtigste Textsuchmaschine von DB2
(mittels externer UDF)
ORACLE TEXT
(ehemals
interMediaText)
Indizierungs-,
Recherche- und
Verwaltungssystem für
Text
Datentypen
TEXT, NTEXT
(Unicode) und
IMAGE zur
Speicherung von
Objekten bis 2
GB
Volltextsuche
außerhalb des DBServers mittels
Zusatzoptionen
(Enhanced Full Text
Search)
Information Extender
(mittels interner UDF)
Verwendung von SQL SELECT und
Die
zum Indizieren, Durch- UPDATE mittels FullSearcheEngine
suchen und Analysieren Textpointer
von Verity führt die
eigentliche Volltextrecherche durch
Net.Search Extender
schnellste Suchmaschine
von DB2 (mittels stored
procedures)
Dokumentenservice
Volltextsuche
über Volltextkataloge
Einbindung der
Verity- Engine über
Component
Integration Service
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Resümee / Ausblick
- Durchbruch zu OODBMS ist nicht erfolgt
Gründe:
• Migration der DB-Anwendungen und Datenbanken wird nicht
beherrscht
• keine unterschiedlichen „Philosophien“ in der Datenbank eines
Unternehmens
• Marktmacht der RDBMS-Anbieter
• Administrationsprobleme
- erweiterte relationale RDBMS über den Prototyp nicht hinausgekommen
- Interaktion und Integration von SQL und Java weit vorangetrieben
- zahlreiche Aktivitäten zwischen Speichern und Wiederauffinden von
XML Dokumenten durch RDBMS und ORDBMS
- Leistungsfähigkeit, Komplexität und Umfang der RDBMS steigt
Frage: Was wird von SQL:1999 umgesetzt werden?
- Tendenzen zur Spezialisierung (Extender, Data-Warehouse-Systeme)
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Resümee / Ausblick
- Ziegler: „Die Evolution der RDBMS scheint ihren Höhepunkt erreicht zu
haben und wenige bahnbrechende Neuerrungen lassen sich aus
diesem Grund erzielen.“
- Bayer:
„Allgemeingültige Methode und Tabellenstruktur zum Speichern
und Wiederauffinden von XML-Dokumenten in/aus Dokumenten
wird gefünden.
RDBMS werden noch lange Bestand haben.“
- Frage:
Wie werden RDBMS/ORDBMS mit Multimedia-Daten fertig?
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Literaturquellen
Java
/De01/
Deßloch, Stefan
SQL-Norm und Java
Datenbank-Spektrum (2000) H. 1,
S. 25 - 32
/Mü99/
/EnGrHa01/
Engels, Holger, Grüner, Andreas, Haaf, Armin
Flügel verleihen
wingS: Dynamische Webseiten mit Java
iX (2001) H. 1, S. 175 - 178
/Po-He01/
/Fi01/
Fischer, Stephan
Java und verteilte Systeme
it + ti (2001) H. 3, S. 132 – 141
/He99/
Heid, Jörn
Vieles neu
JSP-Spezifikation 1,0 fertiggestellt
iX (1999) H. 8, S. 114 – 119
/Me00/
Merkle, Berhard
Geschäftsbohnen
Im Vergleich: Acht EJB Application Server
iX (2000) H. 12, S. 68 - 75
/Mi99/
Middendorf, Stefan
Wohlgeformte Bohnen
XML-Verarbeitung mit Java
iX (1999) H. 2, S. 42 – 49
/Mü01/
Münkel, Bernhard
Palastrevolution
Mozquito Matrix Server
it (2001) H. 8/9, S. 47 – 67
/Rei01/
/RöRo00/
/RöRo00/
Müller, Frank
Frisch gebrannt
Neuigkeiten von Java 2.0
iX (1999) H. 4, S. 138 - 142
Poetzsch-Heffter, Arnd
Javas Sprachentwurf im Spiegel der Anforderungen an mobilen
Programmcode
it + ti (2000) H. 3, S. 125 - 131
Reibold, Holger
Wo steht XML?
Langfristig führt kein Weg an XML vorbei
it (2001) H. 10, S. 50 – 54
Röwekamp, Lars, Roßbach, Peter
Tonno e cipolla
JSP-Tutorial, Teil 2: Model-View-Controller und
Datenbankintegration
iX (2000) H. 8, S. 148 – 154
Röwekamp, Lars, Roßbach, Peter
Frutti di Mare
JSP-Tutorial, Teil 3: TagLibs, XML und Mail
iX (2000) H. 9, S. 172 – 178
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Literaturquellen
SQL:1999
/Ac99/
Achtert, Werner
SQL geht – OQL kommt?
Die objektorientierte Sicht auf Datenbanken
it (1999) H. 6, S. 8 - 17
/Bi01/
Bittner, Ralf
Die neuen Funktionen von SQL 3 und ihre
Anwendungsmöglichkeiten in der Praxis
Diplomarbeit (2001), HTW Dresden
/DeDe94/
Demuth, Birgit, Demuth, Frank
SQL 3
Ein SQL für das Jahr 2000?
ix Multiuser Multiasking Magazin (1994), H. 3
Information Retrievel
/Ro99/
Roller, Steffen
Wer suchet, der findet ...
SQL oder Volltextdatenbank?
it (1999) H. 9, S. 19 - 22
Data Warehouse
/BaSchi00/
/KeKu01/
/RoEl99/
/Schl01/
Bange, Carsten, Schinzer, Heiko D.
Data-Warehouse-Lösungen im Vergleich
Studie des Business Application Research Center
it (2000) H. 9, S. 57 – 62
Keul, Ralf, Kurz, Andreas
Flexible Schema-Unterstützung
Neue Wege der „multidimensionalen“ Datenbankmodellierung
it (2001) H. 6, S. 40 – 51
Roth, Christian, Elhardt, Klaus
Hyper Cube Index
Alternative Indexstrukturen für das Data Warehouse
it (1999) H. 11, S. 43 – 45
Schlauer, Alfred
Universeller Wissensspeicher
Single Engine-Based-Data Warehouse
it (2001) H. 6, S. 29 - 33
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Literaturquellen
XML
/Sy00/
/Be01/
/BrKrOlScha01/
/FK99/
/Hu01/
/Ju00/
/Ju00/
Using XML with the Sybase Adaptive Server SQL Databases
A Technical Whitepaper
http://www.Sybase.com
(November 2000)
Behme, Henning
Angelpunkt
Wo die Extensible Markup Language derzeit steht
iX (2001) H. 6, S. 52 –54
Bry, Francois, Kraus, Michael, Oltenau, Dan, Schaffert,
Sebastian
Semistrukturierte Daten
iS (2001) H. 8, S. 230 - 233
Florescu, D., Kossmann, D.: A Performance Evaluation of
Alternative Mapping Schemes for Storing XML
Data in al Relational Database. Rapport de Recherche No.
3680
INRIA, (August 1999)
Huhmann, Jochem
Fast wie von selbst
XML: mit DocBook und Emacs arbeiten
iX (2001) H. 9, S. 134 - 138
Jung, Frank
Ohne XML kein Electronic Business
eXtensible Markup Language (2)
it (2000) H. 3, S. 9 – 14
Jung, Frank
Universelles Datenaustauschformat
eXtensible Markup Language (1)
it (2000) H. 2, S. 9 – 14
/Ju01/
/Kl01/
/Mi99/
/Op99/
/Rei99/
/Sh99/
/We01/
/Zie01/
Jung, Frank
B2B or not to be:
eine Frage der richtigen Datenbank
Intelligentes Datenmanagement mit XML
it (2001) H. 5, S. 36 – 40
Klever, Nik
Elementarteilchen
XML-Schema: objektorientierte Dokumenttypdefinitionen
iX (2001) H. 6, S. 62 – 66
Mintert, Stefan
Serving XML
SML-Daten ins WWW liefern
iX (1999) H. 10, S. 177 – 181
Oppel, Karin
XML überfordert RDBMS
XML und Datenbanken
it (1999) H. 6, S. 24 – 26
Reibold, Holger
Inside XML
Technische Umsetzung
it (1999) H. 3, S. 73 – 78
Shanmugasundaram, J. et al: Relational databases for
querying XML documents: limitations and opportunities, Proc.
25 th
VLDB conference,
(1999), pp. 302-314
Wegelin, Michael
NET baut auf XML
Die Kommunikationsstruktur der NET-Server-Familie
iX (2001) H. 6, S. 74 –80
Ziegler, Cai
Weltendämmerung
XML und Datenbanken: Einblick in Tamino
iX (2001) H. 6, S. 56 –61
Prof. Dr. Uwe Wloka
Fachbereich Informatik / Mathematik
Dresden
Literaturquellen
konkrete DBMS
/Al01/
Albrecht, Jens
Business Intelligence mit Cracle 9i
Datenbank-Spektrum (2000)
H. 1, S. 36 – 43
/Mes00/
Mesaric, Gerald
Offen für vieles
iFS: kostenloses Filessystem für Oracle8i
iX (2000) H. 9, S. 60 – 63
Business Intelligence – dank Microsoft SQL Server 2000
Datenbank-Spektrum (2000)
H. 1, S. 44 – 45
/Mes99/
Mesaric, Gerald
Alles Java
Oracle 8i: ORDBMS für das Internet
iX (1999) H. 6, S. 61 – 63
/Phi00/
Philipp, Tobias
Mobilität für das E-Business
Daten-Management und E-Commerce mit SQL Anywhere 7.0
it (2000) H. 6, S. 26 – 28
/BoGa00/
Boiselle, Jürgen, Gareis, Klaus-Martin
Beschleunigungsfaktor
Sybase: schneller in wenigen Schritten
iX (2000) H. 3, S. 184 – 189
/DiHiSe99/
Dicken, Hans, Hippe, Gunther, Seeger,
Jürgen
Relativ relational
Linux-Datenbanken im Vergleich
iX (1999) H. 4, S. 44 – 54
Gaedke, Martin, Segor, Christian, Rehse, Jörn
Nächste Stufe
iX (1999) H. 2, S. 58 –62
/GaSeRe9
9/
/Ke01/
Ketzner, Martin
Aufwendiger Prozess
Gutes Design für Oracle 8i/9i-Plattformen
iX (2001) H. 11, S. 126 - 129
/Me01/
Mertens, Holger
Mehrdimensionale Analyse von Unternehmensdaten
SQL Server 2000 von Microsoft
it (2001) H. 7, S. 48 - 50
http://otn.oracle.com/products/content.html
http://otn.oracle.com/products/ias/content.html
http://www.eu.microsoft.com/germany/ms/datenbankserver/sql/
2000
http://www.informatikweek.de
http://www.oracle.com/de/
http://www.oracle.com/global/de/ip/deploy/as/index.html?conten
t.html
http://www.softeware.ibm.com/data/db2/extenders/
www.alphaworks.ibm.com
www.ibm.com/developer/xml
www.ibm.com/e-business
www.software.ibm.com/data/db2
www.software.ibm.com/data/db2/extenders/xmlext/index.html.
Herunterladen