Datentypen...

Datentyp
Ein Datentyp ist die verallgemeinerte Beschreibung einer Menge von Werten. Einem Typ kann eine Struktur, ein oder mehrere Wertebereich(e) und Operationen zur Manipulation der Werte zugeordnet werden.    [2]

Jetzt sind wir schätzungsweise genau so schlau wie vorher.

Also beleuchten wir die Sache mal von der praktischen Seite:

Bei der Implementierung einer Datenbank muss jedem Feld (im ER-Modell: Attribut) ein bestimmter Datentyp zugeordnet werden. Er gibt an, ob es sich bei den Daten zB. um Zahlen, Zeichenketten oder Zeitangaben handelt. Das macht auch Sinn, weil der Rechner zB. Zeichenketten (Buchstaben...) völlig anders verarbeitet als ganze Zahlen oder Dezimalzahlen.

Wir müssen uns also vorher Gedanken machen, welche Art von Daten in den einzelnen Feldern unserer DB-Tabelle gespeichert werden sollen.

Man unterscheidet im Wesentlichen folgende Datentypen:

In Klammern stehen immer die Wertebereiche bzw. Formate.

numerische Datentypen alphanumerische Datentypen Datentypen für Datum und Zeit sonstige Datentypen
ganze Zahlen Dezimalzahlen Text (Character)
TINYINT
(127 oder 0 bis 255)

SMALLINT
(32767)

INTEGER
(2147483647)

BIGINT
(9223372036854775807)
FLOAT / REAL
(3,402823466*1038)

DOUBLE
(1,7976931348623157*10308)

DECIMAL
(OpenOffice)
VARCHAR
(max. 255 Zeichen)

LONGVARCHAR
(max. 4294967295 Zeichen)
DATE
(DD.MM.YY - 01.01.09)

TIME
(hh:mm:ss - 15:45:56)
BOOLEAN
(Wahrheitswert: ja/nein, 1/0, true/false)

und andere...

Beispiel CD-Sammlung:


Um das o.g etwas zu verdeutlichen, wollen wir nun einigen Attributen aus unserem Beispiel die entsprechenden Datentypen zuordnen:

Um unsere CDs zu nummerieren (cd_nr) verwenden wir logischerweise ganze Zahlen. Die Frage ist nur: Wie groß wird unsere Datenbank im Laufe der Zeit? Wenn wir nicht mehr als 255 CDs in unsere Datenbank aufnehmen wollen, bietet sich der Datentyp TINYINT an. Mit SMALLINT sind wir allerdings auf der sicheren Seite.
Dem Attribut cd_titel weisen wir den Datentyp VARCHAR zu, da es sich um reinen Text handelt. Für das Attribut ersch_jahr käme der Datentyp DATE in Frage. Da wir aber nur das Jahr und nicht das genaue Datum benötigen, können wir hier auch eine ganze Zahl vom Typ SMALLINT wählen.

Im nächsten Kapitel siehst du dann die komplette Zuordnung der Datentypen in diesem Beispiel.

Tooltip