mssql datu tipi. SQL serverī izmantotie datu veidi. Standartā noteiktie SQL datu tipi

Mūsdienu pasaulē ir liels skaits rīku un tehnoloģiju, kas paredzēti informācijas glabāšanai. Viena no izplatītākajām metodēm ir datu bāzes, ar kurām darbam tiek izmantotas dažādas vadības sistēmas. Šī uzglabāšanas metode paredz, ka visi dati ir skaidri strukturēti un ievadīti īpašās tabulās. Tās savukārt sastāv no noteikta datu tipa atribūtu kolonnām.

Datu tips - kas tas ir?

Mūsdienās ir vairākas definīcijas, kas izskaidro termina “datu tips” jēdzienu. Tomēr katram no tiem ir viena vispārīga nozīme. Tāpēc to var nosacīti definēt kā datu grupu, ko raksturo tās vērtības (simboliskas, skaitliskas utt.), kā arī darbības, kas tiek piemērotas attiecīgajām vērtībām.

Datu tipu piemērošanas joma ir daudzpusīga. Tos izmanto ne tikai informācijas glabāšanai, bet arī programmēšanā dažādu problēmu risināšanai. Izstrādājot programmas, ir ierasta prakse izstrādāt un izmantot savus datu tipus ar noteiktu darbību kopumu. Tomēr pielāgotie vienmēr ir balstīti uz pamata datu tipiem. SQL standarts ir balstīts arī uz visbiežāk sastopamo pamattipu izmantošanu, bet ar vairākiem specifiskiem papildinājumiem.

Datu tipu klasifikācija

Datu grupēšana pēc veida radās jau sen, un to izraisīja nepieciešamība pēc ērtākas apstrādes. Šobrīd esošo datu tipu bāzi veido divi: rakstzīmju un ciparu.

Pamatojoties uz tiem, tika izstrādāta moderna klasifikācija, kas ietver norādes, loģisko, veselo skaitļu, peldošā komata un virkņu datu tipus. SQL - klasifikācija pilnībā aptver visu iepriekš minēto. Tomēr dažām mūsdienu DBVS ir papildu papildinājumi. Tie ietver Oracle un MySQL.

Pamatdatu veidi

Tie, ko izmanto, lai izveidotu tabulu atribūtus, kas atbilst valodu standartiem, ir sadalīti 4 klasēs:

  • virknes vērtības;
  • frakcijas;
  • veselas vērtības;
  • datuma un laika vērtības.

Virknes datu tips

Pirmā vērtību grupa ļauj saglabāt visus datus, kas attēloti kā rakstzīmes.

Tās var būt speciālās rakstzīmes, cipari un burti, kas kopā tiks apstrādāti kā virknes jebkuros Datu tipos, tabulas saraksts, kas parādīts zemāk, veido pirmo grupu.

Izmanto stīgu uzglabāšanai. Parametrs iekavās ļauj noteikt saglabātās virknes garumu. Maksimālais lielums baitos, ko var norādīt virknei, ir 255.

Līdzīgi kā iepriekšējais veids, tas ļauj saglabāt virknes līdz 255 rakstzīmēm. Tomēr atšķirība no CHAR ir tāda, ka šāda veida vērtības saglabāšanai tiek atvēlēts nepieciešamais atmiņas apjoms. Tas nozīmē, ka virknei, kas sastāv no 5 rakstzīmēm, būs nepieciešami 6 baiti atmiņas. Pirmajā gadījumā atmiņa vērtībai tiks piešķirta atbilstoši norādītajam parametram.

Izmanto, lai saglabātu virknes datus līdz 255 rakstzīmēm.

Izmanto teksta informācijas glabāšanai, kuras izmērs nepārsniedz 65 535 burtus.

Attiecīgais datu tips ir līdzīgs TEXT tipam un ļauj datu bāzē saglabāt teksta informāciju, kuras apjoms var sasniegt 65 535 rakstzīmes. Bet praksē to izmanto, lai uzglabātu skaņas datus, rasējumus, elektronisko dokumentāciju utt.

Tas tika izstrādāts, pamatojoties uz TEXT tipu, bet ļauj saglabāt vairāk datu, pateicoties palielinātajam izmēram līdz 16 777 215 burtiem vai simboliem.

Izmanto elektronisku dokumentu saglabāšanai datu bāzē, kuru izmērs nepārsniedz 16 777 215 rakstzīmes.

Funkcionāli līdzīgs iepriekšējiem tipiem, bet ar palielinātu atmiņas ietilpību līdz 4 gigabaitiem.

