phpbar.de logo

Mailinglisten-Archive

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

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

David Molineus david at molineus.de
Don Feb 24 15:29:00 CET 2005


Hallo,

>Hinzukommt für mich die entscheidende Frage: Wird der Einsatz einer
>Datenbankabstraktionsschicht nicht von vielen Programmierern oft dadurch
>wertlos gemacht, daß in der PHP-Programmierung SQL-Befehle hart kodiert
>werden, am Besten noch mit datenbankspezifischen Funktionen etc.? Welchen
>Wert hat die Abstraktionsschicht noch, wenn sie zwar die
>datenbankspezifischen PHP-Funktionen kapselt, dann aber nur
>datenbankspezifische SQL-Befehle durchschleust?
>  
>
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.

>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. Nur bei 
sehr komplexen Abfragen lässt sich SQL kaum vermeiden.

Gruß,
David

php::bar PHP Wiki   -   Listenarchive