Entwickler-Ecke
Datenbanken - FB Stored procedure
Carla - Do 02.07.09 11:46
Titel: FB Stored procedure
Hallo,
Ich habe einige kleine Routinen, welche ausschließlich Tabellen in der Datenbank manipulieren.
(z.B. Ergänzen einer lfd. Nr., Datengruppierung über Gruppenkennzeichen u.s.w.)
Das kann ich entweder aus dem Programm mit wenigen Zeilen quellcode oder als Stored procedure direkt in
der Datenbank erledigen lassen.
Was ist ein guter Stil?
Alle Datenmanipulationen direkt in der Datenbank oder programmgesteuert ablaufen lassen?
Ich verwende FB 2.1 .
Für eine Meinung dankbar.
Gruß
Carla
jasocul - Do 02.07.09 12:05
Also, laufende Nummern generiert man auf der Datenbank über Trigger.
Gruppierungen macht man meistens über ein View, das auf der DB definiert ist. Es sei denn, es gibt ein Geschwindigkeitsproblem. Dann greife ich eher zu Snap-Shots. Aber auch das läuft ja auf der Datenbank ab.
Wenn man bei Firebird AutoInc-Felder verwendet, lässt man das ja auch über Trigger laufen. Zumindest mache ich das üblicherweise. Auch TimeStamps sollte man so machen. Sonst hat man bei nicht synchronen Clients falsche Werte.
Guter Stil?
Naja, wenn der Anwender nichts davon mitbekommen muss, lasse ich das auf der DB machen. Dadurch gibt es keinerlei Traffic im Netz. Macht ja auch keinen Sinn.
Carla - Do 02.07.09 12:49
Moderiert von
Narses: Komplett-Zitat des letzten Beitrags entfernt.
Na ja lfd Nr. und die Gruppierungen sind Steuerfunktionen, um einen Report ( mit Fastreport) einfacher aufbereiten
zu können.
Hier gibt es keine Überlappungen. D.h. alle Clients die die gleiche Liste drucken wollen, benötigen die gleiche
Gruppierung.
Die Gruppierung ist stark dynamisch und geht erst, wenn die Gesamtdatenmenge bekannt ist. Mit Triggern geht da nicht viel.
Gruß
Carla
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!