U SQL-u (Structured Query Language), tabela predstavlja strukturiranu kolekciju podataka organizovanu u obliku redova i kolona. Ona se koristi za skladištenje i organizaciju podataka u relacionim bazama podataka.

Tabela se sastoji od kolona (poznatih i kao polja ili atributi) i redova (poznatih i kao zapisi ili torke). Svaka kolona definiše tip podataka koji se u njoj može čuvati i ima jedinstveno ime. Svaki red predstavlja pojedinačni zapis i sadrži konkretne vrednosti za svaku od kolona.
Primer kreiranja tabele u SQL-u:
CREATE TABLE zaposleni (
id INT PRIMARY KEY,
ime_prezime VARCHAR(100),
godine INT,
email VARCHAR(100)
);
U ovom primeru kreiramo tabelu „zaposleni“ sa četiri kolone: id, ime_prezime, godine i email. Prva kolona id je postavljena kao primarni ključ (PRIMARY KEY), što znači da svaka vrednost u njoj mora biti jedinstvena i ne sme biti prazna.
Kada je tabela kreirana, nad njom možemo vršiti različite operacije poput unosa, ažuriranja, brisanja ili pretrage podataka. Tabele se mogu povezivati putem stranih ključeva (foreign keys), što omogućava građenje složenih relacija.
Tipovi tabela
Postoji nekoliko tipova tabela koje se koriste u zavisnosti od potreba baze podataka:
1. Obične (standardne) tabele
Ovo su osnovne tabele koje čuvaju trajne podatke. One su temelj svake relacione baze podataka.
2. Particionisane tabele (Partitioned Tables)
One omogućavaju deljenje podataka jedne tabele u zasebne fizičke delove (particije). Svaka particija ima iste kolone, ali različite skupove redova. Ovo je izuzetno korisno za tabele sa milionima zapisa jer ubrzava pretragu.
Primer particionisanja (SQL Server):
CREATE PARTITION FUNCTION MojaFunkcijaParticije (int)
AS RANGE LEFT FOR VALUES (100, 200, 300);
CREATE PARTITION SCHEME MojaShemaParticije
AS PARTITION MojaFunkcijaParticije ALL TO ([PRIMARY]);
CREATE TABLE ParticionisanaTabela (
ID int,
Podatak varchar(50),
DatumUnosa datetime
) ON MojaShemaParticije(ID);
3. Privremene tabele (Temporary Tables)
Služe za privremeno čuvanje podataka tokom trajanja sesije ili konekcije. Automatski se brišu kada se sesija završi.
-
Lokalne privremene tabele (počinju sa # – jedna tarabica): Vidljive samo korisniku koji ih je kreirao.
-
Globalne privremene tabele (počinju sa ## – dve tarabice): Vidljive svim korisnicima.
Primer:
CREATE TABLE #PrivremenaTabela (
ID INT,
Ime VARCHAR(50)
);
INSERT INTO #PrivremenaTabela VALUES (1, 'Marko');
SELECT * FROM #PrivremenaTabela;
DROP TABLE #PrivremenaTabela;
4. Sistemske tabele
Sadrže metapodatke o samoj bazi podataka. Na primer:
-
sys.objectsLista svih objekata (tabele, procedure). -
sys.columnsInformacije o svim kolonama u bazi.
5. Široke tabele (Wide Tables)
Tabele sa ogromnim brojem kolona (nekada i hiljadama, u zavisnosti od sistema). Koriste se za specifične analitičke potrebe ili fleksibilne šeme podataka.
Osnovne operacije nad tabelama
-
Kreiranje (CREATE): Definisanje strukture tabele.
-
Unos (INSERT): Dodavanje novih redova.
INSERT INTO zaposleni (id, ime_prezime, godine, email) VALUES (1, 'Petar Petrović', 30, 'petar@primer.rs'); -
Izbor (SELECT): Čitanje podataka.
SELECT * FROM zaposleni WHERE godine > 25; -
Ažuriranje (UPDATE): Menjanje postojećih podataka.
UPDATE zaposleni SET email = 'novi_email@primer.rs' WHERE id = 1; -
Brisanje (DELETE): Uklanjanje redova iz tabele.
DELETE FROM zaposleni WHERE id = 1;
Tabele su srce SQL-a. Bez njih, organizovano upravljanje velikim količinama podataka bilo bi praktično nemoguće. Razumevanje različitih tipova tabela i osnovnih operacija omogućava vam da efikasno dizajnirate i koristite baze podataka.