sobota, 16 lutego 2013

Typy danych MS SQL cz. 2 – typy znakowe i specjalne

2. Typy znakowe

a. typy tekstowe

  • char [ ( n ) ], varchar [ ( n | max ) ]
Dane typu ciąg o stałej lub zmiennej długości.char [ ( n ) ] Dane typu ciąg w formacie innym niż Unicode, o stałej długości. n określa długość ciągu i musi być wartością należącą do zakresu od 1 do 8000. Rozmiar magazynu to n bajtów. varchar [ ( n | max ) ] Dane typu ciąg w formacie innym niż Unicode, o zmiennej długości. n określa długość ciągu i może być wartością należącą do zakresu od 1 do 8000. max oznacza, że maksymalny rozmiar magazynu wynosi 2^31-1 bajtów (2 GB). Rozmiar magazynu to faktyczna długość wprowadzonych danych + 2 bajty.
  • nchar [ ( n ) ], nvarchar [ ( n | max ) ]
Typy danych znakowych albo o stałej lub zmiennej długości. Różnią się od powyższych tym, że mogą przechowywać dane Unicode, które używają zestawu znaków UNICODE UCS-2.
  • text , ntext
text to typ zmienno-znakowy o długości max. 2^30 – 1 bajtów, ntext jest odpowiednikiem typu text przechowującym dane Unicode.
W przyszłych wersjach systemu Microsoft SQL Server planowane jest usunięcie obu tych typów. Dlatego M$ zaleca nie używanie ich w nowych projektach, a w już istniejących aktualizowanie odpowiednio do varchar(max), nvarchar(max).

b. typy daty i czasu

  • date, datetime, datetime2, datetimeoffset, smalldatetime, time
Są to typy przechowujące kombinację daty i czasu. Użycie tych typów do przechowywania dat i czasu jest znacznie bardziej praktyczne niż w typie takim jak char czy vorchar. Po pierwsze SQL automatycznie formatuje je do typowej dla tych danych postaci. Po drugie dla tych danych można również używać specjalizowanych funkcji manipulujących datą i czasem, np.. porównywanie dat.
Typy datetime oraz smalldatetime są nadal obecne w MS SQL Server, jednak w nowych zastosowaniach zaleca się używać typu danych time, date, datetime2 i datetimeoffset. Typy te są w pełni zgodne ze standardem języka SQL, co zapewni większą elastyczność projektu.

3. Typy specjalne

a. typy binarne

  • binary, varbinary
Typy danych binarnych albo stałej długości lub zmiennej długości.
binary [ ( n ) ] przechowuje dane binarne o stałej długości n bajtów, gdzie n to wartość od 1 do 8000. Rozmiar magazynu to n bajtów.
varbinary [ ( n | max) ] to dane binarne o zmiennej długości. n może mieć wartość od 1 do 8000. max wskazuje, że maksymalny rozmiar magazynu czyli 2 ^ 31-1 bajtów. Rozmiar magazynu to faktyczna długość wprowadzonych danych + 2 bajty.
  • image zmienno-bajtowy typ o długości 0 – 2^31 – 1, przeznaczony do składowania obrazów w bazie danych.
W przyszłych wersjach systemu Microsoft SQL Server planowane jest usunięcie tego typu danych. Dlatego M$ zaleca nie używanie go w nowych projektach, a w już istniejących aktualizowanie do varbinary(max).

b. typy przestrzenne

  • geography
Typ do przechowywania danych geograficznych, zaimplementowany w .NET CLR. Wykorzystywany jest głównie do zapisu pozycji GPS. Uwzględnia krzywiznę Ziemi.
  • geometry
Typ do przechowywania typów geometrycznych (w szczególności figur), zaimplementowany w .NET CLR.

c. inne

  • cursor Typ danych dla zmiennych parametrów wyjściowych procedury, które zawierają doniesienie do kursora.
  • hierarchyid Typ o zmiennej długości danych, służący do reprezentowania pozycji danej informacji w hierarchii.
  • sql_variant Typ danych, przechowujący różne wartości typów obsługiwanych przez SQL Server.
  • table Typ tabelaryczny.
  • uniqueidentifier Typ umożliwiający automatyczne generowanie unikalnych liczb binarnych w bazie danych.
  • xml Typ XML-owy.
Oczywiście powyższa lista nie wyczerpuje twórczego bogactwa i fantazji programistów M$. Niektóre typy zostały pominięte chociażby ze względu na ich marginalne zastosowanie, lub też moją ignorancję. Zainteresowanych odsyłam do pomocy technicznej dla MSSQL Server 2012 pod adresem: http://technet.microsoft.com/pl-pl/library/ms187752.aspx

Brak komentarzy:

Prześlij komentarz