Ļauj datu bāzē ievietot lielu datu apjomu (4 294 967 295 rakstzīmes).

ENUM (a, b, c utt.)

Īpašs datu tips, ko izmanto, lai norādītu iespējamo vērtību sarakstu. Ļauj norādīt 65535 vērtības. Attiecīgā tipa virknes var iegūt vienu vērtību no komplektā norādītajām. Gadījumā, ja tiek pievienotas vērtības, kuras nav norādītajā sarakstā, tabulā tiks ierakstītas tukšas vērtības.

Norāda derīgu vērtību kopu. Atšķirībā no iepriekšējā tipa, tas tiek izmantots, lai saturētu 64 parametrus, kurus var inicializēt ar jebkuru vai vairākiem elementiem no dotajiem argumentiem.

Daļējo datu tipu tabula

Frakcionēti SQL datu tipi tiek izmantoti peldošā komata skaitļu glabāšanai. Praksē, kā likums, tiek noteikti dažādi finanšu rādītāji. Atkarībā no nepieciešamās precizitātes tiek izmantots viens no trim uzrādītajiem:

Piemēram, banku aprēķinos daļdaļas precizitāte sasniedz 8 vai 10 ciparus. Pirmos divus veidus nevar izmantot šajā jomā.

Finanšu rādītāju glabāšana virkņu veidā ievērojami vienkāršo daudzu problēmu risinājumu. Taču, risinot finanšu jautājumus vai veicot dažādas SQL darbības, liela nozīme ir datu tipu konvertēšanai. Izstrādātājiem noteikti jāņem vērā uzglabāšanas veids un apstrādes metodes, lai nodrošinātu, ka dati vienmēr paliek nemainīgi.

Vesela skaitļa datu tips

Veseli skaitļi ir atsevišķa skaitļu grupa, kas veido vienu no galvenajām klasēm. Veselu skaitļu SQL datu tipi ir balstīti uz bāzes datu izmantošanu ar zināmu tā īpašību paplašinājumu.

Izvēloties pareizo datu tipu, jūs varat ievērojami ietaupīt atmiņu un samazināt servera laiku, kas pavadīts nepieciešamo SQL vaicājumu izpildei. Datu veidi vai drīzāk to diapazons nosaka nepieciešamo uzglabāšanas vietas apjomu.

Tāpēc izstrādātājiem ir svarīgi atcerēties, ka lielu atribūtu diapazonu izmantošana palielina atmiņas izmaksas. Nepieciešams skaidri analizēt risināmās problēmas un identificēt gadījumus, kad ir zināms aptuvenais diapazons un definēts zīmju skaitļu lietošanas nosacījums. Ja izmantoto argumentu diapazons ir mazs un visi skaitļi ir pozitīvi, tad pareizāk būtu izmantot neparakstīto tipu, ko veido atribūts UNSIGNED.

Datuma un laika datu veidi

Apgūstot SQL pamatus, īpaši interesē datuma un laika datu tipi.

Tālāk norādīto veidu izmantošana sniedz papildu priekšrocības, izstrādājot sistēmas, kas ir atkarīgas no laika.

Galvenais mērķis ir saglabāt datumu formātā YEAR-MONTH-DAY (“GGGG-MM-DD” vai “uuuu-mm-dd”). Parasti vērtības tiek atdalītas ar “-”, taču kā atdalītāju var izmantot jebkuru rakstzīmi, izņemot ciparus.

Ļauj ievadīt pagaidu vērtības tabulas šūnā. Visas vērtības ir norādītas formātā “hh:mm:ss”

Apvieno iepriekšējo divu veidu funkcijas. Uzglabāšanas formāts tiek parādīts šādi: “uuuu-mm-dd hh:mm:ss”.

Saglabā datumu un laiku, kas aprēķināts pēc sekunžu skaita, kas pagājušas kopš 1970. gada 1. janvāra pusnakts līdz norādītajai vērtībai.

Izmanto, lai saglabātu gada vērtības divu vai četru ciparu formātā.

Kas vēl jums jāzina?

Visus šos datu veidus Microsoft sīki sistematizē. Viņa detalizētāk izstrādāja SQL datu tipus.

Piemēram, uzņēmums detalizēti apraksta, cik daudz atmiņas baitos tiek atvēlēts, izmantojot katru veidu. Izpētot pieejamo informāciju, izstrādātājiem ir vieglāk izveidot tabulu un visas datu bāzes struktūru, pamatojoties uz servera aparatūras iespējām.

Īpašais rādītājs - NULL

