Els tipus de dades d'SQL Server
En les bases de dades les taules són les encarregades d’emmagatzemar les dades. Al dissenyar una taula hem de tenir en compte el tipus de dada que contindrà cada columna, en funció de la informació que vulguem emmagatzemar.
SQL Server proporciona un conjunt de tipus de dades que permeten cobrir les necessitats d’emmagatzematge d’informació i optimitzar l’espai ocupat per cada dada.
Els tipus de dades fonamentals en SQL Server segons els valors que emmagatzemen són:
1. Numèrics | ||||||
1.1 Numèrics exactes | ||||||
1.1.1 Enters | Espai | |||||
bigint | Números enters entre -9.223.372.036.854.775.808 i 9.223.372.036.854.775.807 | 8 bytes | ||||
int | Números enters entre -2.147.483.648 i 2.147.483.647 | 4 bytes | ||||
smallint | Números enters entre -32.768 i 32.767 | 2 bytes | ||||
tinyint | Números enters entre 0 i 255 | 1 byte | ||||
1.1.2 Bit | ||||||
bit | Tipus de dades que poden acceptar els valors 1, 0 o NULL. Els valors de cadena TRUE i FALSE es poden convertir en valors de tipus bit: TRUE=1 i FALSE=0 | 2 bytes | ||||
1.1.3 Decimal i numèric | ||||||
Decimal (p,s) | p (precision): el número total màxim de dígits inclosos els dígits situats a la dreta del separador decimal. s (escala):el número de dígits decimals que s’emmagatzemaran a la dreta del saparador decimal.Els tamanys | Precisió 1 - 9: 5 bytes | ||||
numeric | Equivalent a Decimal | |||||
1.1.4 Money i samllmoney | Espai | |||||
money | valors de moneda compresos entre -922.337.203.685.477,5808 i 922.337.203.685.477,5807 | 8 bytes | ||||
smallmoney | valors de moneda compresos entre - 214.748,3648 i 214.748,3647 | 4 bytes | ||||
1.2 Numèrics aproximats | ||||||
1.2.1 Numèrics | ||||||
float | números amb presició de coma flotant compresos entre -1,79E+308 i 1,79E+308 | Depèn del valor d' n | ||||
real | números amb presició de coma flotant compresos entre -3,40E+38 i 3,40E+38 | 4 Bytes | ||||
1.3 De data i hora | ||||||
1.3.1 datetime i samlldatetime | ||||||
datetime | dades de data i hora compresos entre l'1 de gener de 1753 i el 31 de desembre de 9999, amb una presició de 3,33 milisegons | |||||
smalldatetime | dades de data i hora compresos entre l'1 de gener de 1900 i els 6 de juny de 2079, amb una presició d'un minut | |||||
2. Cadenes de caràcters i binaries
| ||||||
2.1 Cadena de caràcters | ||||||
2.1.1 Char, varchar i text | ||||||
char (n) | dades de caràcters no Unicode de longitud fixe amb una longitud màxima de 8.000 caràcters. n defineix la longitud de la cadena i pot ser un valor entre 1 i 8.000. El tamany d'emmagatzament és de n bytes. | n bytes | ||||
varchar (n) | dades de càracters no Unicode de longitud variable amb un màxim de 8.000 caràcters. | n bytes (aprox.) | ||||
text | dades de caràcters no Unicode de longitud variable amb una longitud màxima de 2^31-1 (2.147.483.647) | |||||
2.1.2 Cadenas de caracteres Unicode | ||||||
nchar (n) | Dades de caràcter Unicode de longitud fixe, amb n caràcters. n ha d'estar comprès entre 1 i 4.000. El tamany d'emmagatzament és dues vegades nbytes. | |||||
nvarchar ( n|Max ) | Dades de caràcter Unicode de longitud variable, n pot ser un valor comprès entre 1 i 4.000. Max indica que el tamany màxim d'emmagatzement és 2^3-1 bytes. El tamany d'emmagatzament en bytes és dues vegades el nombre de caràctes especificat + 2 bytes. Les dades especificades poden tenir una longitud de 0 caràcters. | |||||
ntext | Dades Unicode de longitud variable am una longitud màxima de 2^30-1 (1.073.741.823) caràcters. El tamany d'emmagatzement, en bytes, és dues vegades el número de caràcters especificat. | |||||
2.1.3 Cadenes binàries | ||||||
binary (n) | Dades binàries de longitud fixe amb una longitud de n bytes, on n és un valor que oscila entre 1 i 8.000. El tamany d'emmagatzament és de n bytes. | |||||
varbinary (n|Max) | Dades binàries de longitud variable, n pot ser un valor que oscila entre 1 i 8.000. Max inidca que el tamany màxim d'emmagatzament és de 2^31-1 bytes. El tamany d'emmagatzament és la longitud real de les dades especificades + 2 bytes. Les dades especificades poden tenir una longitud de 0 bytes. | |||||
image | Dades binàries de longitud variable desde 0 fins a 2^31-1 (2.147.483.647) bytes. | |||||
3. Altres tipus de dades | ||||||
cursor | Tipus de dades per les variables o per als paràmetres resultat dels procediments emmagatzemats que contenen una referència a un cursor. Les variables creades amb el tipus de dada cursor accepten NULL | |||||
sql_variant | Tipus de dades que emmagatzemen valors de diversos tipus de dades acceptats en SQL Server, excepte text, ntext, image, timestamp i sql_variant | |||||
table | És un tipus de dada especial que es pot utilitzar per emmagatzemar un conjunt de resultats per al seu processament posterior. table s'utilitza principalment per a l'emmagatzament temporal d'un conjunt de files retornat com el conjunt de resultats d'una funció amb valors de taula. | |||||
timestamp | Tipus de dades que exposa nombres binaris únics generats automàticament en una base de dades. El tipus de dada timestamp és simplement un número que s'incrementa i no conserva una data o hora | |||||
xml | Emmagatzema dades d'XML. Pot emmagatzemar instàncies d'xml en una columna o variable de tipus xml | |||||
uniqueidentifier | És un GUID ( Global Unique Identifier, Identificador Únic Global ) |
Comentaris
Publica un comentari a l'entrada