CREATE TABLE Konto ( firnr int4, knr varchar(20), bezeichnung varchar(60), anfang numeric(10,2) default '0.0', sumsoll numeric(10,2) default '0.0', sumhaben numeric(10,2) default '0.0', art char(1), PRIMARY KEY (firnr,knr) );
art | beschreibung | geht ein in | berechnung saldo |
A | Aktiv-Konto | Billanz | bestand=anfang+sumsoll-sumhaben |
P | Passivkonto | Billanz | bestand=anfang+sumhaben-sumsoll |
W | Aufwandskonto | GuV | saldo=sumsoll-sumhaben |
E | Ertragskonto | GuV | saldo=sumhaben-sumsoll |
Wie in [Scheer95] wird die an sich logische Vererbungshierarchie
Konto | --------------- | | Billanzkonto Erfolgskonto | | | | Aktiv Passiv Aufwand Ertragnicht im Schema berücksichtigt.
Die hier verwendente Datenbank Postgres kann leider kein UPDATE auf Unterklassen.
Die Unterscheidung muß daher in der Anwendungslogik erfolgen.
CREATE TABLE Bankkonto ( firnr int4, knr varchar(20), blz char(10), kto char(15), bktyp char(1) );Debitoren und Kreditoren sind weitere wichtige Unterklassen, die hier noch nicht definiert sind.
Konvention: