Lude: Eurich in Datenbank

Beitrag lesen

Hi, Michael,

das Nutzen von zwei Datenfeldern, wenn eins ausreichen wuerde, ist eine Todsuende. Eins reicht im genannten Fall aus (Die Verwendung eines INT-Datentyps fuer die Cents waere zudem grausig).

warum? Es ist die einzige Möglichkeit, Rundungsfehler definitiv auszuschließen. Und nebenbei ist Integer-Arithmetik sogar schnell ...

ich vermute mal, dass Du Dich auf den zweiten Satz meines Postings bezogen hast:
1.) Ich plaediere (entschieden) fuer das Nutzen des Datentyps NUMERIC(18,2) fuer Geldbetraege.
2.) Bei der Verwendung des Datentypes INT wird (zwangslaeufig) (nach Murphy) das Datenfeld "Cent" in einigen Datensaetzen einen Wert >= 100 annehmen.
3.) "Rundungsfehler" sind normal, dass heisst es muss bei finanzmathematischen Berechnungen ggf. gerundet werden. Oder hab' ich da was missverstanden?
4.) Performanceueberlegungen spielen beim DB-Design (erst einmal) keine Rolle. Man bildet einen zu unterstuetzenden Vorgang der "Realitaet" bestmoeglich ab.
5.) Performanceueberlegungen in diesem konkreten Fall fuehren (eindeutig) zu keinem Handlungsbedarf.

Morgendliche Gruesse,
Lude