phpbar.de logo

Mailinglisten-Archive

[php] Datenbankabstraktionsschichten und SQL - und PHP ;-)

[php] Datenbankabstraktionsschichten und SQL - und PHP ;-)

Lutz Zetzsche Lutz.Zetzsche at sea-rescue.de
Don Feb 24 15:58:40 CET 2005


Hi David,

David Molineus schrieb:
> Eine Datenbankabstraktionsschicht hat nur dann einen Sinn, wenn man sich
> auf die standardisierte Grundsyntax der SQL-Befehle begrenzt. Ansonsten
> geht natürlich die Möglichkeit der Datenbankunabhängigkeit verloren.

sehe ich auch so. :-)

>>Wenn also eine Datenbankabstraktionsschicht in Frage käme, dann müßte
>>diese doch einen "SQL Query Builder" (wie z.B. PEAR DB_DataObject) haben
>>und nur der dürfte verwendet werden. Dann wiederum stellt sich die Frage,
>>wieweit ich mit diesem "Query Builder" dann bei komplizierten,
>>verschachtelten Datenbankabfragen über mehrere Tabellen komme...
>>
> Eine interessante Variante bietet das Propel (http://propel.phpdb.org).
> Dies ist eine Abstraktionsschicht (für PHP 5), welche noch weiter geht
> als die "normalen" Datenbankabstraktionen. So werden Objekte für die
> Datenverwaltung verwendet. Um Abfragen durchzuführen braucht man
> normallerweise kein SQL. Stattdessen verwendet man Kriterien (Criteria
> Objekte) um sie festzulegen. Auch Relationen werden unterstützt.

Danke, daß Du mich da noch einmal drauf gestoßen hast... :-) Ich habe, als
ich http://creole.phpdb.org/ eingegeben habe, auch mal
http://www.phpdb.org/ aufgerufen und habe so den Hinweis auf Propel
gesehen, aber auf die Schnelle nicht geschnallt, wofür das gut ist. ;-)

Creole ist ja auch ein Unterprojekt von Propel. Ich werde mir beides auch
unter dem Aspekt noch einmal genau angucken. Merci! :-)

> Nur bei sehr komplexen Abfragen lässt sich SQL kaum vermeiden.

So wird es wohl sein. Wenn man aber nur an diesen wenigen Stellen richtig
selbst mit SQL werkelt, dann sind die Stellen, die die
Datenbankunabhängigkeit gefährden können, schon mal deutlich reduziert und
bei einer eventuellen Portierung beherrschbar.


Viele Grüße

Lutz


php::bar PHP Wiki   -   Listenarchive