AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Datenstruktur für Bankkonto

Ein Thema von NormanNG · begonnen am 26. Nov 2012 · letzter Beitrag vom 27. Nov 2012
Antwort Antwort
Seite 1 von 2  1 2   
NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#1

Datenstruktur für Bankkonto

  Alt 26. Nov 2012, 08:06
Hallo

ich bin unsicher, wie ich eine klassische Bankkonto-Struktur elegant abbilden kann.

Konto
o alKonto
o Bezeichnung

Buchung
o alBuchung
o alKonto
o Flag Soll/Haben
o Betrag

Zu jedem Buchungssatz gehören immer mindestens zwei Buchungen.

Mein Problem: der Konto-Saldo
Soll ich den immer wieder neu berechen, oder in einem Feld am Konto mitführen?
Wie soll ich einen Periodenwechsel (z.B. Jahresende) darstellen?

Kann mir bitte jemand auf die Sprünge helfen?
Gruß
Norman
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Datenstruktur für Bankkonto

  Alt 26. Nov 2012, 08:13
Ich würd mal das Flag Soll/Haben weglassen und stattdessen positive oder negative Zahlen verwenden. Was S/H ist hängt nämlich von der Sichtweise ab (Sicht Bank/Kunde).

In echten Bankanwendungen werden die Rechenwerte immer mitgeführt (Performance), und auch um Abweichungen und damit potentielle Fehler finden zu können.

Beim Jahreswechsel buchst Du den Saldo erst aus und dann wieder ein. Am besten über dafür vorgesehene Abschluss- und Eröffnungskonten.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#3

AW: Datenstruktur für Bankkonto

  Alt 26. Nov 2012, 08:25
Dank für die schnelle Antwort.

Das mit dem S/H muss ich dann nochmal überdenken.

Mein eigendliches Problem ist aber, wohin mit dem Konto-Saldo?
Gruß
Norman
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

AW: Datenstruktur für Bankkonto

  Alt 26. Nov 2012, 08:33
Wenn Du es machst, wie vorgeschlagen (also negativ/positiv buchen), dann ist der Saldo immer ganz einfach
Code:
SELECT SUM(BETRAG) AS SALDO FROM BUCHUNGEN
Also einfacher kann die Saldoberechnung gar nicht sein. Daher würde ich ihn immer live berechnen, sonst hast Du ja eine Redundanz drin.
Nur wenn Du wirklich Performanceprobleme hast (unwarscheinlich), könntest Du den Saldo per Trigger in den Kopf schreiben.
Jens
  Mit Zitat antworten Zitat
NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#5

AW: Datenstruktur für Bankkonto

  Alt 26. Nov 2012, 08:43
OK, dann darf eine "Archivierung" der Daten z.B. am Jahresanfang nie stattfinden. Es bleibt also immer alles "drin".

Wie machen das die Banken?
Dort müssen doch irgendwann mal alte Daten zur Seite gelegt (sprich archiviert) werden, oder nicht?
Gruß
Norman
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: Datenstruktur für Bankkonto

  Alt 26. Nov 2012, 08:49
Ja, es wird natürlich immer archiviert. Und es werden bestimmte Werte (u.a. der Saldo) immer redundant mitgeführt. Dadurch kann man Probleme und Fehler im Tagesabschluss erkennen, wenn man das Ergebnis der SUM() mit dem gespeicherten Saldo vergleicht.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Datenstruktur für Bankkonto

  Alt 26. Nov 2012, 09:47
Zwischen Soll- und Habenbuchung würde ich unabhängig vom Vorzeichen des Betrages unterscheiden.
So kann man Buchung und Storno besser darstellen z.B.:
- Soll Debitor, Haben Erlöskonto, positiver Betrag -> Rechnungsausgang
- Soll Debitor, Haben Erlöskonto, negativer Betrag -> Storno Rechnungsausgang
- Soll Sachkonto-Bank, Haben Debitor, positiver Betrag -> Zahlungseingang Lastschrift
- Soll Sachkonto-Bank, Haben Debitor, negativer Betrag -> Storno Zahlungseingang Lastschrift

Zusätzliche Saldentabellen bringen auch die Möglichkeit für zusätzliche Fehler.
Wenn nicht tausende Buchungen je Konto zu erwarten zu erwarten sind, den Saldo immer neu berechnen.

Periodenwechsel/Archivierung
- ein Konto "Saldo 2012" einrichten
- zum Jahreswechsel Saldo jedes Kontos auf "Saldo 2012" buchen
(diese und alle im Saldo berücksichtigten Buchungen wandern später ins Archiv)
- zum Jahresanfang von "Saldo 2012" wieder auf die einzelne Konten
(diese und alle neueren Buchungen bleiben im aktuellen Datenbestand)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Datenstruktur für Bankkonto

  Alt 26. Nov 2012, 09:52
Bei den Buchungen fehlt mindestens ein Feld: das Buchungsdatum
(Banken haben normalerweise 2 Felder: Buchungsdatum, Valutadatum)

Weiterhin gibt es noch mindestens eine Tabelle mit den Salden pro Konto und Buch-Jahr und oder Buch-Monat, Buch-Tag.

Wird eine Buchung (Datensatz in der Tabelle Buchungen) eingebucht so wird nicht nur der Datensatz eingetragen, sondern auch alle betroffenen Salden entsprechend angepasst.

Dazu müssen aber die Salden nicht erneut mit allen Buchungen berechnet werden, sondern zum Saldo wird der neue Buchwert einfach hinzu addiert.

Bei einem Tagesabschluss werden dann alle Buchungen aufaddiert und mit den Salden verglichen (diese müssten ja eigentlich gleich sein) und bei Bedarf auch angepasst. Abweichungen sind auch ein Hinweis auf Probleme in der Buchungsroutine.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: Datenstruktur für Bankkonto

  Alt 26. Nov 2012, 09:59
So kann man Buchung und Storno besser darstellen z.B.:
AFAIK buchen Banken niemals einen Storno auf einem Kundenkonto.

Es werden Rückbuchungen erstellt, die den alten Vorgang zurücknehmen.
Dabei handelt es sich aber um eine eigenständige Buchung und keinen Storno.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#10

AW: Datenstruktur für Bankkonto

  Alt 26. Nov 2012, 16:24
OK.
Wahrscheinlich berechne ich die Saldo jeweils neu und führe einen "Kontroll-Saldo" am Konto mit, um ggf. Fehler in den Buchungsroutinen sofort erkennen zu können.

Danke für die Antworten.
Gruß
Norman
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz