Hallo Ernst, hallo Andreas,

das Ganze ist ja kein phpMyAdmin-Datentyp, sondern einer von MySQL. Die 
Verarbeitung als jjjj bringt daher eigentlich keine Vorteile sonder die 
richtig beschriebenen Nachteile, dass z.B. ältere Werke nicht eingegeben 
werden können, obwohl eine vierstellige Zahl eingegeben werden muss (geht 
schließlich von 1901 bis 2155). Da ist SMALLINT(4)[UNSIGNED] natürlich 
universell geeigneter - es sei denn, dass auch vor dem Jahr 0 eine Eingabe 
möglich sein soll.

Wird YEAR(2) gewählt, so geht es um die zweistellige Eingabemöglichkeit. Und 
die macht natürlich dann Sinn, wenn ich mich nur um das aktuelle Jahr herum 
bewege. Die Zählung läuft von 1970 bis 2069 (1.1.1970 ist so etwas wie der 
UNIX-Nullpunkt). Mit YEAR(2) wird auch die Eingabe einer 9 als 2009 richtig 
umgesetzt. Natürlich muss man mit der Einschränkung durch diesen Datentyp 
vorsichtig sein. Aber einmal ehrlich: Wer jetzt eine Datenbank zusammenstellt 
wird sich doch sowieso laufend um Änderungen bemühen, damit das Ganze noch 
mit Wechsel der Basissoftware funktioniert. Und jetzt schon in diesem 
schnelllebigen Metier mir Gedanken über eine Eingabe zu machen, die nach der 
Konstruktion der Datenbank erst im Jahr 2069 zum Problem werden könnte 
(schließlich werden geplante bzw. gerade erstellte Werke in der Datenbank 
geführt) ist mir einfach zu praxisfern. 

Wenn wir über Einschränkungen nachdenken, die uns bestimmte Datentypen dann 
gerade auferlegen: Auch die Datumseingabe hat natürlich eine Beschränkung. 
Wenn ich mit Geschichtsdaten eine Datenbank füttern will, dann muss ich 
vorsichtig sein und vermutlich stattdessen besser ein vorformatiertes 
Eingabefeld konstruieren. Die Datumszählung z.B. bei MySQL beginnt nämlich im 
Jahr 1000 und hört im Jahr 9999 auf.

Fazit für mich: Vorher klar festlegen, wofür die Datenbank gedacht ist 
(darüber wurde in diesem Thread ja schon zur Genüge geschrieben), dann für 
diesen Zweck die richtigen Datentypen aussuchen und die Begrenzungen, die ich 
dann noch brauche, in dem Formular und gegebenenfalls durch eine 
Scriptsprache lösen. Da kann ich dann auch das obige auf vier Stellen 
begrenzte SMALLINT-Feld nehmen und entsprechen aus der 9 immer noch eine 2009 
produzieren und muss gegebenenfalls nur mein Script anpassen.

Gruß

Robert

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

Antwort per Email an