Dažkārt, aizpildot datu bāzi, rodas situācija, kad, pievienojot ierakstu tabulai, nav jāievada informācija visās kolonnās. Šim nolūkam tiek izmantots īpašs tukšas vērtības rādītājs - NULL, kurā kā palīglīdzeklis tiek izmantota SQL valoda. Veidojot tabulas, kolonnu datu tipi, kas nav jāaizpilda, tiek norādīti ar paziņojumu, kas ļauj iekļaut nulles vērtības. Citā gadījumā operators NULL ar papildu stiprinājumu NAV var izmantot, lai norādītu, ka ir jāaizpilda visas vērtības.

Rādītājs NULL nav tipa, bet vienkārši norāda uz tukšu vērtību datu bāzes tabulās. Tāpēc to var kombinēt ar jebkuru no iepriekšminētajiem veidiem.

Pēdējā atjaunināšana: 12.07.2017

Veidojot tabulu, visām tās kolonnām ir jānorāda konkrēts datu tips. Datu tips nosaka, kādas vērtības var saglabāt kolonnā un cik daudz vietas tās aizņems atmiņā.

T-SQL valoda nodrošina daudz dažādu veidu. Atkarībā no nozīmju rakstura tās visas var iedalīt grupās.

Skaitliskie datu veidi

    BIT: saglabā vērtību 0 vai 1. Faktiski tas ir Būla tipa analogs programmēšanas valodās. Aizņem 1 baitu.

    TINYINT: saglabā skaitļus no 0 līdz 255. Aizņem 1 baitu. Piemērots mazu ciparu glabāšanai.

    SMALLINT: saglabā skaitļus no –32 768 līdz 32 767. Aizņem 2 baitus

    INT: saglabā numurus no –2 147 483 648 līdz 2 147 483 647. Aizņem 4 baitus. Visbiežāk izmantotais skaitļu glabāšanas veids.

    BIGINT: saglabā ļoti lielus skaitļus no -9,223,372,036,854,775,808 līdz 9,223,372,036,854,775,807, kas atmiņā aizņem 8 baitus.

    DECIMAL: saglabā fiksētus precizitātes skaitļus. Tas aizņem no 5 līdz 17 baitiem atkarībā no decimālzīmju skaita.

    Šim tipam var būt divi precizitātes un mēroga parametri: DECIMAL(precizitāte, mērogs).

    Precizitātes parametrs norāda maksimālo ciparu skaitu, ko var saglabāt. Šai vērtībai ir jābūt no 1 līdz 38. Noklusējuma vērtība ir 18.

    Mēroga parametrs norāda maksimālo ciparu skaitu, ko cipars var saturēt aiz komata. Šai vērtībai ir jābūt diapazonā no 0 līdz precizitātes parametra vērtībai. Pēc noklusējuma tas ir 0.

    SKAITS: šis veids ir līdzīgs veidam DECIMAL.

    SMALLMONEY: saglabā frakcionētas vērtības no -214748.3648 līdz 214748.3647. Paredzēts naudas vērtību glabāšanai. Aizņem 4 baitus. Atbilst tipam DECIMAL(10,4) .

    NAUDA: saglabā frakcionētas vērtības no -922 337 203 685 477.5808 līdz 922 337 203 685 477 5807. Apzīmē naudas vērtības un aizņem 8 baitus. Atbilst tipam DECIMAL(19,4) .

    FLOAT: saglabā numurus no –1,79E+308 līdz 1,79E+308. Tas aizņem no 4 līdz 8 baitiem atkarībā no daļējās daļas.

    Var definēt kā FLOAT(n) , kur n apzīmē bitu skaitu, kas tiek izmantots, lai saglabātu skaitļa decimāldaļu (mantisu). Noklusējuma n = 53.

    REAL : Saglabā numurus no –340E+38 līdz 3.40E+38. Aizņem 4 baitus. Atbilst FLOAT(24) tipam.

Ciparu kolonnu piemēri: alga MONEY, kopējais svars DECIMAL(9,2), vecums INT, pārpalikums FLOAT

