Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • OS
  • SQL: Llojet e të dhënave. Sistemi i menaxhimit të bazës së të dhënave SQLite

SQL: Llojet e të dhënave. Sistemi i menaxhimit të bazës së të dhënave SQLite

Të gjitha vlerat në një kolonë duhet të jenë të të njëjtit lloj të dhënash. (Përjashtimet e vetme nga ky rregull janë vlerat e llojit të të dhënave SQL_VARIANT.) Llojet e të dhënave të përdorura në Transact-SQL mund të kategorizohen si më poshtë:

    llojet numerike;

    llojet e karaktereve;

    llojet e përkohshme (datat dhe / ose oraret);

    lloje të tjera të dhënash.

Llojet e të dhënave numerike

Siç mund të prisni nga emri i tyre, llojet e të dhënave numerike përdoren për të përfaqësuar numrat. Këto lloje dhe përshkrimet e tyre të shkurtra janë paraqitur në tabelën e mëposhtme:

Llojet e të dhënave numerike T-SQL
Lloji i të dhënave Përshkrim
I PLOTË

Përfaqëson vlera të numrave të plotë 4 bajt në rangun -2 32 deri në 2 32 - 1. INT është stenografi për INTEGER.

I VOGLA

Përfaqëson vlerat e numrave të plotë 2-byte në rangun -32,768 deri në 32,767

TINYINT

Përfaqëson vlerat e numrit të plotë 1 bajt në rangun nga 0 deri në 255

E MADHE

Përfaqëson vlerat e numrave të plotë 8 bajt në rangun -2 63 deri në 2 63 - 1

DHJETOR (p, [s])

Përfaqëson vlera të pikës fikse. Argumenti p (precision) specifikon numrin total të shifrave, dhe argumenti s (shkallë) specifikon numrin e shifrave në të djathtë të pikës dhjetore të pritur. Në varësi të vlerës së argumentit p, vlerat dhjetore ruhen në 5 deri në 17 bajt. DEC është një formë e shkurtuar për DECIMAL.

NUMERIC (p, [s])

Sinonim për DECIMAL.

REAL

Përdoret për të paraqitur vlerat me pikë lundruese. Gama e vlerave pozitive është afërsisht 2.23E -308 në -1.18E -38. Mund të sigurohet gjithashtu një vlerë null.

FLOAT [(p)]

Ashtu si REAL, ai përfaqëson vlerat e pikës lundruese [(p)]. Argumenti p specifikon saktësinë. Për f< 25 представляемые значения имеют одинарную точность (требуют 4 байта для хранения), а при значении p >= 25 - saktësi e dyfishtë (kërkon 8 bajt për ruajtje).

PARAJA

Përdoret për të përfaqësuar vlerat monetare. Vlerat e PARAVE korrespondojnë me vlerat DECIMAL 8 bajt të rrumbullakosura në katër shifra dhjetore

PARA E VOGLA

Përfaqëson të njëjtat vlera si PARAJA, por me gjatësi 4 bajt

Llojet e të dhënave të karaktereve

Ekzistojnë dy lloje të përgjithshme të llojeve të të dhënave të karaktereve. Vargjet mund të përfaqësohen nga karaktere me një bajt ose karaktere Unicode. (Unicode përdor shumë bajtë për të përfaqësuar një karakter të vetëm.) Përveç kësaj, vargjet mund të jenë me gjatësi të ndryshme. Tabela më poshtë rendit kategoritë e llojeve të të dhënave të karaktereve me një përshkrim të shkurtër.

Llojet e të dhënave të karaktereve T-SQL
Lloji i të dhënave Përshkrim
CHAR [(n)]

Përdoret për të përfaqësuar vargjet me gjatësi fikse prej n karakteresh me një bajt. Vlera maksimale për n është 8000. KARAKTERI (n) është një formë alternative ekuivalente e CHAR (n). Nëse n nuk është specifikuar në mënyrë eksplicite, atëherë vlera e tij supozohet të jetë 1.

VARCHAR [(n)]

Përdoret për të përfaqësuar një varg karakteresh me një bajt me gjatësi të ndryshueshme (0< n < 8 000). В отличие от типа данных CHAR, количество байтов для хранения значений типа данных VARCHAR равно их действительной длине. Этот тип данных имеет два синонима: CHAR VARYING и CHARACTER VARYING.

NCHAR [(n)]

Përdoret për të ruajtur vargjet me gjatësi fikse të karaktereve Unicode. Dallimi kryesor midis llojeve të të dhënave CHAR dhe NCHAR është se çdo karakter i një vargu NCHAR merr 2 bajt dhe një varg CHAR merr 1 bajt. Prandaj, një varg i tipit të të dhënave NCHAR mund të përmbajë më së shumti 4000 karaktere. Lloji NCHAR mund të përdoret për të ruajtur, për shembull, karakteret e alfabetit rus, pasi kodimet me një bajt nuk e lejojnë këtë.

NVARCHAR [(n)]

Përdoret për të ruajtur vargjet me gjatësi të ndryshueshme të karaktereve Unicode. Një varg NVARCHAR kërkon 2 bajt për të ruajtur çdo karakter, kështu që një varg NVARCHAR mund të përmbajë më së shumti 4000 karaktere.

Lloji i të dhënave VARCHAR është identik me llojin e të dhënave CHAR, me një ndryshim: nëse përmbajtja e vargut CHAR (n) është më e shkurtër se n karaktere, pjesa e mbetur e vargut është e mbushur me hapësira. Dhe numri i bajteve të zëna nga një varg VARCHAR është gjithmonë i barabartë me numrin e karaktereve në të.

Llojet e të dhënave kohore

Llojet e mëposhtme të përkohshme të të dhënave mbështeten në Transact-SQL:

Llojet e të dhënave DATA KOHA dhe SMALLDATETIME përdoren për të ruajtur datën dhe kohën si vlera të plota prej 4 dhe 2 bajt, respektivisht. Vlerat e tipit DATETIME dhe SMALLDATETIME ruhen brenda si dy vlera numerike të veçanta. Pjesa e datës së vlerave DATETIME ruhet në intervalin 01/01/1753 deri në 31/12/9999, dhe pjesa korresponduese e vlerave SMALLDATETIME është në intervalin 01/01/1900 deri në 06/06/2079. Komponenti i kohës ruhet në një fushë të dytë 4 bajt (2 bajt për vlerat SMALLDATETIME) si tre të qindtat e sekondës (për DATETIME) ose minuta (për SMALLDATETIME) që nga mesnata.

Nëse dëshironi të ruani vetëm pjesën e datës ose orës, përdorimi i një vlere DATETIME ose SMALLDATETIME është disi i papërshtatshëm. Për këtë arsye, llojet e të dhënave u prezantuan në SQL Server DATA dhe KOHA që ruajnë vetëm komponentët e datës dhe kohës së vlerave DATETIME, respektivisht. Vlerat e DATE janë 3 bajt të gjata, që përfaqësojnë diapazonin e datave nga 01/01/0001 deri në 31/12/9999. Vlerat TIME janë 3-5 bajt dhe përfaqësojnë kohën me një saktësi prej 100 ns.

