Suche Buch über Python und SQL

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

gerold hat geschrieben:Die Frage ist nur, wie viel man da durch SQLAlchemy gewinnt.
Hast du den IRC-Log gelesen? Dort steht was man in SQLAlchemy ohne ORM gegenüber DB-API gewinnt. Beim ORM kommen dann noch weitere Vereinfachungen die eben gerade bei so CRUD-Sachen nützlich sind.
gerold hat geschrieben:Verbinden -- SQL-Anweisung absetzen -- Ergebnis durchlaufen -- Verbindung trennen.
Macht man so in Webapps wie Inyoka oder das was ich so mit Django mache nicht. Da hat man persistente Verbindungen und Connection Pools, SQLAlchemy bietet da noch ein gewisses Caching und Django lazyness.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Leonidas hat geschrieben:
gerold hat geschrieben:Verbinden -- SQL-Anweisung absetzen -- Ergebnis durchlaufen -- Verbindung trennen.
[...]Da hat man persistente Verbindungen und Connection Pools
Hallo Leonidas!

Ich habe das nur vereinfacht dargestellt. Natürlich würde niemand eine performante Anwendung schreiben können, wenn man für jede Abfrage eine neue Verbindung zur Datenbank aufbaut.

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Leonidas hat geschrieben:Hast du den IRC-Log gelesen? Dort steht was man in SQLAlchemy ohne ORM gegenüber DB-API gewinnt.
Hallo Leonidas!

Ich habe es mir durchgelesen. Der Punkt ist der, dass für mich SQL einfacher ist als die Syntax von SQLAlchemy. Deshalb kann ich das nicht nachvollziehen. Und wie ich schon schrieb, gibt es genug Programme, die das Erstellen von SQL-Anweisungen so einfach machen wie Milch drinken.

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Ich stimme mit gerold durchaus darin überein, dass es Sachen gibt, die am Besten in Händen des DBMS passieren. Das sind teilweise aber auch Bereiche, an die man mit SQL nur begrenzt heran kommt oder ohnehin nicht aus der Applikation selbst einrichtet und verwaltet.

Ebenfalls muss ich anerkennen, dass die DB-API gerade gegenüber dem, was das gemeine PHP-Opfer so kennt, eine feine Sache ist.

Dennoch fehlt SQL - logischerweise - eine Integration in die eine oder andere Programmiersprache, und da punktet dann ein ORM. Insgesamt flexibel für den anspruchsvollen Einsatz ist in meinen Augen wiederum nur ein ORM.

Wenn man nicht sicher ist, welches DBMS man einsetzt bzw. sich die Option eines Wechsels offen halten möchte, ist ein gutes ORM viel Wert. Nur so war es mir möglich, die ersten meiner Applikationen endlich von MySQL auf eine *richtige* Datenbank (jaja, jetzt kann ich das Bashing verstehen :)) umzuziehen.

Dennoch habe ich einige kleine Projekte, die ich inbesondere auch mal veröffentlichen möchte, bei denen ein ORM dem Anwender die Wahl lässt, ob er es als alter DBA-Hase mit PostgreSQL oder anspruchslos mit SQLite benutzen möchte.

Nachtrag: Nach dem Lesen des Logs mit __doc__ erlangt die Unterscheidung von SQLAlchemys verschiedenen Ebenen wieder Bedeutung, *ist* es doch kein ORM, sondern bietet ein ORM als Feature, erlaubt aber auch sehr Schema-nahe Modellierung und Abfragen.
Antworten