Oracle ist der Produktname eines häufig verwendeten Datenbankverwaltungssystems.
Es wird von der Firma gleichen Namens hergestellt.
Oracle hat in Deutschland 11 Geschäftsstellen. Der Hauptsitz liegt in München.
Eigenschaften
Oracle ist ein sehr leistungsfähiges, objekt-relationales Datenbanksystem. Es gilt unangefochten als Marktführer und läuft unter diversen Betriebssystemen, so auf IBM-Großrechnern, auf diversen Unix-Systemen einschließlich Linux und auf Windows. Die aktuelle Version (Oktober 2003) trägt die Bezeichnung 10g.
Oracle stellt nicht nur ein Datenbanksystem her, sondern auch sehr viel Zusatzkomponenten bis hin zu Business-Software, die mit SAP konkurriert.
Das Datenbanksystem ist zwar sehr leistungsfähig, aber leider verfolgt Oracle nicht den Ansatz hoher Standardkonformität. Hier einige Probleme, die beim Umstieg von einem standardkonformen Datenbanksystem zu Oracle (oder zurück) auftreten:
- Der Datentyp date umfasst bei Oracle neben einem Datum auch eine Uhrzeit. Dafür gibt es im Standard den timestamp, den Oracle in Version 9 ebenfalls eingeführt hat. Leider widerspricht der Type date immer noch dem Standard, was in der Praxis zu vielen nicht gerade trivialen Problemen führt.
- Das aktuelle Datum heißt SYSDATE und nicht CURRENT_DATE
- Es gibt keinen reinen Zeit-Datentyp time (ohne Datum)
- Der Datentyp für variable lange Zeichenketten heißt varchar2 statt varchar.
- Leere Zeichenketten werden als NULL-Value (nicht vorhanden/unbekannt) interpretiert, obwohl der Standard diese beiden scharf unterscheidet.
- Innerhalb von CHECK-Bedingungsprüfungen kann man nicht mit aktuellem Datum vergleichen.
- Erst ab Version 9 kann man die seit 1992 genormten Formulierungen NATURAL JOIN und Verwandte verwenden.
- In UNIONs ist der Wert NULL nur mit Zeichenketten statt mit allen Datentypen kompatibel.
- Es gibt keine Möglichkeit, eine vorhandene Datenbankstruktur in eine Textdatei zu exportieren, die CREATE TABLE-Kommandos enthält.
Zusätzlich stellt Oracle eine Art Überbau für SQL namens PL/SQL zur Verfügung. Mit PL/SQL lassen sich häufig benutzte Datenbankoperationen (nicht nur reine SQL-Befehle, sondern auch komplette Programme) als Datenbankprozeduren (stored procedures) ablegen und sogar als Trigger mit Ereignissen wie Anfügung, Änderung oder Löschung von Datensätzen verknüpfen.