Datu tipi, kas attēlo datumu un laiku

    DATUMS: veikalu datumi no 0001-01-01 (0001. gada 1. janvāris) līdz 9999-12-31 (9999. gada 31. decembris). Aizņem 3 baitus.

    LAIKS: saglabā laiku diapazonā no 00:00:00.0000000 līdz 23:59:59.9999999. Aizņem no 3 līdz 5 baitiem.

    Var būt formā TIME(n) , kur n apzīmē ciparu skaitu no 0 līdz 7 sekundes daļās.

    DATETIME: saglabā datumus un laikus no 01/01/1753 līdz 31/12/9999. Aizņem 8 baitus.

    DATETIME2 : saglabā datumus un laikus diapazonā no 01/01/0001 00:00:00.0000000 līdz 12/31/9999 23:59:59.9999999. Atkarībā no laika precizitātes aizņem no 6 līdz 8 baitiem.

    Var būt formā DATETIME2(n) , kur n apzīmē ciparu skaitu no 0 līdz 7 sekundes daļās.

    SMALLDATETIME: saglabā datumus un laikus diapazonā no 01/01/1900 līdz 06/06/2079, tas ir, tuvākos datumus. Aizņem no 4 baitiem.

    DATETIMEOFFSET: saglabā datumus un laikus diapazonā no 0001-01-01 līdz 9999-12-31. Saglabā detalizētu laika informāciju ar precizitāti līdz 100 nanosekundēm. Aizņem 10 baitus.

Parastie datumu formāti:

    gggg-mm-dd - 2017-07-12

    dd/mm/gggg - 07/12/2017

    mm-dd-gg - 07-12-17

    Šajā formātā divciparu skaitļi no 00 līdz 49 tiek uzskatīti par datumiem diapazonā no 2000. līdz 2049. gadam. Un skaitļi no 50 līdz 90 ir kā skaitļu diapazons no 1950 līdz 1999.

    Mēnesis dd, gggg – 2017. gada 12. jūlijs

Parastie laika formāti:

  • hh:mi am/pm–13:21

    hh:mi:ss — 1:21:34

    hh:mi:ss:mmm — 1:21:34:12

    hh:mi:ss:nnnnnnnn - 1:21:34:1234567

Virkņu datu tipi

    CHAR: saglabā virkni, kuras garums ir no 1 līdz 8000 rakstzīmēm. Katrai rakstzīmei tiek piešķirts 1 baits. Nav piemērots daudzām valodām, jo ​​tajā tiek saglabātas rakstzīmes, kas nav Unikoda rakstzīmes.

    Rakstzīmju skaits, ko var saglabāt kolonnā, ir norādīts iekavās. Piemēram, kolonnai ar tipu CHAR(10) tiks piešķirti 10 baiti. Un, ja kolonnā saglabāsim virkni, kas ir mazāka par 10 rakstzīmēm, tā tiks papildināta ar atstarpēm.

    VARCHAR: saglabā virkni. Katrai rakstzīmei tiek atvēlēts 1 baits. Kolonnai var norādīt noteiktu garumu - no 1 līdz 8000 rakstzīmēm, piemēram, VARCHAR(10) . Ja virknei ir jābūt vairāk par 8000 rakstzīmēm, izmērs tiek iestatīts uz MAX, un virknes glabāšanai var atvēlēt līdz 2 GB: VARCHAR(MAX) .

    Nav piemērots daudzām valodām, jo ​​tajā tiek saglabātas rakstzīmes, kas nav Unikoda rakstzīmes.

    Atšķirībā no tipa CHAR, ja kolonnā ar VARCHAR(10) tipu tiek saglabāta 5 rakstzīmju virkne, tad kolonnā tiks saglabātas tieši piecas rakstzīmes.

    NCHAR: saglabā unikoda virkni no 1 līdz 4000 rakstzīmēm. Katrai rakstzīmei tiek piešķirti 2 baiti. Piemēram, NCHAR(15)

    NVARCHAR: saglabā unikoda kodētu virkni. Katrai rakstzīmei tiek piešķirti 2 baiti. Varat iestatīt noteiktu lielumu no 1 līdz 4000 rakstzīmēm: . Ja rindā ir jābūt vairāk par 4000 rakstzīmēm, izmērs tiek iestatīts uz MAX, un rindas glabāšanai var atvēlēt līdz 2 GB.

Vēl divi veidi, TEXT un NTEXT, ir novecojuši un tāpēc nav ieteicami. Tā vietā tiek izmantoti attiecīgi VARCHAR un NVARCHAR.

Virkņu kolonnu definēšanas piemēri:

E-pasts VARCHAR(30), komentārs NVARCHAR(MAX)

Bināro datu veidi

    BINĀRAIS: saglabā bināros datus kā secību no 1 līdz 8000 baitiem.

    VARBINARY: saglabā bināros datus kā secību no 1 līdz 8000 baitiem vai līdz 2^31-1 baitam, ja tiek izmantota MAX vērtība (VARBINARY(MAX)).

Cits binārais veids, tips IMAGE, ir novecojis, un tā vietā ieteicams izmantot VARBINARY.

