Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Sql


Index » educatie » » informatica » Sql
Tipuri de date specializate


Tipuri de date specializate


Tipuri de date specializate

Tipul de date BIT se foloseste la stocarea unor informatii ce pot fi reprezentate prin numai doua stari. Acest tip ocupa un singur bit si exista numai doua valori posibile: zero si unu. Daca se introduce altceva decat 0 sau 1 intr-o structura de tip Bit, este retinuta valoarea 1. Tipul Bit nu admite valoarea Null. Acest tip corespunde tipului Boolean din alte SGBD-uri.

La definirea unei coloane de tip TIMESTAMP, o valoare de contorizare va fi inscrisa automat in aceasta coloana, la inserarea sau modificarea unei linii existente. Aceste valori sunt memorate in format VARBINARY(8). Nu este posibila introducerea explicita de valori intr-o coloana de tip TimeStamp.

Valorile de contorizare inscrise de SQL Server intr-o coloana TimeStamp arata ordinea operatiilor efectuate de SQL Server. Este permisa inscrierea de valori nule intr-o coloana TimeStamp.

O valoare de tip TimeStamp nu reprezinta o data sau o ora, dar este intotdeauna unica in cadrul tabelului si al bazei de date. O singura coloana a unei tabele poate fi definita de acest tip.



Daca se defineste o coloana cu numele Timestamp, fara a specifica tipul de date, ea va avea automat acest tip de date.

Marcile de timp sunt folosite de multe ori pentru a asigura identificarea unica a liniilor.

Valoarea curenta care va fi inscrisa ca marca de timp la urmatoarea modificare sau inserare de linie poate fi afisata cu ajutorul variabilei sistem globale @@ dbts, folosita de exemplu intr-o instructiune Select:

Select @@ dbts

Tipul de date UNIQUEIDENTIFIER reprezinta un identificator global unic (GUID) pe 16 octeti. Rolul lui principal este de a asigura unicitatea tuturor inregistrarilor atunci cand datele sunt culese din tabele aflate in mai multe baze de date.

Singurele operatii care se pot efectua asupra lor sunt comparatia de egalitate ( =, < > ) si operatorii IS NULL si IS NOT NULL. Permite aplicarea tuturor constrangerilor si proprietatilor asupra coloanei de acest tip, cu exceptia proprietatii IDENTITY.

Generarea unei valori UniqueIdentifier se face prin apelul functiei NewID sau prin conversia unui sir constant de forma :

xxxxxxxx - xxxx - xxxx - xxxx - xxxxxxxxxxxx

unde: x - cifra hexa

Tipul de date BINARY(n) poate fi utilizat pentru stocarea unor secvente de biti insumand pana la 8000 octeti. Numarul intreg dintre paranteze defineste lungimea intregii secvente de biti de la 1 la 8000 octeti. Valorile de tip binar se introduc precedate de 0x. Valorile sunt completate cu 0 inainte de cifra cea mai semnificativa.

Tipul de date VARBINARY(n) poate fi utilizat pentru stocarea unor secvente de biti insumand pana la 255 de octeti. Numarul intreg dintre paranteze specifica lungimea maxima pentru toate secventele de biti (1 - 255). Spre deosebire de tipul Binary, spatiul ocupat de o valoare VarBinary se limiteaza la dimensiunea efectiva a valorii. Valorile trebuie precedate de 0x.

Tipurile de date TEXT si IMAGE - se folosesc pentru stocarea unor volume mari de date de tip caracter sau binar. Permit stocarea a peste 2 miliarde de octeti. Prealocarea unui spatiu prea mare pentru tipurile de date Text si Image poate fi o risipa, asa ca se prefera alocarea unui spatiu mai mic, restul fiind alocat dinamic.

Tipul de date TEXT permite stocarea a 1 pana la 2 147 483 647 octeti de date. Datele sunt stocate sub forma de siruri de caractere cu lungime fixa, initial alocandu-se 8 KB. Apoi, se adauga dinamic noi blocuri de cate 8 KB. Aceste pagini sunt continue din punct de vedere logic, dar nu si fizic.

Diferenta intre tipurile de date TEXT si NTEXT este data de codificarea pe 16 biti asociata caracterelor Unicode, deci numarul de caractere ce pot fi stocate se reduce la jumatate.



Tipul de date IMAGE permite stocarea pozei unui angajat, o imagine pentru un catalog, sau un desen. Secventele de biti memorate pot avea de la 1 pana la 2 147 483 647 octeti lungime.

In mod obisnuit datele de tip Image nu se insereaza direct printr-o instructiune INSERT. La executia unei instructiuni SELECT, datele din campurile Text si Image sunt afisate ca oricare alte valori. Numarul de octeti afisati este limitat la valoarea variabilei globale @@ Textsize care are valoarea implicita 64 KB. Coloanele de acest tip pot contine valoarea Null.

Datele dintr-o coloana de tip Image nu sunt convertite automat in reprezentarea ASCII, la executia comenzii SELECT, spre deosebire de cele de tip text. O valoare de tip Image nu este destinata afisarii directe, ea putand fi transmisa unui alt program, care ruleaza eventual pe un sistem client ce prelucreaza datele inainte de a le afisa.

Asupra coloanelor de tip Text si Image exista urmatoarele restrictii :

  • Numai coloanele din tabele pot avea tipurile Text si Image, nu si variabilele locale sau parametrii.
  • Nu pot fi specificate in clauzele Order By, Group By si Compute.
  • Nu se poate aplica cheia primara sau externa pe o coloana de tip Text sau Image.
  • Nu se poate specifica clauza DISTINCT urmata de o coloana de tip Text sau Image.
  • Nu se pot utiliza intr-o clauza WHERE sau HAVING decat daca se utilizeaza operatorul de comparatie LIKE.
  • Nu se poate specifica o subinterogare care se intoarca valori de tip Text sau Image.
  • Nu se poate folosi in Union, decat daca este Union all.

Tipul de date MONEY este format dintr-o parte intreaga si una zecimala, ambele intregi pe 4 octeti. Intervalul de valori este cuprins intre -922 337 203 685 477,5808 si 922 337 203 685 477,5807. Precizia este a zecea mia parte din unitatea monetara.

Tipul de date SMALLMONEY este format dintr-o parte intreaga si una zecimala care ocupa impreuna 4 octeti. Intervalul de valori este cuprins intre -214 748,3648 si 214 748,3647.







Politica de confidentialitate





Copyright © 2023 - Toate drepturile rezervate