Ernst Hügli schrieb:

>> Das Werkzeug "PHPmyAdmin" bietet beim Anlegen einer Tabelle YEAR als
>> Datentyp an - neben DATE, DATETIME, TIMESTAMP, TIME
>>
>> Selbstverständlich schreibe ich das nicht im Sinne von "aber ...".
>> Ich berichte nur über diese "Entdeckung".
>>
>> Das Interface von PHPmyAdmin zum Anlegen von Tabellen ist drastisch
>> umfangreicher als jenes von Base.
>>   
> Ich habe mich ein bisschen schlau gemacht in dieser Sache. Obschon 
> dieses Thema eigentlich abgehakt ist, komme ich nochmals darauf zurück, 
> weil ich denke, man kann an diesem Beispiel wunderschön sehen, wie 
> Design, Struktur und Implementation zusammenspielen müssen:
> 
> Nach meinen Informationen kann man in einem mit PHPMyAdmin angelegten 
> Feld vom Typ YEAR Jahrzahlen zwischen 1901 und 2155 ablegen. Was 
> bedeutet das? Intern wird eine Zahl von genau 1 Byte Länge, also ein 
> sog. TINY INTEGER gespeichert mit Werten zwischen 0 und 255 (= 2^8 - 1). 
> Dies bedeutet: für die *Darstellung* am Bildschirm wird zum 
> gespeicherten Wert einfach 1900 addiert (ich vermute mal, dass $00000000 
> nicht benutzt wird). So weit so gut. Jetzt aber kommt die alles 
> entscheidende Frage: wofür willst Du die Datenbank später einsetzen 
> (können)?

Und zusätzlich: will man Nutzern der DB im Jahr 2155 das
"Jahr-2155-Problem" verschaffen?

[...]

> Schlussfolgerung: obschon mit YEAR ein spezifischer Feldtyp für Jahre 
> verfügbar ist, würde ich den Typ SMALL INTEGER (2 Byte, Werte zwischen 0 
> und 65'535) vorziehen. Sowohl der Mehrverbrauch an Speicher wie auch die 
> reduzierte Performance fallen gegenüber der erhöhten Flexibilität in 
> Deinem Anwendungsfall nicht ins Gewicht. Dafür musst Du im Gegenzu 
> sicher eine noch zu definierende Gültigkeitsprüfung implementieren, 
> damit nicht plötzlich Werte wie 21'456 oder ähnlich eingegeben werden - 
> bei SMALL INTEGER würde das DB-System einen solchen Wert widerstandslos 
> akzeptieren.

Herzlichen Dank für die exzellente Darlegung der Zusammehänge, Ernst.

Man kann Deine Schüler nur beglückwünschen, einen so kundigen und vor
allem didaktisch begabten Lehrer für DB zu haben.

In Deinen Unterricht würde ich mich gerne reinsetzen :)

Das würde nicht nur mehr Freude bereiten als sich selbst in DB
einzuarbeiten, es wäre auch ungleich effektiver.

Schöne Grüße, Andreas
-- 
OOo 3.1
http://borumat.de/openoffice-writer-tipps


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org
For additional commands, e-mail: users-h...@de.openoffice.org

Antwort per Email an