Citi datu veidi

    UNIQUEIDENTIFIER: unikāls GUID (būtībā virkne ar unikālu vērtību), kas aizņem 16 baitus.

    TIMESTAMP: kāds skaitlis, kas saglabā tabulas rindas versijas numuru. Aizņem 8 baitus.

    KURSORS: apzīmē virkņu kopu.

    HIERARHIJA: apzīmē pozīciju hierarhijā.

    SQL_VARIANT: var saglabāt jebkura cita veida T-SQL datus.

    XML: saglabā XML dokumentus vai XML dokumentu fragmentus. Aizņem līdz 2 GB atmiņu.

    TABULA: atspoguļo tabulas definīciju.

    ĢEOGRĀFIJA: saglabā ģeogrāfiskos datus, piemēram, platumu un garumu.

    ĢEOMETRIJA: saglabā plaknes atrašanās vietas koordinātas.

Vispirms apskatīsim, kas ir “datu tipi”.
Datu tipi nosaka, kādas vērtības var saglabāt kolonnā un cik daudz atmiņas tās aizņems. Veidojot tabulu, visām tās kolonnām ir jānorāda konkrēts datu tips.
Galvenos SQL izmantotos veidus var iedalīt vairākās kategorijās:

  • Veselu skaitļu veidi;
  • Frakcionēti veidi;
  • Rakstzīmju veidi;
  • Naudas veidi;
  • Laika veidi (datums/laiks);

Veselu skaitļu datu veidi

Frakcionēti datu veidi

Rakstzīmju datu tips

Datu tipsApraksts
CHAR(izmērs)Izmanto stīgu uzglabāšanai. Parametrs iekavās ļauj noteikt saglabātās virknes garumu. Maksimālais baitu lielums, ko var norādīt virknei, ir 255.
VARCHAR (izmērs)Līdzīgi kā iepriekšējais veids, tas ļauj saglabāt virknes līdz 255 rakstzīmēm. Tomēr atšķirība no CHAR ir tāda, ka šāda veida vērtības saglabāšanai tiek atvēlēts nepieciešamais atmiņas apjoms. Tas nozīmē, ka virknei, kas sastāv no 5 rakstzīmēm, būs nepieciešami 6 baiti atmiņas. Pirmajā gadījumā atmiņa vērtībai tiks piešķirta atbilstoši norādītajam parametram.
NCHAR(izmērs)Pastāvīga garuma virknes dati Unicode. n norāda virknes garumu, un tai ir jābūt vērtībai no 1 līdz 4000. Krātuves lielums ir divreiz lielāks par lieluma vērtību baitos. Ieteicams izmantot nchar, ja paredzams, ka kolonnu datu elementu izmēri būs līdzīgi.
NVARCHAR
(izmērs|maks.)
Mainīga garuma virknes dati Unicode. Lielums norāda virknes garumu, un tā vērtība var būt no 1 līdz 4000. Maksimālā vērtība norāda, ka maksimālais krātuves lielums ir 2^31–1 rakstzīme (2 GB). Ieteicams izmantot nvarchar, ja paredzams, ka kolonnu datu elementu izmēri būs atšķirīgi.
TEKSTSMainīga garuma dati bez Unikoda servera kodu lapā un ar maksimālo rindiņas garumu 2^31-1 (2 147 483 647).
NTEXTMainīga garuma Unikoda kodēti dati ar maksimālo rindas garumu 2^30–1 (1 073 741 823) baiti.

Valūtas datu tips

Laika veidi (datums/laiks)

Datu tipsApraksts
DATUMSGalvenais mērķis ir saglabāt datumu formātā YEAR-MONTH-DAY (“GGGG-MM-DD” vai “uuuu-mm-dd”).
LAIKSĻauj ievadīt pagaidu vērtības tabulas šūnā. Visas vērtības ir norādītas formātā “hh:mm:ss”.
DATUMS LAIKSApvieno iepriekšējo divu veidu funkcijas. Uzglabāšanas formāts tiek parādīts šādi: “uuuu-mm-dd hh:mm:ss”.
LAIKZĪMOGSSaglabā datumu un laiku, kas aprēķināts pēc sekunžu skaita, kas pagājušas kopš 1970. gada 1. janvāra pusnakts līdz norādītajai vērtībai.

Datu tipu izmantošanas piemēri

Apskatīsim piemēru, kā izmantot datu tipus SQL.

Datu tipu izmantošanas piemērs

MySQL

