Upoznajte različite tipove podataka u SQL-u

Tipovi podataka u SQL-u

SQL (Structured Query Language) je moćan jezik koji se koristi za upravljanje i manipulaciju podacima u bazama podataka. Pre nego što napravimo prvu bazu, pa zatim i tabelu, važno je upoznati se sa tipovima podataka u SQL-u, kako bismo efikasno organizovali i upravljali podacima u našoj bazi podataka. Tipovi podataka služe za definisanja vrednosti koja se može čuvati u datoj koloni.

Bilo da se bavimo projektovanjem baza podataka, kreiranjem izveštaja, analizom podataka i sl. bitno je poznavati koje se vrste podataka mogu čuvati i na koji način se mogu upotrebljavati.

U nastavku navodimo nekoliko osnovnih tipova podataka u SQL-u:

Numerički:

INT (integer) – koji se koristi za smeštanje celobrojnih vrednosti. Može se koristiti za čuvanje podataka kao što su različite šifre proizvoda, kupaca ili količina. Zauzima 4 bajta.

Tipovi podataka u SQL-u integer

Ukoliko bismo uneli decimalnu vrednost, bila bi konvertovana u tip integer.

Tipovi podataka u SQL-u integer

DECIMAL – koristi za čuvanje decimalnih brojeva sa fiksnim brojem decimalnih mesta. Ovaj tip podataka često se koristi za čuvanje finansijskih podataka, gde je preciznost brojeva od velike važnosti.

Kolona definisana kao decimal (18,2) čuva maksimalno 18 brojeva, od čega su 2 broja posle decimalne tačke.

Tipovi podataka u SQL-u decimal

Ukoliko bismo uneli broj sa više od 2 decimalna mesta i dalje bi bila upisana samo 2 decimalna mesta posle zareza.

Tipovi podataka u SQL-u decimal

Ukoliko bismo deklarisali promenljivu kao decimal(18,4), upisale bi se 4 decimale.

Tipovi podataka u SQL-u decimal

BIT – koristi za čuvanje binarnih vrednosti koje mogu imati samo dve vrednosti: 0 ili 1. Ovaj tip podataka često se koristi za definisanje logičkih vrednosti, gde 1 označava tačno, a 0 netačno. Zauzima 1 bit u memoriji.

Tipovi podataka u SQL-u bit

Karakteri:

CHAR – koristi se čuvanje vrednosti, tj. karaktera fiksne dužine. Pogodan je šifarnike ili oznake koje imaju uvek isti broj karaktera. Svaki karakter zauzima 1 bajt, a omogućava čuvanje maksimalno 8000 karaktera koji nisu Unicode.

Ukoliko se unese broj karaktera koji je manji od maksimalno definisane dužine, prostor će ostati neiskorišćen, ali će i dalje zauzimati definisani broj karaktera.

U primeru ispod promenljiva @Index je deklarisana tako da omogućava čuvanje 3 karaktera, dodeljena joj je vrednost od 2 karaktera, a sačuvan je i treći karakter koji se ne vidi. Zato je preporuka da se tip char koristi u situacijama kada su vrednosti fiksne dužine.

Tipovi podataka u SQL-u char

NCHAR – koristi se čuvanje vrednosti fiksne dužine, a maksimalno čuva 4000 karaktera, koji uključuju i Unicode karaktere. Svaki karakter zauzima 2 bajta.

Tipovi podataka u SQL-u nchar

VARCHAR – koristi se za čuvanje vrednosti promenljive dužine. Svaki karakter zauzima 1 bajt, a omogućava čuvanje maksimalno 8000 karaktera koji nisu Unicode.

Ukoliko promenljivu @Index deklarišemo kao tip varchar (3), ona će koristiti samo onoliko prostora koliko je potrebno, tj. 2 karaktera u primeru ispod.

Tipovi podataka u SQL-u varchar

Ukoliko unesemo više karaktera nego što je deklarisano, zapisaće se maksimalno mogući broj karaktera.

Tipovi podataka u SQL-u varchar

NVARCHAR – koristi se čuvanje vrednosti promenjiive dužine, a maksimalno čuva 4000 karaktera, koji uključuju i Unicode karaktere. Svaki karakter zauzima 2 bajta.

Vremenski i datumski:

DATE – koristi se za čuvanje datuma, bez informacija o vremenu.

Tipovi podataka u SQL-u date

TIME – koristi se za čuvanje informacija o vremenu, bez datuma.

Tipovi podataka u SQL-u time

DATETIME – koristi se za čuvanje datuma i vremena.

Tipovi podataka u SQL-u datetime

SMALLDATETIME – sličan je Datetime tipu. Datetime čuva datum i vreme u rasponu od 1753-01-01 do 9999-2-31, a Smalldatetime čuva u rasponu od 1900-01-01 do 2079-01-01.

Najćešće korišćeni tipovi podataka pobrojani su ispod u tabeli:

Tipovi podataka u SQL-u tabelarni pregled

Leave a comment

Your email address will not be published. Required fields are marked *