Autor Beitrag
Carla
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 111
Erhaltene Danke: 2



BeitragVerfasst: Do 02.07.09 11:46 
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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 111
Erhaltene Danke: 2



BeitragVerfasst: Do 02.07.09 12:49 
Moderiert von user profile iconNarses: 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