Lloji i të dhënave DATA KOHA 2 përdoret për të përfaqësuar vlerat e datës dhe kohës me saktësi të lartë. Në varësi të kërkesave, vlerat e këtij lloji mund të përcaktohen në gjatësi të ndryshme dhe zënë nga 6 deri në 8 bajt. Komponenti i kohës paraqet kohën me një saktësi prej 100 ns. Ky lloj i të dhënave nuk mbështet orarin e ditës.

Të gjitha llojet e përkohshme të të dhënave të diskutuara deri më tani nuk mbështesin zonat kohore. Lloji i të dhënave DATA KOHA ZHVILLOHET ka një komponent për të ruajtur kompensimin e zonës kohore. Për këtë arsye, vlerat e këtij lloji janë nga 6 deri në 8 bajt. Të gjitha vetitë e tjera të këtij lloji të të dhënave janë të njëjta me vetitë përkatëse të tipit të të dhënave DATETIME2.

Si parazgjedhje, vlerat e datës Transact-SQL përcaktohen si një varg "dd yyyy mmm" (për shembull, "Jan 10 1993"), i mbyllur në thonjëza të vetme ose të dyfishta. (Por rendi relativ i përbërësve të muajit, ditës dhe vitit mund të ndryshohet duke përdorur udhëzimin VENDOSI FORMATIN E DATËS... Përveç kësaj, sistemi mbështet vlerat numerike për komponentin e muajit dhe / dhe - ndarësit.) Në mënyrë të ngjashme, vlera e kohës tregohet në një format 24-orësh si "hh: mm" (për shembull, "22:24") .

Transact-SQL mbështet formate të ndryshme hyrëse për vlerat DATETIME. Siç u përmend, çdo përbërës përcaktohet veçmas, kështu që vlerat e datës dhe kohës mund të specifikohen në çdo mënyrë ose veçmas. Nëse një nga komponentët nuk është specifikuar, sistemi përdor vlerën e paracaktuar për të. (Ora e paracaktuar është ora 12:00 (para mesditës).)

Llojet e të dhënave binare dhe bit

Ekzistojnë dy lloje të llojeve të të dhënave binare: BINARE dhe VARBINARE. Këto lloje të dhënash përshkruajnë objektet e të dhënave në formatin e brendshëm të sistemit dhe përdoren për të ruajtur vargjet e biteve. Për këtë arsye, vlerat e këtyre llojeve futen duke përdorur numra heksadecimal.

Vlerat e llojit të bitit përmbajnë vetëm një bit, kështu që deri në tetë vlera të këtij lloji mund të ruhen në një bajt. Një përshkrim i shkurtër i vetive të llojeve të të dhënave binare dhe bit jepet në tabelën e mëposhtme:

Lloji i të dhënave të objektit të madh

Lloji i të dhënave LOB (Large OBject). përdoret për të ruajtur objekte të dhënash me madhësi deri në 2 GB. Objekte të tilla zakonisht përdoren për ruajtjen e sasive të mëdha të të dhënave tekstuale dhe për ngarkimin e shtojcave dhe skedarëve audio dhe video. Llojet e mëposhtme të të dhënave LOB mbështeten në Transact-SQL:

Duke filluar në SQL Server 2005, i njëjti model programimi zbatohet si për vlerat standarde të tipit të të dhënave ashtu edhe për vlerat e tipit të të dhënave LOB. Me fjalë të tjera, funksionet e përshtatshme të sistemit dhe operatorët e vargut mund të përdoren për të punuar me objektet LOB.

Në motorin e bazës së të dhënave parametri MAX përdoret me llojet e të dhënave VARCHAR, NVARCHAR dhe VARBINARY për të përcaktuar vlerat për kolonat me gjatësi të ndryshueshme. Kur përdorni gjatësinë e paracaktuar MAX në vend që të specifikoni në mënyrë eksplicite gjatësinë e një vlere, sistemi analizon gjatësinë e një vargu specifik dhe vendos nëse do ta ruajë atë varg si vlerë të rregullt apo si vlerë LOB. Parametri MAX specifikon që vlerat e kolonës mund të jenë aq të mëdha sa madhësia maksimale LOB për këtë sistem.

Megjithëse sistemi vendos se si do të ruhen LOB-të, cilësimet e paracaktuara mund të anashkalohen duke përdorur procedurën e sistemit sp_tableoption me argumentin LARGE_VALUE_TYPES_OUT_OF_ROW. Nëse ky argument është 1, atëherë të dhënat në kolonat e deklaruara duke përdorur parametrin MAX do të ruhen veçmas nga pjesa tjetër e të dhënave. Nëse argumenti është 0, motori i bazës së të dhënave ruan të gjitha vlerat deri në 8060 bajt në rreshtin e tabelës si të dhëna normale, dhe vlerat më të mëdha ruhen jashtë rreshtit në zonën e ruajtjes LOB.

Duke filluar në SQL Server 2008, kolonat VARBINARY (MAX) mund të përdoren Atributi FILESTREAM për të ruajtur të dhënat BLOB (objekt i madh binar) direkt në sistemin e skedarëve NTFS. Përfitimi kryesor i këtij atributi është se madhësia e LOB përkatës është e kufizuar vetëm nga madhësia e vëllimit të sistemit të skedarëve.

Lloji i të dhënave UNIQUEIDENTIFIER

Siç sugjeron emri, lloji i të dhënave UNIQUEIDENTIFIER është një numër identifikimi i paqartë që ruhet si një varg binar 16 bajt. Ky lloj i të dhënave është i lidhur ngushtë me identifikuesin GUID (Identifikuesi unik globalisht), e cila garanton paqartësi në shkallë globale. Kështu, ky lloj i të dhënave lejon identifikimin unik të të dhënave dhe objekteve në sistemet e shpërndara.

Ju mund të inicializoni një kolonë ose variabël UNIQUEIDENTIFIER duke përdorur funksionin NEWID ose NEWSEQUENTIALID, ose duke përdorur një konstante vargu të formatuar të personalizuar që përbëhet nga shifra heksadecimal dhe viza. Këto veçori diskutohen në artikullin vijues.

Një kolonë me vlera të llojit të të dhënave UNIQUEIDENTIFIER mund të aksesohet duke përdorur pyetjen Fjala kyçe ROWGUIDCOL për të treguar se kolona përmban vlera identitare. (Kjo fjalë kyçe nuk gjeneron asnjë vlerë.) Një tabelë mund të përmbajë kolona të shumta UNIQUEIDENTIFIER, por vetëm njëra prej tyre mund të ketë fjalën kyçe ROWGUIDCOL.

Lloji i të dhënave SQL_VARIANT

