Kreiranje tabele u bazi podataka
Prilikom treiranja tabele, odnosno definisanja njene strukture i osobina, neophodno je navesti sledeće:
- ime tabele, koje mora biti jeduinstveno u bazi podataka,
- ime svake kolone, koje mora biti jedinstveno unutar tabele,
- tip svake kolone
- jedno ili više ograničenja za kolone koje ih imaju
- jedno ili više ograničenja za celu tabelu, ako postoje.
Obratite pažnju: kreiranje nove tabele u bazi podataka odnosi se na kreiranje nove prazne tabele u bazi podataka. Kreiranje nove tabele u bazi podataka se u SQL jeziku vrši pomoću naredbe CREATE TABLE.
CREATE TABLE [ IF NOT EXISTS] ime_tabele ( ime_kolone tip_podataka [ ograničenja ] [ DEFAULT podrazumevana_vrednost] [ AUTO_INCREMENT ] [ [PRIMARY ] KEY ], ... );
Ovo gore je na skraćen način opisano kako se kreira nova tabela:
Prvo se piše CREATE TABLE, zatim (može a ne
mora) IF NOT EXISTS - ako već postoji kreirana tabela sa tim imenom
u bazi, onda je neće kreirati ponovo, a nakon toga ime tabele.
Nakon
imena tabele, u nastavku se unutar malih zagrada navode opisi kolona
koje će da budu u njoj, i to tako da se kolone opisuju jedna iza
druge, razdvojene zarezima.
Za svaku od kolona se, redom, navodi: ime_kolone, tip podataka koji je u njoj, zatim mogu (a ne moraju) ograničenja. U ograničenja spadaju npr. NULL, NOT NULL. Ako je kolona primarni ključ onda ide PRIMARY KEY, ako je spoljnji ključ FOREIGN KEY, ako ne sme da se ponovi ista vrednost više od jednom onda je UNIQUE. Za svaku kolonu se mogu navesti ograničenja pojedinačno, ali se može i na kraju tabele, nakon reči CONSTRAINT navesti ograničenja koja će da važe za celu tabelu.
U nastavku je naredba za kreiranje jedne tabele:
CREATE TABLE IF NOT EXISTS ucenik ( redni_broj INT NOT NULL AUTO_INCREMENT, Ime VARCHAR(25) NULL, Adresa VARCHAR(25) NOT NULL, Email VARCHAR(45) NULL, PRIMARY KEY (redni_broj) );
| Ograničenje | Opis |
|---|---|
| PRIMARY KEY |
primarni ključ u tabeli koji je jedinstven, tj. bez ponavljanja |
| FOREIGN KEY |
spoljni ključ u tabeli koji služi za povezivanje sa drugom tabelom |
| NOT NULL |
vrednost se prilikom unosa naredbom INSERT ne može preskočiti |
| UNIQUE |
vrednost se ne može ponavljati, ne dozvoljava duplikate |
| DEFAULT |
ukoliko se prilikom unosa naredbom INSERT ne unese podatak za kolonu, automatski će se uneti default vrednost |
| CHECK |
vrste provere ( broj veći od 0, broj unetih slova, znak za email...) |
U toku kreiranja tabele u bazi podataka mogu se koristiti ograničenja (gore navedena). Svrha ovih ograničenja jeste da se za određene atribute podese neka svojstva. Na primer, primarni i spoljni ključ za povezivanje tabela, default vrednost za polje, not null i unique atributi za polje i check ograničenje za proveru validnocti unosa podataka u polje
Bitno je napomenuti da se određena ograničenja mogu postaviti isključivo na nivou tabele, neka isključivo na nivou kolone, a neka na oba načina po izboru.primer:
CREATE TABLE ucenici
( jmbg VARCHAR(13) PRIMARY KEY,
ime VARCHAR(25) NOT NULL,
prezime VARCHAR(25) NOT NULL,
adresa VARCHAR(25) );
Da biste potvrdili kreiranje tabele :
DESCRIBE ucenici;