T3CON06: Kaspar improvisiert

Da Christian Jul Jensen krank geworden ist und deshalb seinen Vortrag nicht halten kann, springt Typo3-Papa Kaspar Skaarhoj ein und spricht über das Aufräumen eines Typo3-Systems…auf Datenbank-Ebene. Mit seinen Worten: Check the referential integritiy.

Da machen sich doch gleich ungute Gefühle breit, denn: sollte die Datenbank selbst nicht nativ die relationale Integrität von Datensätzen sicher stellen?
Die Antwort ist ein klares Ja!
Können das MyISAM Tabellen, die Typo3 in MySQL verwendet?
Nein!
Sollte man deshalb eigentlich auf MyISAM Tabellen bzw. auf MySQL4.x verzichten?
Ja!

Leider ist die Antwort aber nicht so einfach. Denn die Businesslogik in Typo3 befindet sich komplett im Controller bzw. im PHP-Code, und nicht in der DB (hint: Stored Proceduresuh-oh… ging ja bis Version 5 auch nicht mit MySQL).
D.h. Insert Operationen in die DB können eben auch mit sinnlosen Daten erfolgen, die DB-Software schluckt das, solange die Daten mit korrektem SQL eintreffen.

Insofern macht Kaspar’s Ansatz zumindes teilweise Sinn: weg mit unnötigen Daten, die auf verschlungenen Wegen durch Erweiterungen oder sonstige Mechanismen in die Datenbank gelangt sind.

Was jedoch sinnlos ist und bleibt: versuchen, einem Datenbanksystem wie MySQL bis Version 4.x eine saubere Datenhaltung beizubringen. Denn wenn wie bei MySQL <= 4.x das Aufrechterhalten der Datenintegrität gar nicht in der Software vorgesehen ist, kann man sie auch nicht Nachrüsten. Sorry, Kaspar.