Het kiezen van de juiste data type is heel belangrijk, omdat een fout in de table design kan resulteren in een grote daling in de performance.
Deze fouten komen meestal later naar voren, als een grote hoeveelheid data is ingevoerd.
Ik zal proberen de ingebouwde en user-defined data types uit te leggen, en een aantal algemene tips om de juiste data type te kunnen kiezen.
In Microsoft SQL Server 2000, ieder object (zoals column, variabele, of parameter) heeft een data type,
die een attribuut is die de data type specificeerd die een object kan houden.
SQL Server 2000 heeft 27 ingebouwde (system) data types. dat zijn:
| Data Types | Omschrijving |
| bigint | Integer data van -2^63 (9223372036854775808) tot 2^63-1 (9223372036854775807) |
| int | Integer data van -2^31 (-2.147.483.648) tot 2^31-1 (2.147.483.647) |
| smallint | Integer data van -2^15 (-32,768) tot 2^15-1 (32.767) |
| tinyint | Integer data van 0 tot 255 |
| bit | Integer data van 1 of 0 (bijv. ja/nee) |
| decimal | Numerieke data types als niet opgegeven dan van -10^38+1 tot 10^38-1 (p) Precision : De maximale totale lengte van decimale digits die opgeslagen kunnen worden. (s) Scale : Het maximale aantal nummers die rechts van de komma opgeslagen kunnen worden. |
| numeric | Idem decimal |
| money | Valuta data van -2^63 (9223372036854775808) tot 2^63-1 (9223372036854775807) |
| smallmoney | Valute data van -2.147.483.648) tot 2^31-1 (2.147.483.647) |
| float | Floating precisie nummer data van - 1.79E + 308 tot -2.23E - 308, 0 en 2.23E -308 tot 1.79E + 308 |
| real | idem float |
| datetime | Datum en tijd van 1 januari 1753 tot 31 december 9999 met een precisie van 3.33 milliseconde |
| smalldatetime | Datum en tijd van 1 januari 1900 tot 6 juni 2079 met een precisie van 1 seconde |
| char | Vaste lengte character data met een lengte van 8000 character |
| varchar | Variabele lengte data met een maximum lengte van 8000 characters |
| text | Variabele lengte data met een maximum lengte van 2^31 -1 (2147483648) characters |
| nchar | Vaste lengte unicode data met een lengte van 4000 Characters |
| nvarchar | Variabele lengte unicode data met een maximum lengte van 4000 Characters |
| ntext | Variabele lengte unicode data met een maximum lengte van 2^30 -1 (1073741823) Characters |
| binary | Vaste lengte binary data met een vaste lengte van 8000 bytes |
| varbinary | Variabele lengte binary data met een vaste lengte van 8000 bytes |
| image | variabele lengte binary data met een mximum lengte van 2^31 - 1 (2147483648) bytes |
| cursor | Een referentie naar een cursor |
| sql_variant | Een data type die verschillende waardes kan opslaan. Niet text, ntext, timestamp |
| table | Een speciale data type die een resultaat set opslaat voor latere processing |
| timestamp | een database-wide unieke nummer dat iedere keer geupdate wordt als de rij gemuteerd wordt |
| uniqueidentifier | een globally unique identifier |
Met SQL Server 2000 kunt u ook user-defined data types gebruiken. User-defined data types kunt u een naam gebruiken
die meer beschrijvend is voor de inhoud van het object. Als u user-defined data types gebruikt is het gemakkelijker voor een programmeur om te begrijpen wat de bedoeling is van een veld.
De user-defined data types zijn gebaseerd op de system data types en kunnen worden gebruikt om van te voren diverse
attributen van een column te beschrijven, zoals de data type, lengte en of het de waarde NULL kan opslaan.
Om een user-defined data type te maken, kun je gebruik maken van de stored procedure sp_addtype of de Enterprise manager.
Als je de user-defined data type gebruikt moet je volgende properties aangeven :