Tabelle ist zu entnehmen, dass Interbase [3] über alle aufgezählten Kriterien verfügt. Da diese Datenbank jedoch nicht auf dem Betriebssystem Solaris für Intel, das auf dem Lehrstuhl läuft, installiert werden konnte, stand sie nicht weiter zur Diskussion. Interbase sei aber an dieser Stelle, für den Fall, dass sich das Betriebssystem ändern sollte, trotzdem erwähnt.
Interbase | PostgreSQL | MySQL | |
Trigger | X | ||
ref. Integrität | X | ||
Transaktionen | X | ||
Support | Newsgroups, Mailing- | Mailinglisten, FAQs | Mailinglisten |
listen, FAQs | |||
Dokumentation | |||
ODBC | |||
Subqueries | X | ||
Backup- | SQL-Dump oder Ser- | SQL-Dump oder Ser- | |
Möglichkeit | ver herunterfahren | ver herunterfahren | |
Views | X |
MySQL [5] beherrscht im Gegensatz zu PostgreSQL [7] keine Transaktionen. Um zu verhindern, dass während der Ausführung einer zusammengehörigen Sequenz von Anweisungen andere Benutzer parallel auf die betroffenen Tabellen zugreifen, gibt es die Möglichkeit, einzelne Tabellen zu sperren. Tritt allerdings zwischen den Anweisungen ein Absturz auf, so wird nicht, wie bei PostgreSQL, die ursprüngliche Situation wiederhergestellt. Diese muss dann mittels der Logdatei rekonstruiert werden.
MySQL unterstützt keine referentielle Integrität. Diese ist allerdings im Rahmen des Projektes nicht unbedingt erforderlich, da die SQL-Anweisungen zur Sicherstellung der Konsistenz der Daten in die Skripten aufgenommen werden können. Besonders aufgrund der fehlenden referentiellen Integrität ist MySQL schneller als PostgreSQL.
MySQL kennt jedoch keine Views. Da verschiedene Benutzergruppen mit unterschiedlichen Rechten übers Web auf die Datenbank zugreifen, sind diese zur Ausblendung gewisser Informationen sehr wichtig.