CREATE TABLE Pārbaudes (id INT NOT NULL, Name VARCHAR (50) NOT NULL, DataToDay DATE NOT NULL, Cost FLOAT NOT NULL);

id ir skaitītājs (saglabā individuālo čeka numuru), tāpēc tas pieder pie vesela skaitļa datu tipa, tāpēc mēs to veidojam INT vai VESELS SKAITLIS. NAV NULL norāda, ka mainīgais nevar būt tukšs.
IN Vārds Mēs saglabāsim produkta nosaukumu. Tā kā kolonnā tiks saglabātas mūsu izmantotās rakstzīmes VARCHAR. Pēc veida norādīšanas nosaukumam piešķiram atmiņu (mūsu gadījumā tā ir (50) ).
Tālāk norādītās tabulas kolonnas tiek izveidotas līdzīgi.

DATU STRUKTŪRAS DEFINĪCIJA

Jautājumi:

1. Standarta definētie SQL datu tipi... 1

2. SQL serverī izmantotie datu tipi. 3

3. Izteiksmes un mainīgie. 5

4. SQL vadības konstrukcijas... 6

5. SQL servera datu bāzes struktūras pamatobjekti. 7

Standartā noteiktie SQL datu tipi

Dati ir apkopota informācija, kas tiek glabāta datubāzē kā viens no vairākiem dažādiem veidiem. Datu tipi definē pamatnoteikumus datiem, kas ietverti konkrētā tabulas kolonnā, tostarp tam atvēlētās atmiņas apjomu.

SQL ir seši skalāro datu tipi, kas noteikti standartā. To īss apraksts ir parādīts tabulā.

Rakstzīmju dati

Rakstzīmju dati sastāv no rakstzīmju secības, kas iekļautas DBVS veidotāju definētajā rakstzīmju komplektā. Tā kā rakstzīmju kopas ir raksturīgas dažādiem SQL valodas dialektiem, to rakstzīmju saraksts, kuras var iekļaut rakstzīmju datu vērtībās, ir atkarīgs arī no ieviešanas. Visbiežāk izmantotās rakstzīmju kopas ir ASCII un EBCDIC. Rakstzīmju datu definēšanai tiek izmantots šāds formāts:

<символьный_тип>::=

( RAKSTURS [ VARYING][garums] | [garums])

Definējot kolonnu ar rakstzīmju datu tipu, garuma parametrs tiek izmantots, lai norādītu maksimālo rakstzīmju skaitu, ko var ievietot kolonnā (noklusējums ir 1). Rakstzīmju virkni var definēt kā fiksētu vai mainīgu garumu. Ja virkne ir definēta ar fiksētu vērtību garumu, tad, kad tajā tiek ievadīts mazāk rakstzīmju, vērtība tiek papildināta līdz norādītajam garumam, labajā pusē pievienojot atstarpes. Ja virkne ir definēta ar mainīga garuma vērtību, tad, ievadot tajā mazāk rakstzīmju, datu bāzē tiks saglabātas tikai ievadītās rakstzīmes, kas ļaus nedaudz ietaupīt ārējā atmiņā.

Bitu dati

Bitu tips datus izmanto, lai definētu bitu virknes, t.i. bināro ciparu (bitu) secības, no kurām katra vērtība var būt 0 vai 1. Bitu tipa dati tiek definēti, izmantojot šādu formātu:

<битовый_тип>::=

BIT [garums]

Precīzi skaitļi

Precīzs ciparu datu tips izmanto, lai noteiktu skaitļus, kuriem ir precīzs attēlojums, t.i. cipari sastāv no cipariem, neobligāta decimālzīmes un izvēles zīmes rakstzīmes. Precīzu ciparu tipa datus nosaka daļdaļas precizitāte un garums. Precizitāte norāda kopējo skaitļa nozīmīgo decimālo ciparu skaitu, kas ietver gan veselā skaitļa, gan daļdaļas garumu, bet neskaitot pašu decimālzīmi. Skala norāda skaitļa daļskaitļu decimāldaļu skaitu.

<фиксированный_тип>::=

(SKAITĻI[precizitāte[,mērogs]]|(DECIMĀLĀ|DEC)

[precizitāte[, mērogs]]

| (VESELS SKAITS |INT)| SMALLINT)

Veidi SKAITS Un DECIMĀLĀ ir paredzēti, lai saglabātu skaitļus decimālā formātā. Pēc noklusējuma daļējās daļas garums ir nulle, un noklusējuma precizitāte ir atkarīga no ieviešanas. INTEGER (INT) veids tiek izmantots lielu pozitīvu vai negatīvu veselu skaitļu glabāšanai. SMALLINT tips – mazu pozitīvu vai negatīvu veselu skaitļu glabāšanai; šajā gadījumā ārējās atmiņas patēriņš ir ievērojami samazināts.