Lloji i të dhënave SQL_VARIANT mund të përdoret për të ruajtur vlerat e llojeve të ndryshme në të njëjtën kohë, si vlerat numerike, vargjet dhe datat. (Përjashtim janë vlerat TIMESTAMP.) Çdo vlerë në një kolonë SQL_VARIANT ka dy pjesë: vetë vlerën dhe informacionin që përshkruan vlerën. Ky informacion përmban të gjitha vetitë e llojit aktual të të dhënave të vlerës, të tilla si gjatësia, shkalla dhe saktësia.

Funksioni SQL_VARIANT_PROPERTY përdoret për të aksesuar dhe shfaqur informacione rreth vlerave të një kolone të tipit SQL_VARIANT.

Ju duhet të deklaroni një lloj kolone si SQL_VARIANT vetëm nëse keni vërtet nevojë. Për shembull, nëse një kolonë synon të ruajë vlera të llojeve të ndryshme të të dhënave, ose nëse, kur krijoni një tabelë, lloji i të dhënave që do të ruhen në këtë kolonë është i panjohur.

Lloji i të dhënave HIERARCHYID

Lloji i të dhënave HIERARCHYID përdoret për të ruajtur hierarkinë e plotë. Për shembull, ky lloj vlere mund të ruajë hierarkinë e të gjithë punonjësve ose hierarkinë e dosjeve. Ky lloj zbatohet si një tip i përcaktuar nga përdoruesi CLR që përfshin disa funksione të sistemit për krijimin dhe punën me nyjet e hierarkisë. Funksionet e mëposhtme, ndër të tjera, i përkasin metodave të këtij lloji të të dhënave: GetLevel (), GetAncestor (), GetDescendant (), Read () dhe Write ().

Lloji i të dhënave TIMESTAMP

Lloji i të dhënave TIMESTAMP specifikon një kolonë që është VARBINARE (8) ose BINARE (8), në varësi të veçorisë së kolonës, të jetë e pavlefshme. Për çdo bazë të dhënash, sistemi mban një numërues që rritet sa herë që futet ose përditësohet ndonjë rresht që përmban një qelizë TIMESTAMP dhe ia cakton atë qelizë asaj qelize. Kështu, duke përdorur qelizat e tipit TIMESTAMP, mund të përcaktoni kohën relative të modifikimit të fundit të rreshtave përkatës të tabelës. ( RROVVERSIONIështë sinonim i TIMESTAMP.)

Në vetvete, vlera e ruajtur në një kolonë TIMESTAMP nuk është e rëndësishme. Kjo kolonë përdoret zakonisht për të përcaktuar nëse një rresht specifik në një tabelë ka ndryshuar që nga hera e fundit që është aksesuar.

Opsionet e ruajtjes

Duke filluar me SQL Server 2008, ekzistojnë dy opsione të ndryshme ruajtjeje, secila prej të cilave mund të kursejë LOB dhe të kursejë hapësirë ​​në disk. Këto janë opsionet e mëposhtme:

    ruajtja e të dhënave FILESTREAM;

    ruajtje duke përdorur kolona të rralla.

Këto opsione të ruajtjes diskutohen në nënseksionet e mëposhtme.

Ruajtja e të dhënave FILESTREAM

Siç u përmend më herët, SQL Server mbështet ruajtjen e objekteve të mëdha (LOB) përmes llojit të të dhënave VARBINARY (MAX). Një veti e këtij lloji të të dhënave është se objektet e mëdha binare (BLOBs) ruhen në bazën e të dhënave. Kjo rrethanë mund të shkaktojë probleme të performancës kur ruani skedarë shumë të mëdhenj si skedarë audio ose video. Në raste të tilla, këto të dhëna ruhen jashtë bazës së të dhënave në skedarë të jashtëm.

Ruajtja e të dhënave FILESTREAM mbështet menaxhimin e LOB-ve që ruhen në sistemin e skedarëve NTFS. Avantazhi kryesor i këtij lloji të ruajtjes është se megjithëse të dhënat ruhen jashtë bazës së të dhënave, ato menaxhohen nga baza e të dhënave. Kështu, ky lloj ruajtjeje ka karakteristikat e mëposhtme:

    Të dhënat e FILESTREAM mund të ruhen duke përdorur deklaratën CREATE TABLE dhe deklaratat e modifikimit të të dhënave (SELECT, INSERT, UPDATE dhe DELETE) mund të përdoren për të manipuluar të dhënat.

    sistemi i menaxhimit të bazës së të dhënave ofron të njëjtin nivel sigurie për të dhënat FILESTREAM si për të dhënat e ruajtura brenda një baze të dhënash.

Kolona të rralla

Qëllimi i opsionit të ruajtjes së ofruar nga kolona të rralla është dukshëm i ndryshëm nga qëllimi i ruajtjes së llojit FILESTREAM. Ndërsa qëllimi i ruajtjes FILESTREAM është ruajtja e LOB-ve jashtë bazës së të dhënave, qëllimi i kolonave të rralla është të minimizojnë hapësirën në disk që zë baza e të dhënave.

Kolonat e këtij lloji ju lejojnë të optimizoni ruajtjen e kolonave me shumicën e vlerave të tyre të pavlefshme. Kur përdorni kolona të rralla, nuk keni nevojë për hapësirë ​​​​në disk për të ruajtur vlerat null, por nga ana tjetër, ruajtja e vlerave jo null kërkon 2 deri në 4 bajt shtesë, në varësi të llojit të tyre. Për këtë arsye, Microsoft rekomandon përdorimin e kolonave të rralla vetëm kur prisni të paktën 20% të kursimit total të hapësirës në disk.

Kolonat e rralla përcaktohen në të njëjtën mënyrë si kolonat e tjera në një tabelë; adresa ndaj tyre kryhet në mënyrë të ngjashme. Kjo do të thotë që ju mund të përdorni deklaratat SELECT, INSERT, UPDATE dhe DELETE për të hyrë në kolonat e rralla në të njëjtën mënyrë si do të përdorni kolonat e zakonshme. Dallimi i vetëm është në krijimin e kolonave të rralla: për të përcaktuar një kolonë specifike, përdoret rrallë Argumenti SPARSE pas emrit të kolonës, siç tregohet në këtë shembull:

Lloji i të dhënave emri i kolonës SPARSE

Shumë kolona të rralla në një tabelë mund të grupohen në një grup kolonash. Një grup i tillë do të ishte një mënyrë alternative për të ruajtur dhe aksesuar vlerat në të gjitha kolonat e rralla të tabelës.

Vlera NULL

Vlera null është një vlerë e veçantë që mund t'i caktohet një qelize tabele. Kjo vlerë përdoret zakonisht kur informacioni në një qelizë është i panjohur ose i pazbatueshëm. Për shembull, nëse nuk e dini numrin e telefonit të shtëpisë së një punonjësi të kompanisë, ju rekomandojmë të vendosni qelizën përkatëse në kolonën home_telephone në null.

