dedlfix: Bäume aus Datenbank selektieren

Beitrag lesen

Tach!

Framework gibts nicht... ich hab nur eine gegebene Datenbankabstraktion (für Select, Insert usw.), der Rest ist Eigenbau. Aber du würdest die Logik komplett ins Modell (ausgehend von MVC) bauen? (Ok, mit meinem ersten Ansatz wäre sie auch dort gewesen)

Ich kann mich ohne genaueres Hinschauen nicht entscheiden, was ich machen würde. Mit so einer komplexen Struktur würde ich vielleicht auch erst ein paar Versuche in verschiedenen Richtungen anstellen, um zu sehen, was sich besser macht.

Mit einem ORM lassen sich ja die Beziehungen zwischen den Datenbank-Entitäten abbilden. Statt Fremdschlüsseln hat man in seinem Objekt Eigenschaften die auf weitere Objekte verweisen, die für die Einträge aus anderen Tabellen stehen - oder auch reflexiv auf die eigene Tabelle verweisen. Wenn man sich an diesen Eigenschaften entlanghangelt, macht der ORM im Hintergrund üblicherweise Lazy Fetching, also holt sich die Daten bei Bedarf. Das ist nicht besonders toll für das DBMS und die Performance, weil damit viele Einzelabfragen erzeugt werden. Massendatenabfragen machen sich im Verhältnis dazu mit Joins im DBMS günstiger.

Es kommt nun drauf an, was du für Anwendungsfälle du vorliegen hast - oder anders gefragt, ob sich das Lazy-Fetching nachteilig bemerkbar macht und du doch lieber auf eine DBMS-günstigere Vorgehensweise setzen solltest. Zur Not kannst du die Komplexität von Abfragen immer noch in Views und Stored Procedures verstecken.

dedlfix.