Hi Thommy,
Ich habe eine Frage zur Kompatibilität
von SQL-Datenbanken. Und zwar würde mich einmal interessieren,
inwieweit sich die Befehle von zum Beispiel der Oracle8i
und einer MySQL gleichen ?
Da sowohl MySQL als auch Oracle sich sehr stark an den Ansi-Standard für SQL halten, hast Du bei einem Upgrade von MySQL auf Oracle sicher fast keine Probleme. Anders sieht es aus, wenn Du alle Möglichkeiten von Oracle ausnutzt, und dann z.B. auf MySQL downgraden willst - MySQL implementiert zumindest im Moment nicht das ganze Ansi-SQL, noch schwieriger wird es natürlich, wenn Du die sehr praktischen Funktionen von Oracle verwendest, die nicht Teil des normalen SQL-Standards sind (naja, dafür kauft man Oracle ja normalerweise). Generell gilt: Bei normalen selects, inserts oder updates wirst du keine probleme haben, die kommen erst mit solchen Dingen wie subselects, group by oder dem Gebrauch von Funktionen in SQL-Statements.
(Eine Ausnahme ist wie fast immer MSSQL: unsinnigerweise hat MS z.B. die Syntax für delete um einen * verändert...)
Ich muss vielleicht sagen, daß ich davon ausgehe,
daß SQL wie eine Programmiersprache eben einen Befehlssatz
besitzt, den eben verschiedene Datanbanken (Oracle, Informix..)
umsetzten/interpretieren ( wie Ansi C von verschiedenen Compilern
compiliert werden kann), was dazu führt, daß man zum Beispiel
für SAP im prinzip jede SQL-Datenbank verwendne könnte.
Oder ist diese Annahme grundlegend falsch ?!
Die Annahme ist richtig, SQL ist auch ein Ansi-Standard, gegenüber C hast Du aber wohl das Problem, daß viele dbs nur eine Teilmenge implementieren (schlicht und einfach wegen der Komplexität), und das normale Problem, daß sich viele Entwickler in einigen Teilbereichen einfach denken 'naja, Standard hin oder her, das wäre eine viel bessere Lösung...' - und damit ist die Kompatibilität hin.
Viele Grüße
Stephan