Home > SQL-tecaj > SQL Lekcija 7 – CREATE TABLE

SQL Lekcija 7 – CREATE TABLE

Prosinac 26th, 2008

CREATE TABLE

Ime ove komande Vam vise manje sve govori – mi kreiramo tabele. Ova komanda CREATE moze se koristiti i za kreiranje INDEX-a i CLUSTER-a, (ali o tome u jednoj drugoj lekciji), pa smo zato ovu komandu definitali kao CREATE TABLE, a ne samo kao CREATE.

 

Kao sto znamo, tabela se sastoji od kolumni i redova. Broj redova zavisi od kolicine podataka, ali broj kolumni se ne mjenja. On se moze mjenjati, ali samo odredjenim komandama, dok se broj redova povecava pri svakom novom unosu podataka u tabelu.

 
Ako poznajete MS Excell, znate vjerovatno da nisu sva polja u tabeli ista, tj. nisu isto formatirana. Neka polja su definisana samo za slova, druga samo za brojeve, treca samo za decimalne brojeve, cetvrta opet su definisana i za brojeve i za slova … Znaci ima veoma veliki broj razlicitih polja, cija funkcija mora biti definisana. Te vrste polja odredjuju se na osnovu tzv Data Types, i njih nekoliko najvaznijih cemo malo kasnije nabrojati i objasniti.

 
A sada u srz komande. Zbog ovih Data Types se ova komanda smatra jednom od komandi za napredne korisnike, ali sve u svemu ako ste presli proslih 7 lekcija bez problema, ni ova lekcija vam nece predstavljati nikakve probleme.

 

Mi cemo koristiti nasu tabelu iz 2. lekcije koja izgleda ovako:

 

Proizvodjac Model Boja Godiste Vlasnik
VW Golf GTI 2000 Plava 1986 Ime1 Prezime1
Mercedes 190 C Siva 1991 Ime1 Prezime1
Ford Sierra 2.0 Crvane 1986 Ime2 Prezime2

Nas ovdje interesuje samo sivi dio ove tabele, tj. gore navedene varijable.

 
Prije nego sto kreiramo tabelu moramo znati, kakve ce se podaci u tabeli nalaziti. U nasem slucaju, mi
mozemoe sva polja isto formatirati, tj. koristiti isti Data Type za formatiranje osim za jedno polje,
a to je Godiste. U kolumni Godiste ce se uvijek nalaziti samo brojevi, dok se u ostalim poljima mogu
nalaziti i slova i brojevi i drugi znakovi.

 
CREATE TABLE Auto1
(
Proizvodjac varchar,
Model varchar,
Boja varchar,
Godiste int,

Vlasnik varchar
)
;

 
Varchar nam govori kakva ce biti kolumna. Kao sto smo rekli, u svim poljima osim Godiste moze doci do istovremenog koriscenja i slova i broja i zato koristimo varchar. Taj Data Type se koristi za kombinovanje slova i brojeva (podrazumjeva se da se mogu koristiti samo brojevi ili samo slova). Veoma slican Data Type je text i prakticno se moze koristiti u iste svrhe kao i varchar.

 
Int smo koristili za kolumnu Godiste. Ovaj Data Type se koristi za brojeve. Ako bi sa INSERT komandom pokusali da u kolumnu Godiste umjesto brojeva unesete slova, do toga ne bi doslo, jer ovaj int Data Type to kontrolise.

 
Takodje je moguce definisati kolicinu odnosno duzinu znakova, koji mogu biti uneseni u jedno polje. To onda izgleda ovako:

 
CREATE TABLE Auto1

(

Proizvodjac varchar(25),
Model varchar(15),
Boja varchar,
Godiste int(4),
Vlasnik varchar(100)
)
;

 

Ostali najcesce koristeni Data Types su:

  • decimal (10,0) – (prvi broj definise koliko brojeva moze biti prije zareza, a drugi koliko brojeva ima iza zareza)
  • date (yyyymmdd) – (data type za datume. Vrijednosti u zagradi y = godina, m = mjesec, d = dan)
  • datetime – (koristi se isto za datum, samo u malo drugom obliku i prednost je sto automatski uzima datum sa server, tj datum nije obavezan da se upisuje >> vidi primjer nize)
  • timestamp – (funkcionise isto kao i datetime, i isto ima automatksko ukljucivanje datuma)
  • char(55) – (moze sadrzati brojeve, slova i ostale znakove)
  • integer / int – (moze sadrzati samo brojeve)

I sada za kraj ove lekcije jedan primjer kreireanja tabele:

 

CREATE TABLE Knjige (

Ime text NOT NULL,
Link text NOT NULL,
Velicina decimal(10,1) DEFAULT ’0′ NOT NULL,

Ocjena int(10) DEFAULT ’0′ NOT NULL
Vrijeme datetime DEFAULT ’0000-00-00 00:00:00′ NOT NULL,

Uploader text NOT NULL,
Opis text NOT NULL

)
;

 
Analiza:
Ovdje kreiramo tabelu Knjige, koja se sastoji iz 6 gore navedenih kolumni. 5 kolumni imaja Data Type text, jer ce se u njih pisati razni podaci koji se sastoje od brojeva i slova.

  • Kolumna Ocjena je definisana kao int(10) jer ce tu biti brojevni podaci do duzine od 10 cifara,
  • Kolumna Velicina se sastoji od decimalnih brojeva jer cu tu se nalaziti npr. velicina fajla u kilobajtima i prije zareza se mogu max. 10 znakova tu nalaziti, a iza zareza samo jedan znak – znaci samo brojevi na jednu decimalu,
  • Kolumna Vrijeme je definisana kao datetime i obicno (DEFAULT) su datum i vrijeme prikazani u formatu ’2001-09-01 16:13:55′. Vi mozete ovo i drugacije definisati, cisto po licnom ukusu,
  • DEFAULT vrijednosti se odnose na tipicne vrijednosti, koje se unose,
  • NOT NULL je prakticno isto jedna DEAFULT vrijednost, jer se skoro uvijek koristi, a govori nam koje polje tabele smije biti ‘snimljeno’ (eng. saved, njem. gespeichert). Ako je NOT NULL, onda ce se svaka vrijednost tabele gledati kao prava vrijednost, i nijedno polje te kolumne nece biti izuzeto, ali ako je uneseno samo NULL (bez NOT), onda nam to govori da jedno polje sa vrijednosti 0 (nula) prakticno nema vrijednosti, odnosno bice posmatrano kao da je prazno.

Ovo su bile osnove komande CREATE TABLE. Ova komanda ima jos mnogo varijanti tj. ima jos prilicno dosta raznoraznih podizraza i podkomandi, tipova datoteka … ali ove osnovne, koje smo gore zajedno presli, su vise nego dovoljne za kreiranje tabela potrebnih za rad.

 
Naucili smo kreirati tabele, i sad treba nauciti kako ih promjeniti u slucaju da smo napravili neke greske, ili ako zelimo da dodamo neko polje, promjenimo Data Type itd.
Za to koristimo komandu ALTER. No to je lekcija broj 9.

Popularity: 10% [?]

SQL-tecaj , ,

  1. Trenutno nema komentara.
  1. No trackbacks yet.