Nëse vlera e çdo operandi të ndonjë shprehjeje aritmetike është nule, vlera e rezultatit të vlerësimit të asaj shprehjeje gjithashtu do të jetë nule. Prandaj, në veprimet aritmetike unare, nëse vlera e shprehjes A është nule, atëherë të dyja + A dhe -A kthehen null. Në shprehjet binare, nëse vlera e njërit ose të dy operandeve A dhe B është nule, atëherë rezultati i veprimit të modulit të mbledhjes, zbritjes, shumëzimit, pjesëtimit dhe pjesëtimit, këta operandë gjithashtu do të jenë nule.

Nëse shprehja përmban një operator krahasimi dhe vlera e njërit ose të dy operandëve të këtij operacioni është nule, rezultati i këtij operacioni gjithashtu do të jetë null.

Vlera null duhet të jetë e ndryshme nga të gjitha vlerat e tjera. Për llojet e të dhënave numerike, vlera 0 dhe null nuk janë të njëjta. E njëjta gjë është e vërtetë për vargun bosh dhe null për llojet e të dhënave të karaktereve.

Vlerat null mund të ruhen vetëm në një kolonë tabele nëse lejohen në mënyrë eksplicite në përkufizimin e kolonës. Nga ana tjetër, vlerat null nuk lejohen në një kolonë nëse NOT NULL është specifikuar në mënyrë eksplicite në përkufizimin e saj. Nëse NULL ose NOT NULL është specifikuar në mënyrë eksplicite për një kolonë me një lloj të dhënash (me përjashtim të llojit TIMESTAMP), atëherë caktohen vlerat e mëposhtme:

    NULL nëse vlera e parametrit ANSI_NULL_DFLT_ON Deklarata SET është aktive.

    NOT NULL nëse vlera e parametrit ANSI_NULL_DFLT_OFF të deklaratës SET është aktive.

Nëse deklarata e setit nuk aktivizohet, kolona do të jetë e paracaktuar NOT NULL. (Vlerat null nuk lejohen për kolonat TIMESTAMP.)

Sot në botë ka një numër të madh teknologjish dhe mjetesh për ruajtjen e informacionit. Bazat e të dhënave janë një nga mjetet më të zakonshme. Për të punuar me to përdoren sisteme të ndryshme kontrolli. Kjo metodë e ruajtjes supozon se i gjithë informacioni është i strukturuar qartë dhe futet në tabela të veçanta. Tabelat, nga ana tjetër, përbëhen nga kolona atribute të një lloji të caktuar informacioni.

Çfarë është një tip i të dhënave?

Sot, ekzistojnë disa përkufizime që shpjegojnë thelbin e konceptit të "llopit të të dhënave". Secila prej tyre ka një kuptim të përgjithshëm. Në mënyrë konvencionale, një lloj i të dhënave mund të përcaktohet si një grup të dhënash i karakterizuar nga vlerat e tij - numerike, simbolike dhe kështu me radhë - si dhe nga operacionet që mund të zbatohen për vlerat në fjalë. Shtrirja e përdorimit të llojeve të ndryshme të të dhënave është shumë e shumëanshme. Të dhënat mund të përdoren jo vetëm për ruajtjen e informacionit, por edhe në programim për të zgjidhur detyrat e caktuara. Kur zhvilloni programe, praktika e përdorimit të llojeve tuaja të të dhënave me një grup specifik operacionesh është bërë e përhapur. Informacioni i përdoruesit bazohet gjithmonë në llojet bazë të të dhënave. Standardi SQL bazohet në përdorimin e llojeve më të zakonshme të informacionit, por me një sërë shtesash specifike.

Llojet e të dhënave: klasifikimi

Grupimi i të dhënave sipas llojit është shfaqur shumë kohë më parë. Ajo u shkaktua nga nevoja për të strukturuar të gjitha vëllimet e informacionit për të siguruar komoditetin e përpunimit të tyre. Sot, të gjitha llojet ekzistuese të të dhënave bazohen në dy të dhëna themelore: karaktere dhe numerike. Bazuar në këto të dhëna, u zhvillua një klasifikim modern, i cili përfshin tregues, numër të plotë, boolean, pikë lëvizëse numerike dhe llojin e informacionit të vargut. Të gjitha sa më sipër mbulohen plotësisht nga klasifikimi SQL. Megjithatë, ekzistojnë shtesa të veçanta për sistemet moderne të menaxhimit të bazës së të dhënave. Këto përfshijnë MySQL dhe Oracle.

Llojet bazë të të dhënave

Llojet e të dhënave që përdoren për të krijuar atribute të tabelës që plotësojnë standardet e gjuhës SQL mund të ndahen në 4 klasa: vlerat e vargut, fraksionet, vlerat e numrave të plotë, vlerat e kohës dhe datës.

Lloji i të dhënave të vargut

Lloji i parë i të dhënave ju lejon të ruani çdo informacion të paraqitur në formën e simboleve. Në këtë rast, ne po flasim për karaktere dhe shkronja të veçanta, të cilat së bashku do të trajtohen si vargje në çdo pyetje SQL. Më poshtë janë llojet e të dhënave që përbëjnë grupin e parë:

- CHAR (madhësia) - ky lloj përdoret për të ruajtur vargjet. Parametri i specifikuar në kllapa ju lejon të rregulloni gjatësinë e vargut të ruajtur. Për një varg, mund të vendosni madhësinë maksimale në bajt - 255.

- VAR CHAR (madhësia) - për analogji me llojin e mëparshëm, ky lloj lejon ruajtjen e vargjeve, gjatësia e të cilave nuk i kalon 255 karaktere. Dallimi kryesor i këtij lloji nga CHAR është se këtu sasia e kërkuar e memories ndahet për të ruajtur vlerën e këtij lloji. Kështu, për një varg që përbëhet nga 5 karaktere, do të nevojiten 6 bajt memorie. Në rastin e parë, memoria për ruajtjen e vlerës do të ndahet në përputhje me parametrin e specifikuar.

- TEXT TINY - ky lloj përdoret për të ruajtur informacionin e tekstit, madhësia e të cilit nuk i kalon 65535 karaktere.

- BLOB - ky lloj është i ngjashëm me llojin TEXT. Ai lejon ruajtjen e informacionit tekstual në bazën e të dhënave, vëllimi i të cilit mund të jetë deri në 65,535 karaktere. Megjithatë, në praktikë, ky lloj mund të përdoret për të ruajtur fotografi, informacione zanore, dokumente elektronike dhe më shumë.

- TEKST I MESËM - ky lloj është zhvilluar në bazë të llojit TEXT. Për shkak të madhësisë së rritur prej 16777215 karakteresh, ky lloj ju lejon të ruani më shumë të dhëna.

- MEDIU MBLOB - përdoret për ruajtjen e dokumenteve elektronike në bazën e të dhënave, madhësia e të cilave nuk i kalon 16,777,215 karaktere.

- LONG TEXT - i ngjashëm në funksionalitet me llojet e mëparshme të të dhënave, megjithatë, ka një kapacitet memorie të rritur në 4 GB.

- LONG BLOB - ju lejon të vendosni të dhëna të mëdha në bazën e të dhënave - 4294967295 karaktere.

