Quick
Ref.
Functions
- date
- number
- string
Data Types
- date
- number
- string
| ACME BuchhaltungIn diesem Tutorium wird eine Datenbank verwendet, die die Grundlage eines einfachen Buchhaltungssystems darstellt. ACME verkauft Produkte an Kunden, die regelmäßig Bestellungen tätigen. Da die Kunden nicht sofort zahlen müssen, verwaltet ACME für jeden Kunden ein Kundenkonto. Auf diesen Konten können auch Gutschriften stehen, was aber eher selten vorkommt.
| BADGUY |
PRODUCT |
| Kunden mit einem Konto bei ACME |
Produkte, die bei ACME vorrätig sind |
| ID |
NAME |
ADDRESS |
| C001 |
Wile E Coyote |
www.warnerbros.com |
| C002 |
Sylvester |
www.warnerbros.com |
| C003 |
Tom |
www.mgm.com |
| C004 |
Elmer Fudd |
www.warnerbros.com |
| C005 |
Dick Dastardly |
www.warnerbros.com |
|
| ID |
DESCRIPTION |
PRICE |
| P001 |
Anvil |
75 |
| P002 |
Portable holes |
5 |
| P003 |
Horseshoe magnet |
80 |
| P004 |
TNT |
50 |
| P005 |
Bomb |
50 |
| P006 |
Elastic band |
2 |
| P007 |
Rocket roller skates |
80 |
| P008 |
Space ship |
60000000 |
| P009 |
Road sign "Diversion Left" |
30 |
| P010 |
Road sign "Diversion Right" |
30 |
|
| RECEIPT |
SHIPPED |
| Geldeingänge von Kunden |
Lieferungen an Kunden |
| BADGUY |
RDATE |
NOTES |
AMOUNT |
| C005 |
1998-02-10 |
DD |
5 |
| C005 |
1998-03-10 |
DD |
5 |
| C005 |
1998-04-10 |
DD |
5 |
| C005 |
1998-05-10 |
DD |
5 |
| C005 |
1998-06-10 |
DD |
5 |
| C005 |
1998-07-10 |
DD |
5 |
| C001 |
1998-07-15 |
Cheque |
100 |
| C001 |
1998-07-23 |
Cash |
255 |
|
| BADGUY |
SDATE |
PRODUCT |
QUANTITY |
| C005 |
1998-01-01 |
P008 |
1 |
| C001 |
1998-07-10 |
P003 |
1 |
| C001 |
1998-07-22 |
P004 |
2 |
| C001 |
1998-07-22 |
P005 |
12 |
| C001 |
1998-07-23 |
P005 |
12 |
| C001 |
1998-07-23 |
P006 |
1 |
| C001 |
1998-07-23 |
P007 |
1 |
|
Einige Anmerkungen zu Systemen mit/für Finanzdaten und die Beispieldatenbank:
- Geldbeträge sollten genau gespeichert werden. Gewöhnlich wird DECIMAL(10,2) verwendet. Es sollte nie ein FLOAT-Wert verwendet werden, um Geldbeträge zu speichern.
- Es muß eine Buchungskontrolle geführt werden. Es genügt nicht nur zu wissen, wer wem wieviel schuldet. Es ist auch wichtig zu wissen, warum.
- Jede "Transaktion" ist aufzuzeichnen und auf unbestimmte Zeit zu speichern. Eine Transaktion entsteht, wenn (A) Jemand ACME Geld zahlt (Eintrag in Tabelle RECEIPT) oder (B) ACME Waren versendet, wofür ACME Geld will (Eintrag in Tabelle SHIPPED). Der Begriff ist nicht mit dem Datenbankbegriff Transaktion zu verwechseln.
- Der aktuelle Kontostand wird nicht gespeichert. Der Wert kann bei Bedarf berechnet werden. Konten können "konsolidiert" werden, d.h. alle Transaktionen eines Kunden werden in eine Archiv-Datei verschoben und durch einen einzigen "Saldovortrag"-Eintrag ersetzt.
- Jede Transaktion ist mit Datum und Uhrzeit zu versehen.
- Transaktionen dürfen nicht geändert werden. Wenn eine Eintrag nicht korrekt ist, ist er durch einen zusätzlichen Eintrag "aufzuheben" (Storno). (Mit dieser Datenbank können Fehlbuchungen nicht zurückgenommen werden.)
- Es wird nicht versucht, die Ein- und Ausgänge miteinander abzugleichen.
- Einige Schwächen dieses einfachen Systems werden im Tutorium besprochen.
| |