Datentypen innerhalb von server-daten

Bei der Erstellung von Tabellen und Abfragen können die folgenden MS-Sql-Server-Datentypen verwendet werden:
bit
1/0 bzw. Ja/Nein
datetime
Kombinierte Datums- und Zeitangaben.
decimal[(precision [, scale])]
Dezimalzahlen mit fester Zahl der Dezimalstellen. 'precision' legt die Gesamtzahl der Stellen (Vor- und Nachkommastellen) fest und kann zwischen 1 und 38 liegen. 'scale' legt die Zahl der Nachkommastellen fest, muß zwischen 0 und der precision liegen und kann nur gemeinsam mit precision angegeben werden. Standardwert: decimal(18, 4), also bis zu 14 Vorkomma- und 4 Nachkommastellen.
float
Datentyp für ungefähre numerische Daten, etwa Ergebnissen aus Winkelberechnungen. Die Daten werden intern in der Form Mantisse + Exponent (1.5374E+002 = 1.5374 * 10^2 = 153.74) gespeichert
int
Ganzzahl (4 Byte) zwischen -2^31 (-2.147.483.648) und 2^31 - 1 (2.147.483.647)
money
Datentyp für Währungsangaben im Bereich -2^63 bis 2^63 - 1 ((-922.337.203.685.477,5808 bis 922.337.203.685.477,5807)
nvarchar(Länge)
Unicode-Zeichendaten mit einer Länge zwischen 1 und 4000 Zeichen
ntext
Unicode-Zeichendaten übergroßer Länge bis zu 1.073.741.823 Zeichen
varchar(Länge)
Zeichendaten für Ascii-Zeichen mit einer Länge zwischen 1 und 8000 Zeichen
text
Zeichendaten für Ascii mit einer Länge bis zu 2.147.483.647 Zeichen
uniqueidentifier
16-Byte großer Datentyp für Rückgabewerte der NewId -Funktion. Es können Spalten mit diesem Datentyp erzeugt werden, ein Wert wird bei der Erstellung eingefügt, die Spalte ist schreibgeschützt. Innerhalb von servern-daten hat eine solche Spalte ansonsten keine Bedeutung. Es kann damit jedoch jeder Zeile auf einfache Weise ein weltweit eindeutiger Wert unabhängig vom Primärschlüssel zugewiesen werden, der vielleicht in anderen Zusammenhängen verwendbar ist.
Zusätzlich gibt es derzeit die folgenden server-daten-spezifischen Datentypen:
bitSet
Dieser, intern als Integer implementierte Datentyp kann verwendet werden, um anschließend eine Relation von dieser Spalte als Detailspalte auf eine bitSet-Tabelle zu deklarieren. Die bitSet-Tabelle kann 1 - 30 Zeilen enthalten, deren IDs die Folge 1, 2, 4, 8 usw. bilden. Die Zeilen werden als Checkboxen zum Anhaken ausgegeben, es können keine, eine oder mehrere Checkboxen angehakt werden. Die Menge aller angehakten Werte wird als Bitkombination in der Spalte gespeichert.
file
Dieser Datentyp wird zunächst als nvarchar(100) definiert. Falls eine FTP-Tabelle deklariert und diesem Datentyp eine Zeile aus der FTP-Tabelle zugeordnet ist, wird innerhalb der internen Masken zusätzlich ein Datei-Upload-Feld bereitgestellt. In Ausgabeseiten wird in diesem Fall nur ein Datei-Upload erzeugt. Die hochgeladene Datei wird bei erfolgreichem Speichern auf den durch die FTP-Daten definierten Server verschoben. Bilder können zusätzlich skaliert, zugeschnitten und durch ein Vorschaubild (= Thumbnail) ergänzt werden.
Wahrscheinlich wird noch ein Datentyp für strukturierte Textfelder ergänzt, so daß Nutzer formatierte Texte erstellen können.

Innerhalb der Definition von Tabellen müssen die Datentypen lediglich aus der Pulldown-Liste ausgewählt und um <maximale Länge> (= Länge), <Gesamtzahl der Stellen> (= precision) und <Zahl der Nachkomma-Stellen> (= Scale) ergänzt werden. Die hiesige Liste ist nur wichtig, falls innerhalb von Abfragen ein Parameter direkt definiert wird.

Eine Tabellenzeile darf derzeit nur Daten im maximalen Umfang von etwa 8.000 Byte enthalten (abgesehen von text/ntext). Dies ist eine Beschränkung der Sql-Server-Software. Es ist zwar möglich, eine Tabelle mit 2 nvarchar(4000) - Spalten zu erstellen. Beim Eintragen hinreichend großer Daten wird jedoch ein Laufzeitfehler erzeugt.

Sql-Server-Datentypen, die innerhalb von server-daten nicht verwendbar sind

Die folgenden Datentypen sind zwar innerhalb des Sql-Servers definiert, sie wurden jedoch nicht nach server-daten übernommen.
bigInt / smallInt / tinyInt
Ganzzahl, als 8 / 2 / 1 Byte gespeichert
smalldatetime
kleiner Datums-Zeit-Datentyp (4 Byte)
smallmoney
kleiner Währungs-Datentyp (4 Byte)
real
Float-Datentyp mit halber Genauigkeit (4 Byte)
char/nchar
Zeichendaten fester Länge. Die Datentypen varchar/nvarchar leisten das gewünschte
binary/varbinary/image
Binäre Daten fester / variabler / übergroßer Länge. Für den Upload beliebiger Dateien und das anschließende Verschieben auf einen eigenen Server kann der Datentyp 'file' genutzt werden.
timestamp
Zeitstempel der letzten Änderung. Eine solche Spalte wird jeder Tabelle intern hinzugefügt. Da eine Tabelle nur eine timestamp-Spalte enthalten kann, ist das benutzerdefinierte Erstellen einer solchen Spalte nicht möglich.
Stehen von einem Datentyp mehrere Versionen in unterschiedlichen Größen / Genauigkeiten zur Verfügung, so wurde jeweils ein Wert hiervon ausgewählt. Für übergroße Textdaten können die Datentypen 'text' und 'ntext' verwendet werden. Für Binärdaten wird aus konzeptionellen Gründen kein Speicherplatz angeboten, solche Daten sind in einer relationalen Datenbank deplaziert. Es gibt jedoch die Möglichkeit, FTP-Daten zu hinterlegen und über den server-daten-spezifischen Datentyp 'file' Spalten für die Aufnahme von Bildern, Word-Dokumenten oder Multimedia-Dateien bereitzustellen. Diese werden nach dem Upload unter Nutzung der FTP-Daten auf den angegebenen Webserver des Kunden verschoben.


Kontaktformular:

Schreiben Sie mir und wir bauen gemeinsam Ihre neue Web-Datenbank!

Die Erläuterungen zum Datenschutz habe ich gelesen und stimme diesen zu.

© 2003-2019 Jürgen Auer, Berlin.