Noapaļoti skaitļi

Noapaļoto skaitļu veids izmanto, lai aprakstītu datus, kurus nevar precīzi attēlot ar datoru, jo īpaši reālus skaitļus. Noapaļoti vai peldošā komata skaitļi tiek attēloti zinātniskā pierakstā, kurā skaitlis tiek ierakstīts, izmantojot mantisu, kas reizināta ar noteiktu desmit pakāpi (eksponents), piemēram: 10E3, +5.2E6, -0.2E-4. Lai definētu reāla tipa datus, tiek izmantots šāds formāts:

<вещественный_тип>::=

( PELDOŠS [precizitāte] | REĀLS |

dubultā precizitāte)

Parametrs precizitāte norāda mantisas zīmīgo ciparu skaitu. REAL un DOUBLE PRECISION tipu precizitāte ir atkarīga no ieviešanas.

datums un laiks

Datuma/laika datu tips izmanto, lai noteiktu laika punktus ar noteiktu precizitāti. SQL standarts atbalsta šādu formātu:

<тип_даты/времени>::=

(DATE | LAIKS[precizitāte]|

LAIKZĪMOGS [precizitāte])

Datu tips DATE tiek izmantots, lai saglabātu kalendāra datumus, kas ietver laukus YEAR, MONTH un DAY. Datu tips TIME ir paredzēts laikspiedolu, tostarp HOUR (stundas), MINUTE (minūtes) un SECOND (sekundes) glabāšanai. TIMESTAMP datu tips – datuma un laika glabāšanai kopā. Precizitātes parametrs norāda daļskaitļu decimāldaļu skaitu, kas nosaka vērtības saglabāšanas precizitāti laukā SECOND. Ja šis parametrs tiek izlaists, kolonnām TIME tā noklusējuma vērtība ir nulle (tas ir, tiek saglabātas veselas sekundes), savukārt laukiem TIMESTAMP tas pēc noklusējuma ir 6. Atslēgvārda WITH TIME ZONE klātbūtne nosaka lauku TIMEZONE HOUR un TIMEZONE izmantošanu. MINŪTE, tādējādi iestatot zonas laika maiņas stundu un minūtes attiecībā pret vispārējo koordinēto laiku (Grinvičas laiks).

INTERVAL dati tiek izmantoti laika periodu attēlošanai.

Domēna koncepcija

Domēns ir derīgu vērtību kopa vienam vai vairākiem atribūtiem. Ja datu bāzes tabulā vai vairākās tabulās ir kolonnas, kurām ir vienādas īpašības, varat aprakstīt kolonnas veidu un darbību domēna izteiksmē un pēc tam katrai no tām pašām kolonnām piešķirt domēna nosaukumu. Domēns nosaka visas iespējamās vērtības, kuras var piešķirt atribūtam.

SQL standarts ļauj definēt domēnu, izmantojot šādu paziņojumu:

<определение_домена>::=

IZVEIDOT DOMAIN domēna_nosaukums

datu tips

[NOKLUSĒJUMA vērtība]

[PĀRBAUDĪT (derīgas_vērtības)]

Katram izveidotajam domēnam tiek piešķirts nosaukums, datu tips, noklusējuma vērtība un atļauto vērtību kopa. Jāņem vērā, ka dotais paziņojuma formāts ir nepilnīgs. Tagad, veidojot tabulu, datu veida vietā varat norādīt domēna nosaukumu.

Domēnu noņemšana no datu bāzes tiek veikta, izmantojot paziņojumu:

