SQL – Datentypen

Was sind Datentypen und wofür brauchen wir diese in SQL?

Für jedes Datenbankfeld muss bei der Erstellung der Datenbanktabelle ein Datentyp angegeben werden. Was bedeutet das?

Mit dem Datentyp legen wir fest welche Art von Daten wir in einem Feld speichern können. Z.B. können wir in einem Feld mit den Datentyp date nur Datumswerte speichern.

Wieso muss man sich schon beim Anlegen der Tabelle daf√ºr entscheiden welche Werte in einem Feld gespeichert werden k√∂nnen? Das hat zum einen damit zu tun, dass nicht jeder Datentyp die gleiche Speichermenge braucht, und das System eben schon im Vorhinein wissen will, wie viel Speicher es f√ºr ein bestimmtes Feld bereitstellen muss und zum Anderen ist mit jedem Datentyp auch eine Pr√ºfung auf Sinnhaftigkeit der Daten gegeben. So kann man eben den Wert ‚2012-14-32‘ nicht in ein Datumsfeld speichern, da es weder ein Monat 14 und auch kein Monat mit 32 Tagen gibt.

Weiters stellen viele DBMS f√ºr gewisse Datentypen gewisse Funktionen bereit. Z.B. Rechenoperationen, Zerlegen von Zeichenketten …

Also es ist durchaus sinnvoll sich im Vorhinein Gedanken zu machen, welche Werte welches Feld annehmen kann.

Welche Datentypen gibt es?

Hier ist es wichtig zu erwähnen, dass fast jeder Datenbankhersteller eine gewisse Anzahl an eigenen Datentypen bereitstellt, oder manche Standardtypen etwas anders implementiert hat. Es empfiehlt sich also durchaus einmal das Handbuch der Datenbank die man verwendet genauer zu lesen. Hier aber eine kurze Übersicht, die die wichtigsten Datentypen enthält:

Datentyp Speicherverbrauch Beschreibung Wertebereich
smallint 2 bytes kleine Ganzzahlen -32768 bis +32767
integer 4 bytes Ganzzahlen -2147483648 bis +2147483647
bigint 8 bytes Lange Ganzzahlen -9223372036854775808 bis 9223372036854775807
decimal variabel exakter Dezimalwert; vorgegebene Anzahl an Nachkommastellen offen
numeric variabel Zahlwert offen
real 4 bytes Dezimalzahl, ungenau im Nachkommabereich
double 8 bytes Dezimalzahl, ungenau im Nachkommabereich
varchar  variabel Zeichendatentypen für Zeichenketten mit variabler Länge
datetime  variabel Datum und Zeit gemeinsam speichern
date  variabel Datumswerte
timestamp  variabel Zeitstempel meistens in Millisekunden
time  variabel Zeitangaben
blob  variabel Binärdaten

In vielen Datenbank Management-Systemen gibt es dann noch Zusatzattribute wie unsigned um den Wertebereich zu ändern.

Also viel Spass beim Lesen in der Dokumentation des verwendeten DBMS.

About

You may also like...

Your email will not be published. Name and Email fields are required