Der ganze Datenbankbereich ist ein Minenfeld, vor allem wenn man sich in der "schwächeren" Geprächsposition befindet. Es ist eben komplex und da neigen Menschen dazu, ihre Vorstellung zu vereinfachen. Und Prüfer müssen ihre Vorstellung nicht unbedingt an die dreckige empirische Wirklichkeit anpassen. Sollten aber.
Da ist so viel Unfug gemacht und gesagt worden...
- in RDBMS haben DBAs und Entwickler oft verschiedene Ansichten darüber, was ein sauberes Datenbankschema ist.
- die noch Ende der 90er lauten OODBMS und Lotus Notes Marketeers sind sehr viel leiser geworden. Um das Jahr 2000 meinten auch ein paar Lotus Notes aficionados, dass sie RDBMS beerben würden, da dies "veraltet" und "zu komplex" wäre. Hat mich damals sehr geärgert, weil die Leute sehr unklare Vorstellungen über RDBMS hatten.
- EJB Entity Beans als "offizieller" Objekt-Relationaler Mapper musste über 8 Jahre 2 mal total-renoviert werden, bis es so ok aussieht. Und verdächtig ähnlich wie ein als Einzelkämpfer-Projekt gestartetes openSource Projekt namens Hibernate.
- die großen RDBMS wie Oracle und DB2 gingen mit dem Begriff "objekt-relational" hausiseren und keiner weiss so recht, was das eigentlich ist.
... und es gibt so viele Neuerungen, die erst nach einer eingehenden Beschäftigung einigermassen korrekt einsortiert werden können...
- O-R/M galten noch um 2002 als eine highly sofisticated enterprize Komponente. Entsprechende Komponenten werden nun aber gratis auf .NET und J2EE mehrheitlich eingesetzt (obwohl es Alternativen gibt): Hibernate, EJB, Toplink oder seit neuesten auch MS-LinQ. Für bestimmte Teil-Aufgaben machen Stored Procedures nach wie vor Sinn. O-R/Ms sind komplex. Hibernate bereitet mir weit mehr Kopfzerbrechen als Spring einfach weil die Aufgabe, die es löst komplexer ist.
- mit iBatis SQLMaps und Spring-JDBC gibts Alternativen zu den O/R-Ms, die für bestimmte Projekte Sinn machen.
- Ruby-on-Rails benutzt Active Records, was wiederum nochmal anders ist.
- O-R/M (und die zugrundeliegende Datenbank zu beherrschen) ist komplexer, als sich viele Entwickler/Projekt Manager vorstellen.
- mit db4o gibts einen ehrlichen OODBMS Anbieter. Für eine nicht kleine Zahl von Java Enterprise Entwickler besitzt die Idee einer OO-DB eine hohe Anziehungskraft. Klare Vorstellungen wo konkret die Vor- und Nachteile liegen, haben die oft nicht (hohes Risiko).
- Oracle hat mit Sleepycat Berkley DB auch eine hierarchische/XML Datenbank im Angebot.
- PosgreSQL und MySQL haben gegenüber Oracle und DB2 aufgeholt
Gruß Axel