DROP DOMAIN domēna_nosaukums [ IEROBEŽOT |

Ja norādāt atslēgvārdu CASCADE, visas tabulas kolonnas, kas izveidotas, izmantojot dzēšamo domēnu, tiks automātiski pārveidotas un aprakstītas kā tādas, kas satur datus, kas norādīti dzēšamā domēna definīcijā.

Alternatīva domēniem SQL Server vidē ir lietotāju datu tipi.

SQL serverī izmantotie datu veidi

Sistēmas datu veidi

Viens no galvenajiem tabulas izveides procesa punktiem ir datu tipu noteikšana tās laukiem. Tabulas lauka datu tips nosaka informācijas veidu, kas tiks ievietots šajā laukā. SQL Server datu tipa jēdziens pilnībā atbilst datu tipa jēdzienam mūsdienu programmēšanas valodās. SQL serveris atbalsta lielu skaitu dažādu datu tipu: teksta, ciparu, bināro (sk. tabulu).

Šeit ir īss pārskats par SQL Server datu veidiem.

Izmanto simboliskas informācijas glabāšanai rakstzīmju datu tipi, kas ietver CHAR (garums), VARCHAR (garums), NCHAR (garums), NVARCHAR (garums). Pēdējie divi ir paredzēti unikoda rakstzīmju glabāšanai. Maksimālais garums ir ierobežots līdz 8000 rakstzīmēm (4000 unikoda rakstzīmēm).

Liela apjoma rakstzīmju dati (līdz 2 GB) tiek saglabāti, izmantojot teksta datu tipus TEXT un NTEXT.

UZ veselu skaitļu datu tipi ietver INT (INTEGER), SMALLINT, TINYINT, BIGINT. Lai saglabātu veselus skaitļus, tiek izmantoti 4 baiti (diapazons no -231 līdz 231-1), 2 baiti (diapazons no -215 līdz 215-1), 1 baits (diapazons no 0 līdz 255) vai 8 baiti (diapazons no -263). izmantots attiecīgi līdz 263-1). Vesela skaitļa tipa objektus un izteiksmes var izmantot jebkurā matemātiskā darbībā.

Skaitļus, kas satur decimālzīmi, sauc par skaitļiem, kas nav veseli. Dati, kas nav veseli skaitļi ir sadalīti divos veidos - decimālzīme Un aptuvens.

UZ decimālzīme Datu veidi ietver DECIMAL [(precizitāte[,mērogs])] vai DEC un NUMERIC [(precizitāte[,mērogs])]. Datu tipi DECIMAL un NUMERIC ļauj neatkarīgi definēt peldošā komata skaitļa precizitātes formātu. Precizitātes parametrs norāda maksimālo šāda veida ievaddatu ciparu skaitu (pirms un pēc komata summā), un skalas parametrs norāda maksimālo ciparu skaitu, kas atrodas aiz komata. Parastā režīmā serveris ļauj ievadīt ne vairāk kā 28 ciparus, ko izmanto DECIMAL un NUMERIC tipos (no 2 līdz 17 baitiem).

UZ aptuvens Datu veidi ietver FLOAT (precizitāte līdz 15 cipariem, 8 baiti) un REAL (precizitāte līdz 7 cipariem, 4 baiti). Šie veidi attēlo datus peldošā komata formātā, t.i. skaitļu attēlošanai tiek izmantota mantisa un eksponents, nodrošinot tādu pašu precizitāti aprēķinos neatkarīgi no tā, cik maza vai liela ir vērtība.

Lai saglabātu informāciju par datums un laiks Ir paredzēti datu tipi, piemēram, DATETIME un SMALLDATETIME, kas izmanto attiecīgi 8 un 4 baitus, lai attēlotu datumu un laiku.

MONEY un SMALLMONEY datu veidi dot iespēju uzglabāt naudas veida informāciju; tie nodrošina vērtību precizitāti līdz 4 zīmēm aiz komata un izmanto attiecīgi 8 un 4 baitus.

BIT datu tipsļauj saglabāt vienu bitu, kas var iegūt vērtības 0 vai 1.

SQL Server vide ievieš vairākas īpašie datu veidi.

Datu tips LAIKZĪMOGS izmanto kā rindas versijas maiņas indikatoru datu bāzē.

Datu tips UNIKĀLS IDENTIFIKĀTORS izmanto, lai saglabātu globāli unikālus identifikācijas numurus.

Datu tips SYSNAME paredzēts objektu identifikatoriem.

Datu tips SQL_VARIANTļauj saglabāt jebkura SQL Server atbalstītā datu veida vērtības, izņemot TEXT, NTEXT, IMAGE un TIMESTAMP.

Datu tips TABULA, tāpat kā pagaidu tabulas, nodrošina krātuvi rindu kopai, kas paredzēta turpmākai apstrādei. Datu tipu TABLE var izmantot tikai vietējo mainīgo un lietotāja funkciju atgriešanas vērtību definēšanai.

Datu tips KURSORS nepieciešami darbam ar objektiem, piemēram, kursoriem, un to var izmantot tikai saglabāto procedūru mainīgajiem lielumiem un parametriem. SQL Server kursori ir mehānisms datu apmaiņai starp serveri un klientu. Kursors ļauj klienta lietojumprogrammām strādāt nevis ar pilnu datu kopu, bet tikai ar vienu vai dažām rindām.