- ENUM është një lloj i veçantë i të dhënave që përdoret për të specifikuar një listë vlerash të dallueshme. Ky lloj ju lejon të specifikoni 65535 vlera. Vargjet e këtij lloji mund të marrin vetëm një nga të gjitha vlerat e specifikuara në grup. Në rastin kur do të kryhet shtimi i vlerave që nuk janë në listën e specifikuar, vlerat boshe do të shkruhen në tabelë.

- SET - ky lloj i të dhënave specifikon një grup vlerash të vlefshme. Ndryshe nga lloji i mëparshëm, përdoret për të mbajtur 64 parametra që mund të inicializohen me elementë të shumtë të argumenteve të dhëna.

Tabela me llojet e të dhënave të pjesshme

Lloji i të dhënave fraksionale SQL përdoret për të ruajtur numrat me pikë lundruese. Si rregull, në praktikë, ky lloj i të dhënave karakterizon tregues të ndryshëm financiarë. Në varësi të saktësisë së kërkuar, mund të përdorni një nga disa lloje të paraqitura më poshtë.

FLOAT (madhësi) - përdoret për të ruajtur numrat thyesorë të saktësisë së specifikuar - d;

- DYBLE (madhësi) - përdoret për të ruajtur fraksionet me saktësi binare;

- DECIMAL (madhësia, d) - përdoret për të ruajtur vlerat fraksionale si vargje. Përdoret në llogaritjet bankare, ku saktësia e pjesës fraksionale mund të arrijë në 8 ose 10 shifra.

Dy llojet e para nuk mund të përdoren në këtë fushë. Ruajtja e treguesve financiarë në formën e vargjeve mund të lehtësojë shumë zgjidhjen e shumë problemeve praktike. Gjatë kryerjes së transaksioneve dhe zgjidhjes së çështjeve financiare, konvertimi i llojit të të dhënave SQL ka një rëndësi të madhe. Zhvilluesit duhet të marrin parasysh llojin e metodave të ruajtjes dhe përpunimit të informacionit në mënyrë që të dhënat të mbeten vazhdimisht të pandryshuara.

Të dhëna të plota

Numrat e plotë janë një grup i veçantë numrash që formojnë një nga klasat kryesore. Llojet e të dhënave të numrave të plotë bazohen në llojin bazë INTEGER me disa shtesa të vetive.

  • INT (madhësia) - është përgjegjës për ruajtjen e të dhënave të numrave të plotë në intervalin [-231; 231-1].
  • TINYINT (madhësia) - Përdoret për të ruajtur numrat në rangun -128 deri në 127.
  • SMALLINT (madhësia) - karakterizohet nga një gamë pak e rritur e të dhënave të ruajtura nga -32768 në 32767.
  • MEDIUMINT (madhësia) - përdoret për të ruajtur numrat nga -223 në 223-1.
  • BIGINT (madhësia) - Mbulon gamën e vlerave të numrave të plotë nga -263 në 263-1.

Zgjedhja e llojit të duhur të të dhënave mund të kursejë ndjeshëm memorien duke reduktuar gjithashtu kohën e serverit gjatë ekzekutimit të pyetjeve të kërkuara SQL. Llojet e të dhënave dhe diapazoni i tyre përcaktojnë sasinë e kërkuar të ruajtjes. Zhvilluesit duhet të jenë të vetëdijshëm se përdorimi i diapazoneve të mëdha për atributet mund të rrisë koston e kujtesës. Është e nevojshme të analizohen qartë problemet që do të zgjidhen dhe të identifikohen situatat në të cilat dihet diapazoni i përafërt i të dhënave dhe përcaktohet kushti për përdorimin e numrave me shenjë. Nëse përdoret një gamë e vogël e argumenteve të përdorura dhe të gjithë numrat janë pozitivë, atëherë do të ishte më e saktë të përdoret tipi i panënshkruar për të cilin është menduar atributi UNISIGNED.

Llojet e të dhënave të kohës dhe datës

Llojet e të dhënave të kohës dhe datës janë me interes të madh kur mësoni bazat e SQL. Përdorimi i llojeve të mëposhtme mund të sigurojë përfitime shtesë në rastin e zhvillimit të sistemeve që varen drejtpërdrejt nga koha.

  • DATA - qëllimi kryesor i këtij lloji është ruajtja e datës në formatin "vit-muaj-ditë". Vlerat zakonisht ndahen me "-". Sidoqoftë, ndonjëherë çdo karakter, me përjashtim të numrave, mund të përdoret si ndarës.
  • KOHA - bën të mundur futjen e vlerave të përkohshme në një qelizë tabele. Vlerat janë të specifikuara në formatin "hh: mm: ss".
  • DATE KOHA - ky lloj kombinon funksionet e dy të mëparshmeve. Formati i ruajtjes së të dhënave në këtë rast duket si ky "vvvv-mm-dd: hh: mm: ss".
  • VULA KOHE - ky lloj ruan datën dhe kohën, të llogaritur me numrin e sekondave që kanë kaluar që nga mesnata e 01/01/1970 në vlerën e specifikuar.
  • VITI (M) - Përdoret për të ruajtur vlerat vjetore në formatin dy ose katër shifror.

Çfarë tjetër duhet të dini? Të gjitha llojet e të dhënave të mësipërme janë sistemuar nga Microsoft. Ajo gjithashtu zhvilloi llojet e të dhënave SQL në më shumë detaje. Kështu, për shembull, formulari përshkruante se sa memorie ndahet kur përdorni çdo lloj të dhënash. Pas studimit të të gjithë informacionit në dispozicion, zhvilluesit duhet të jenë më të lehtë për të hartuar strukturën e bazës së të dhënave dhe tabelave bazuar në aftësitë harduerike të serverit.

NULL- tregues i veçantë

Në disa raste, kur plotësoni bazën e të dhënave, lind një situatë kur, kur shtoni një rekord në tabelë, nuk ka nevojë të futni informacion në të gjitha kolonat. Për ta bërë këtë, duhet të përdorni destinacionin special null ose treguesin NULL. Ai përdor SQL si një ndihmë. Llojet e të dhënave të kolonave që nuk kërkohet të plotësohen specifikohen me një operator për të përfshirë vlerat null kur krijohen tabelat. Gjithashtu, operatori NULL kur përdorni prefiksin shtesë NOT mund të përdoret për të treguar plotësimin e detyrueshëm të të gjitha vlerave. Një tregues NULL nuk ka lloj. Thjesht tregon një vlerë boshe në tabelat e bazës së të dhënave. Për këtë arsye, ajo mund të kombinohet me një nga llojet e të dhënave të mësipërme.

Llojet e të dhënave SQL.

Përshkrim

Llojet e vargjeve

Varg karakteresh me gjatësi konstante

CHAR (numri_ karakteresh)

Varg karakteresh me gjatësi të ndryshueshme

VARCHAR (numri_karaktereve)

Varg karakteresh me gjatësi të madhe të ndryshueshme

Binar i madh

objekt i ndryshueshëm

