SQL – Kreiranje tabela

Kao ลกto znate, tabele u SQL orijentisanim sistemima za upravljanje bazama podataka (SUBP) predstavljaju dvodimenzionalne nizove podataka i osnovna su logiฤka struktura za smeลกtaj, manipulaciju i prikaz podataka. Za kreiranje tabela i kasnije eventualne promene u strukturi, u SQL se koriste dve instrukcije CREATE TABLE i ALTER TABLE, koje pripadaju DDL (Data Definition Language) segmentu samog jezika. Osnovna sintaksa naredbe CREATE TABLE je sledeฤ‡a (postoje izvesne razlike kod razliฤitih SUBP):


CREATE TABLE naziv_tabele
( polje_1 tip_podatka [not null | null]
polje_1 tip_podatka [not null | null]
polje_1 tip_podatka [not null | null]

๐Ÿ˜‰

U ranijim SQL prilozima, za primere smo koristili tabelu „Radnik“ koju nismo definisali putem SQL-a, a sada ฤ‡emo videti kako da je kreiramo:


CREATE TABLE Radnik
( SIF_R Char(5) not null,
IME Char (15),
PREZ Char (20),
SIF_S Number not null,
๐Ÿ˜‰

Kao ลกto vidite, iza kljuฤne reฤi „CREATE TABLE“ navodi se naziv tabele, koji mora da zadovolji odreฤ‘ena pravila. Odmah da kaลพemo da se i pravila kod davanja naziva razlikuju, kao i sintaksa, od SUBP do SUBP. Recimo kod SUBP „Oracle“, naziv tabele ne moลพe biti duลพi od 30 karaktera, a kod SUBP „MS SQL Server“ duลพina naziv ide do 128 karaktera. Bitno je da, ni jedan SUBP ne dozvoljava upotrebu kljuฤnih reฤi i specijalnih znakova, kod davanja naziva tabelama, kao i dupliranje naziva tabela (dve tabele sa istim nazivom).

Ista pravila vaลพe i za dodelu naziva poljima tabela, s tim ลกto se ovde mogu pojaviti i dva polja istog naziva, ali u razliฤitim tabelama. Sledeฤ‡a vrlo bitna stvar je tip podatka nekog polja u tabelama. Tip podataka odreฤ‘uje koja vrsta informacija moลพe da se ฤuva u datom polju tj. definiลกe vrstu znakova putem kojih se izraลพava vrednost elemenata domena. Na primer, polje SIF_R (ลกifra radnika) definisali smo kao karakter (Char) polje maksimalne duลพine 5 karaktera. Ovaj tip podataka vezan je za MS SQL Server, ฤija duลพina se kreฤ‡e od 1 do 8.000 karaktera. Isti tip podataka kod SUBP Oracle ima duลพinu do 255 karaktera, s tim ลกto i kod jednog i kod drugog sistema, polje moลพe da najviลกe sadrลพi onoliko znakova koliko je zadato.

Joลก jedna bitna stvar kod odreฤ‘ivanja domena polja (obeleลพja) tabele je i vrednost NULL. Naime, prilikom definisanja domena javlja se potreba za uvoฤ‘enjem posebnog simbola „NULL“ sa znaฤenjem „nepoznata vrednost“. Ova vrednost se naziva i „nula vrednost“, oznaka „NULL“ se koristi da bi se ukazalo da nije reฤ o broju 0. Nula vrednost se koristi u onim sluฤajevima kada nismo u stanju da za neki entitet (Radnik) odredimo vrednost nekog obeleลพja (polja). Polja u kojima se nalaze nepoznata obeleลพja popunjavaju se „NULL“ vrednoลกฤ‡u, ลกto nije isto ลกto i prazno mesto (SPACE) veฤ‡ „nepoznato“. U naลกem primeru, smo delom instrukcije „Char (5) NOT NULL“ zabranili da obeleลพje SIF_R dobije NULL vrednost (zato ลกto je to kljuฤni polje).

Pratite Krstaricu na www.krstarica.com