jens hat geschrieben:Ach verdammt, ich merke gerade, das MSSQL z.B. kein AUTO_INCREMENT kennt. Bzw. heißt das bei denen irgendwas mit IDENTITY...
[...]
Also ich möchte ganz gern, das ich PyLucid mit MySQL, SQLite und MSSQL läuft.
Ist es da vielleicht eine gute Strategie einfach nur SQL92 zu nutzten??? Oder ist das auch nicht der kleinste gemeinsamme Nenner??? Ich meine so super tolle neue Dinge wie VIEWS, Trigger ect. nutzte ich aus unwissenheit eh nicht
Hi Jens!
Und unter PostgreSQL funktioniert das mit den Auto-Increments auch noch ein wenig anders.
SQL92 ist nicht unbedingt der kleinste gemeinsame Nenner, da keine der oben genannten Datenbanken SQL92 *komplett* unterstützen. Jedes dieser Datenbanksysteme unterstützt einen Teil von SQL92 und ein Teil davon wurde von den Programmierern jeweils ein wenig anders interpretiert. Das fängt schon beim Erstellen von Tabellen an.
Aus meiner Sicht wäre es eher ein Feature, wenn dein PyLucid **KEINEN** zusätzlichen Datenbankserver braucht.
Und dafür eignet sich *SQLite* wahrscheinlich am besten. Was ich gelesen habe, sollte SQLite auch mit Datenbanken der Größe einiger hundert MB wunderbar klar kommen. Warum also nicht alles auf SQLite "beschränken"? SQLite läuft unter Windows und Linux komplett transparent. Einen ODBC-Treiber, damit auf die SQLite-Datenbank auch mit Excel, Access und Co. zugegriffen werden kann, gibt es auch. Es ist schnell und unterstützt, da bin ich mir ziemlich sicher, alles was du brauchst. Ich kann mir nicht vorstellen, dass der Content einer PyLucid-Site diesen Rahmen je sprengen wird.
Es gibt Programme, mit denen man SQLite-Abfragen oder auch Tabellen designen kann. Man muss also nicht alles per Hand coden. Es gibt auch schon ein "PHPSQLiteAdmin" mit dem du deine Datenbanken wie bei "PHPMyAdmin" über einen Browser verwalten kannst.
Wenn man *AutoCommit* ausschaltet, dann ist dieses Ding richtig schnell.
Wo sind die Nachteile?
- Man lernt beim Programmieren nicht so viel über andere Datenbanksysteme.
IMHO:
Wie ich schon anmerken ließ, sehe ich keinen Vorteil in der Unterstützung mehrerer Datenbanksysteme, wenn sowiso schon SQLite unterstützt wird. Datenbankunabhängig wird das System wohl nur dann, wenn du noch eine Abstraktionsschicht zwischen den Datenbanken und PyLucid einschiebst. Dadurch wird das System aber sicher nicht schneller.
lg
Gerold