Llojet e sakta numerike

Numër i plotë

Numër i plotë. Numri i biteve është më i madh ose i barabartë me INTEGER

Numër i plotë. Numri i shkarkimeve

më pak ose e barabartë me INTEGER

Numri i pikës fikse

(numri_shifra - numri i përgjithshëm i shifrave, shkalla - shifra dhjetore)

(NUMERIK | DHJETOR | DHJETOR) (numri i shifrave, shkalla)

Llojet numerike të pasakta

Numri i pikës lundruese

Numri i pikës lundruese. Numri i shifrave është më i madh ose i barabartë me REAL

SAKTËSIA E DYFISHTE

Numri i pikës lundruese

FLOAT (numri i shifrave)

Llojet e përkohshme

Data. Përmban vitin, muajin dhe ditën

Vula kohore. Përmban vitin, muajin, ditën, orën, minutat dhe sekondat

TIMESTAMP (shkallë)

Koha. Përmban orë, minuta dhe sekonda (shkallë - sasi

shenjat në pjesën thyesore të sekondave). Tregimi i mundshëm i zonës kohore

TIME (shkallë)

Periudha.

Lloji Boolean

Pranon vlerat boolean

      1. Literale

Literalet janë shprehjet më të thjeshta që janë vlera të llojeve përkatëse. Çdo lloj i të dhënave ka një mënyrë për të përfaqësuar literalet e tipit të tij. Literalet e mëposhtme janë të disponueshme në SQL:

    vargjet e karaktereve (shembull: "vargu i karaktereve"),

    vargjet binare (shembull: X "1AFFD561"),

    numrat (shembuj: 27 -863 0.173 .8582 -9572.5619 11.54Е7 .94Е194 93Е-12 -29.629Е27),

    e përkohshme (DATA "2005-12-07" KOHA "HH: MI: SS" VULLLA KOHA "VVVV-MM-DD HH: MI: SS"),

    logjike (E VËRTETË, E rreme, E PANJOHUR).

      1. Operatorët dhe Shprehjet

Operatorët janë konstruksione gjuhësore që specifikojnë operacionet mbi elementët e të dhënave dhe si rezultat kthejnë një vlerë të re. Artikujt e të dhënave të përdorura në operatorë quhen operandë ose argumente. Operatorët përfaqësohen si karaktere të veçanta ose fjalë kyçe. Për shembull, operatori i shumëzimit përfaqësohet me një yll (*), dhe operatori i testit null përfaqësohet nga fjala kyçe IS NULL.

Ekzistojnë dy lloje kryesore të operatorëve. Ato unare kanë vetëm një operand dhe zakonisht përfaqësohen në formatin e mëposhtëm:

operatori i operandit

Binarët funksionojnë në dy operandë dhe përfaqësohen si më poshtë:

operand operatori operand

Përveç kësaj, ka operatorë të veçantë që përdorin më shumë se dy operandë. Lloji i një operatori përcaktohet nga lloji i argumenteve të përdorura dhe lloji i rezultatit të kthyer. Operatorët e llojeve të mëposhtme janë në dispozicion:

    varg (||);

    aritmetike;

    ngacmues truri;

    kallëzues krahasimi;

    kallëzues të veçantë;

    operatorët mbi grupe (tabela).

Për çdo kolonë, është e detyrueshme të përcaktohet, përveç emrit unik të kolonës brenda tabelës, edhe lloji i të dhënave. Caktimi i një lloji të dhënash për secilën kolonë është një nga hapat e parë që ndërmerren gjatë hartimit të një tabele. Llojet e të dhënave përcaktojnë vlerat e vlefshme të të dhënave për secilën kolonë.

2.3.1 Llojet char dhe varchar.

Ato janë tipe të të dhënave të karaktereve me gjatësi fikse ose të ndryshueshme.

char [(n)] është një e dhënë e karaktereve me gjatësi fikse, jo Unicode, me një gjatësi prej n bajt. Vlera për n duhet të jetë midis 1 dhe 8000. Madhësia e ruajtjes për këtë lloj të dhënash është n bajt. Sinonimi ISO për char është karakter.

varchar [(n | max)] - të dhëna karakteresh me gjatësi të ndryshueshme, jo në Unicode; n mund të variojë nga 1 në 8,000; max do të thotë se madhësia maksimale e ruajtjes është 2 ^ 31-1 bajt. Madhësia e ruajtjes është e barabartë me gjatësinë aktuale të të dhënave plus dy bajt. Të dhënat e futura mund të jenë 0 karaktere të gjata. Sinonimet ISO për varchar janë char që ndryshojnë ose karaktere të ndryshme.

Të dhënat Char ose varchar mund të jenë një karakter ose varg i vetëm me një gjatësi maksimale prej 8000 karaktere për të dhënat char dhe deri në 2 ^ 31 karaktere për të dhënat varchar.

Llojet e të dhënave Varchar mund të marrin dy forma. Të dhënat Varchar mund të jenë të gjatësisë maksimale të specifikuar në karaktere, për shembull varchar (6) tregon se ky lloj i të dhënave mund të ruajë maksimumi gjashtë karaktere, ose mund të jetë i formës varchar (max), i cili rrit numrin maksimal të karaktereve që mund të ruhen në të dhëna të këtij lloji, deri në 2 ^ 31.

Konstantet e karaktereve duhet të futen në thonjëza të vetme (") ose të dyfishta ("). Rekomandohet mbyllja e konstantave të karaktereve në thonjëza të vetme. Mbyllja e konstantave të karaktereve në thonjëza të dyfishta ndonjëherë nuk lejohet kur QUOTED IDENTIFIER është AKTIV.

Ky shembull i kodit Transact-SQL i cakton një vlerë një ndryshoreje karakteri:

DEKLARONI @MyCharVar CHAR (25)

SET @MyCharVar = "Ricardo Adocicados"

Nëse përdorni thonjëza të vetme për të bashkangjitur një konstante karakteri që përmban një thonjëza të vetme të mbivendosur, përdorni dy thonjëza të vetme për të përfaqësuar thonjëzën e vetme të mbivendosur.

Për shembull:

SET @MyCharVar = "O" "Leary"

Nëse të dhënat që do të ruhen janë më të gjata se numri i lejuar i karaktereve, ato shkurtohen. Për shembull, nëse një kolonë është përcaktuar të jetë char (10) dhe vlera "Ky është me të vërtetë një varg karakteresh shumë i gjatë" ruhet në të, atëherë SQL Server shkurton vargun e karaktereve në "Kjo është e vlefshme".

Lloji i të dhënave char bëhet një tip i të dhënave me gjatësi fikse nëse specifikohet klauzola NOT NULL. Nëse një vlerë më e shkurtër se gjatësia e kolonës futet në një kolonë char me klauzolën NOT NULL, kjo vlerë plotësohet në të djathtë me hapësira në madhësinë e kolonës. Për shembull, nëse një kolonë përcaktohet si char (10) dhe vlera "muzikë" do të ruhet në të, SQL Server i ruan të dhënat si "muzikë ____", ku "_" është një hapësirë.

2.3.2 Llojet e të dhënave nchar dhe nvarchar.

Këto janë tipe të karaktereve me gjatësi konstante (nchar) ose me gjatësi të ndryshueshme (nvarchar) që përmbajnë të dhëna Unicode dhe përdorin grupin e karaktereve UCS-2.

nchar [(n)] - Të dhënat e karaktereve Unicode, n karaktere të gjata. Argumenti n duhet të jetë ndërmjet 1 dhe 4000. Madhësia e ruajtjes është dy herë n bajt. Sinonimet ISO për nchar janë karakter kombëtar dhe karakter kombëtar.

nvarchar [(n | max)] - të dhëna karakteresh Unicode me gjatësi të ndryshueshme. Argumenti n mund të variojë nga 1 në 4000. Argumenti max specifikon se madhësia maksimale e ruajtjes është 2 ^ 31-1 (2,147,483,647) bajt. Madhësia e ruajtjes në bajt është dyfishi i numrit të karaktereve të futura + 2 bajt. Të dhënat e futura mund të jenë 0 karaktere të gjata. Sinonimet ISO për nvarchar janë karakteri kombëtar që ndryshon dhe karakteri kombëtar ndryshon.

Lista më poshtë tregon se Microsoft SQL Server mbështet shumicën e llojeve të të dhënave SQL 2003. Gjithashtu, SQL Server mbështet lloje shtesë të të dhënave të përdorura për të identifikuar në mënyrë unike rreshtat e të dhënave në një tabelë dhe në shumë serverë, si p.sh. UNIQUEIDENTIFIER, i cili është në përputhje me " rritet në gjerësi" filozofia e harduerit. e shpallur nga Microsoft (d.m.th., zbatimi i bazës në shumë serverë në platformat Intel), në vend të "rritjes në lartësi" (d.m.th., zbatimi në një server të madh të fuqishëm UNIX ose në serverin e Windows Data Center) .

Një shënim anësor interesant mbi datat në SQL Server: SQL Server mbështet datat që fillojnë në vitin 1753. Ju nuk mund të ruani data të mëparshme në asnjë lloj të dhënash të bazës së të dhënave SQL Server. Pse? Kjo ndodh sepse bota anglishtfolëse filloi të përdorte kalendarin Gregorian në 1753 (kalendari Julian u përdor deri në shtator 1753), dhe konvertimi i datave Julian në Gregorian mund të ishte mjaft i vështirë.

BIGINT (lloji i të dhënave SQL 2003: BIGINT)

Ruan numrat e plotë të nënshkruar dhe të panënshkruar në rangun -9 223 372 036 854 775 808 deri në 9 223 372 036 854 775 807. Zë 8 bajt. Shihni llojin INT për rregullat e vetive IDENTITY që vlejnë edhe për llojin BIGINT.

BINARI [(n)] (lloji i të dhënave SQL 2003: BLOB)

Ruan një vlerë binare me gjatësi fikse nga 1 deri në 8000 bajt. Një vlerë BINARE është e gjatë n + 4 bajt.

BIT (lloji i të dhënave SQL 2003: BOOLEAN)

Ruan vlerën 1, 0 ose NULL, që do të thotë "i panjohur". Një bajt mund të ruajë deri në 8 vlera nga kolonat e tabelës BIT. Në një bajt më shumë, mund të vendosni 8 vlera shtesë të llojit BIT. Kolonat BIT nuk mund të indeksohen.

CHAR [(n)], KARAKTER [(n)] (Lloji i të dhënave SQL 2003: CHARACTER (n))

Ruan të dhënat e karaktereve me një gjatësi fikse nga 1 deri në 8000 karaktere. Çdo hapësirë ​​e papërdorur është e mbushur me boshllëqe si parazgjedhje. (Mund ta çaktivizoni zbrazjen automatike.) Lloji është n bajt.

KURSOR (lloji i të dhënave SQL 2003: asnjë)

Një lloj i veçantë i të dhënave që përdoret për të përshkruar një kursor në formën e një ndryshoreje ose parametri në një procedurë të ruajtur OUTPUT. Lloji nuk mund të përdoret në një deklaratë CREATE TABLE. Lloji KURSOR mund të jetë NULL.

DATETIME (lloji i të dhënave SQL 2003: TIMESTAMP)

Ruan një vlerë të datës dhe orës në intervalin 01-01-1753 00:00:00 deri në 31-12-9999 23:59:59. Ruajtja kërkon 8 bajt.

DHJETOR (fq. S). DEC (p, s), NUMERIC (p, s) (SQL 2003 tipi i të dhënave: DECIMAL (p, s). NUMERIC (fq. S))

Ruan thyesat dhjetore deri në 38 shifra. Vlerat p dhe s përcaktojnë përkatësisht saktësinë dhe shkallën. Shkalla e paracaktuar është 0. Hapësira e zënë nga vlera përcaktohet nga saktësia e përdorur. Për saktësi 1-9, përdoren 5 bajt. Për saktësi 10-19, përdoren 9 bajt. Me një saktësi prej 20-28, përdoren 13 bajt. Saktësia 29-39 përdor 17 bajt.

Shihni tipin INT për rregullat e vetive IDENTITY që vlejnë edhe për tipin DECIMAL.

PRECISION I DYFISHTË (lloji i të dhënave SQL 2003: asnjë) Sinonim për FLOAT (53).

FLOAT [(n)] (lloji i të dhënave SQL 2003: FLOAT, FLOAT (n))

Ruan vlerat me pikë lundruese në rangun nga -1,79E + 308 deri në 1,79E + 308. Saktësia e specifikuar nga parametri n mund të variojë nga 1 në 53. Për të ruajtur 7 shifra (dhe - nga 1 në 24), 4 bajt janë kërkohet. Vlerat më të mëdha se 7 shifra janë 8 bajt.

IMAGE (lloji i të dhënave SQL 2003: BLOB)

Ruan një vlerë binare me gjatësi të ndryshueshme deri në 2,147,483,647 byte. Ky lloj i të dhënave përdoret shpesh për të ruajtur grafika, tinguj dhe skedarë të tillë si dokumentet e Microsoft Word dhe tabelat e Microsoft Excel. Vlerat e IMAGE nuk mund të manipulohen lirisht. Kolonat IMAGE dhe TO kanë shumë kufizime se si mund të përdoren. Shihni përshkrimin e llojit TEXT për një listë komandash dhe funksionesh që zbatohen për llojin IMAGE.

INT (lloji i të dhënave SQL 2003: INTEGER)

Ruan numrat e plotë të nënshkruar ose të panënshkruar në rangun -2,147,483,648 deri në 2,147,483,647. Zë 4 bajt. Të gjitha llojet e të dhënave me numra të plotë, si dhe llojet që ruajnë thyesat dhjetore, mbështesin vetinë IDENTITY, identiteti është një identifikues i rreshtit i rritur automatikisht. Shihni seksionin "Deklarata KRIJO / TË NDRYSHME".

PARA (lloji i të dhënave SQL 2003: asnjë)

Ruan vlerat monetare në rangun -922337203685477.5808 deri në 922337203685477.5807. Vlera është 8 bajt.

NCHAR (n), NATIONAL CHAR (n), NATIONAL CHARACTER) (Lloji i të dhënave SQL 2003: NATIONAL CIARACTER (n))

Ruan të dhënat në formatin UNICODE me një gjatësi fikse deri në 4000 karaktere. Ruajtja kërkon n * 2 bajt.

NTEXT, NATIONAL TEXT (lloji i të dhënave SQL 2003: NCLOB)

Ruan fragmente teksti në formatin UNICODE deri në 1,073,741,823 karaktere të gjata. Shihni përshkrimin e llojit TEXT për një listë komandash dhe funksionesh që zbatohen për llojin NTEXT.

Një sinonim për llojin DECIMAL. Shihni përshkrimin e llojit INT për rregullat që lidhen me vetinë IDENTITY.

NVARCHAR (n), KARAKTER KOMBËTAR NDRYSHON (n), KARAKTER KOMBËTAR NDRYSHON (n) (Lloji i të dhënave SQL 2003: KARAKTER KOMBËTAR NDRYSHON (n))

Ruan të dhënat UNICODE me gjatësi të ndryshueshme deri në 4000 karaktere. Hapësira e zënë llogaritet si dyfishi i gjatësisë së të gjithë karaktereve të futur në fushë (numri i karaktereve * 2). Në SQL Server, parametri i sistemit SET ANSI_PADDING] për fushat NCHAR dhe NVARCHAR është gjithmonë AKTIV.

REAL, FLOAT (24) (të dhënat SQL 2003 për: REAL)

Ruan vlerat me pikë lundruese në rangun -3.40E + 38 deri në 3.40E + 38. Duhen 4 bajt. Lloji REAL është funksionalisht ekuivalent me tipin FLOAT (24).

ROWVERSION (lloji i të dhënave SQL 2003: asnjë)

Një numër unik i ruajtur në bazën e të dhënave që përditësohet sa herë që përditësohet një rresht, i quajtur TIMESTAMP në versionet e mëparshme.

SMALLDATETIME (lloji i të dhënave SQL 2003: asnjë)

Ruan datën dhe orën në intervalin "01-01-1900 00:00" deri "06-06-2079 23:59" me një saktësi të minutës. (Minutat rrumbullakosen poshtë nëse sekondat janë 29,998 ose më pak, përndryshe ato rrumbullakosen në një vlerë më të madhe.) Vlera është 4 bajt.

SMALLINT (lloji i të dhënave SQL 2003: SMALLINT)

Ruan numra të plotë të nënshkruar ose të panënshkruar në rangun -32,768 deri në 32,767. Zë 2 bajt. Shihni përshkrimin e llojit INT për rregullat që lidhen me vetinë IDENTITY që zbatohen edhe për këtë lloj.

SMALLMONEY (lloji i të dhënave SQL 2003: asnjë)

Ruan vlerat monetare në rangun nga 214748.3648 deri në -214748.3647. Vlerat janë 4 bajt të gjata.

VARIANT SQL (lloji i të dhënave SQL 2003: asnjë)

Ruan vlerat që janë lloje të tjera të dhënash të mbështetura nga SQL Server, duke përjashtuar TEXT, NTEXT, ROWVERSION dhe vlera të tjera SQL_VARIANT. Mund të ruajë deri në 8016 bajt të dhëna, mbështeten vlerat NULL dhe DEFAULT. Lloji SQL_VARIANT përdoret në kolona, ​​parametra, variabla dhe vlera të kthyera nga funksionet dhe procedurat e ruajtura.

TABELA (lloji i të dhënave SQL 2003: asnjë)

Një lloj i veçantë që ruan grupin e të dhënave që rezulton nga puna e procesit të fundit. Përdoret vetëm për përpunim procedural dhe nuk mund të përdoret në deklaratat CREATE TABLE. Ky lloj i të dhënave redukton nevojën për të krijuar tabela të përkohshme në shumë aplikacione. Mund të zvogëlojë nevojën për ripërpilim të procedurave, duke përshpejtuar kështu ekzekutimin e procedurave të ruajtura dhe UDF-ve.

TEXT (lloji i të dhënave SQL 2003: CLOB)

Ruan fragmente shumë të mëdha teksti me gjatësi deri në 2,147,483,647 karaktere. Vlerat e TEXTn IMAGE janë shpesh shumë më të vështira për t'u manipuluar sesa, të themi, vlerat VARCHAR. Për shembull, nuk mund të krijoni një indeks në një kolonë TEXT ose IMAGE. Vlerat e TEXT mund të manipulohen duke përdorur funksionet DATALENGTH, PATINDEX, SUBSTRING. TEXTPTR dhe TEX-TVALID, si dhe komandat READTEXT, SET TEXTSIZE, UPDATETEXT dhe WR1TETEXT.

TIMESTAMP (lloji i të dhënave SQL 2003: TIMESTAMP)

Ruan një numër binar të gjeneruar automatikisht që është unik në bazën e të dhënave aktuale dhe për këtë arsye i ndryshëm nga lloji i të dhënave ANSI TIMESTAMP. TIMESTAMP është 8 bajt në madhësi. Vlerat ROWVERSION tani janë më të përshtatshme për identifikimin unik të rreshtave në vend të TIMESTAMP.

Ruan numra të plotë të panënshkruar në intervalin 0 deri në 255 dhe zë 1 bajt. Shihni përshkrimin e llojit / L / G për rregullat që lidhen me pronën IDENTITY që zbatohen edhe për këtë lloj.

UNIQUEIDENTIFIER (lloji i të dhënave SQL 2003: asnjë)

Është një vlerë që është unike në të gjitha bazat e të dhënave dhe të gjithë serverët. Ai përfaqësohet si xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxx, ku çdo x është një numër heksadecimal në rangun 0-9 ose a-f. Operacionet e vetme që mund të kryhen në vlera të këtij lloji janë testet e krahasimit dhe NULL. Kufizimet dhe vetitë mund të përdoren në kolonat e këtij lloji, me përjashtim të vetive IDENTITY.

VARBINARY [(n)] (lloji i të dhënave SQL 2003: BLOB)

Përfaqëson një vlerë binare me gjatësi të ndryshueshme, deri në 8000 bajt. Hapësira e zënë është madhësia e të dhënave të futura plus 4 bajt.

VARCHARf [(n)], KARAKTER NDRYSHON [(n)], KARAKTER NDRYSHON f (n) J (lloji i të dhënave SQL 2003: KARAKTER NDRYSHON [(n)]

Ruan të dhënat e karaktereve me një gjatësi fikse që varion nga 1 deri në 8000 karaktere. Hapësira e zënë është e barabartë me madhësinë aktuale të vlerës së futur në bajt, dhe jo vlerën e p.

Artikujt kryesorë të lidhur