You are on page 1of 21

INFORMACIONI SISTEMI I

BAZE PODATAKA
NASTAVNA TEMA: NASTAVNA JEDINICA:

Osnovni elementi
Kreiranje tabele
upitnog jezika SQL
III/ III/ III/
1 2 3
REDNI BROJ ODELJENJE
ČASA: 66. :
III/
4

CILJ ČASA: TIP ČASA:

Upoznavanje sa naredbom CREATE TABLE Vežbe

NASTAVNE METODE: NASTAVNA OBLIK RADA:


SREDSTVA:
Demonstrativni Računar, projektor Frontalni

VREMENSKA ARTIKULACIJA
ČASA:
Uvodni deo: 10 min Glavni deo: 25 min Završni deo: 10 min
Šta ćemo naučiti?

 U ovoj lekciji naučićemo:

Upotrebimo naredbu za kreiranje tabele;

Definišemo kolone tabele i njene karakteristike;

Odredimo mandatorne i opcionalne kolone;

Definišemo primarni ključ tabele.


Šta su tabele?

 Već smo rekli da se svaka relaciona baza podataka sastoji od većeg broja tabela.
 Tabela predstavlja skup organizovanih podataka kojima se opisuje jedan (ili više)
objekat (fizički ili apstraktan)
 Sama tabela se sastoji od kolona i redova.
 Tabele predstavljaju osnovne nosioce podataka u relacionim bazama podataka.
Kreiranje tabele - sintaksa

 Kreiranje tabele se vrši naredbom CREATE TABLE.


 Sintaksa ove naredbe je sledeća
CREATE TABLE ime_tabele
(kolona1 tip_kolone(dužina_podatka) dodatne opcije,
kolona_2 tip_kolone(dužina_podatka) dodatne opcije,
....
kolona_n tip_kolone(dužina_podatka) dodatne opcije);
Kreiranje tabele - sintaksa

 Kreiranje tabele počinje klauzulom CREATE TABLE.


 Nakon toga se navodi ime tabele.
 Nakon definisanja imena tabele, potrebno je definisati kolone koje se nalaze
unutar nje.
 Kako bi definisali željene kolone, nakon imena tabele otvaramo zagradu,
navodimo argumente za definisanje svake kolone, s tim što se kreiranje svake
zasebne kolone odvaja znakom zareza ( , ).
 Komandu za kreiranje završavamo zatvorenom zagradom i tačkom – zarezom
nakon zagrade ( ; ).
 Parametri za definisanje jedne kolone se međusobno ne odvajaju ni jednim
znakom interpukcije.
Dodatne opcije

 Ovaj deo parametrisanja strukture kolone nam služi za detaljniji opis i definiciju
karakteristika kolona.
 Neke od opcija (komandi) koje se mogu koristiti su:
 NOT NULL – svaki red tabele mora imati vrednosti u koloni definisanoj sa
ovom komandom;
 UNSIGNED - služi pri definisanju kolona numeričkog tipa. Ni jedna
vrednost u koloni ne sme biti negativna.
 AUTO_INCREMENT – automatksa inkrementacija vrednosti u koloni.
 PRIMARY KEY – definisanje kolone kao deo primarnog ključa tabele.
 DEFAULT – postavljanje podrazumevane vrednosti pri unosu podataka u
koloni sa ovom opcijom.
Imena tabele i kolona

 Postoje određena pravila pri definisanju imena tabele unutar baze podataka:
 Imena tabela moraju biti jedinstvena u okviru iste baze podataka;
 Ime tabele može sadržati sve alfanumeričke znakove A-Z i 0-9, kao i
specijalne znake „ _ “ i „ $ „ .
 Imena tabela mogu počinjati bilo kojim numeričkim znakom, malim ili
velikim slovom, i mogu imati dužinu do 64 karaktera.
 Imena kolona moraju biti jedinstvena u okviru jedne tabele.
 Važe identične konvencije za imenovanje kolona kao i konvencije za
imenovanje tabela.
Kreiranje tabele – primer 1

 Kreirati bazu podataka pod nazivom ljudi.


 Unutar baze kreirati tabelu osobe sa sledećim kolonama:
1. ime – VARCHAR(20),
2. prezime – VARCHAR(25),
3. drodjenja-DATE
4. visina – tip podatka?
 Napomena: Vrednost u koloni visina može, a ne mora biti uneta. Sve ostale
kolone moraju imati vrednosti u svakom redu.
 Nakon toga obrisati kreiranu tabelu.
Primer 1 -Rešenje

1. CREATE DATABASE ljudi; /*Kreiranje baze podataka*/


2. USE ljudi; /*Odabir baze */
3. CREATE TABLE osobe (ime VARCHAR(20) NOT NULL,
prezime VARCHAR(25) NOT NULL,
drodjenja DATE NOT NULL, /*Definisanje kolona*/
visina INT(3));
DESCRIBE komanda
 Vašu tabelu možete videti korišćenjem komande SHOW TABLES, ali kako da vidite
kolone te tabele?
 Kako bi dobili opis strukture tabele, koristimo naredbu DESCRIBE (ili skraćeno
DESC, obe naredbe u MySQL-u funkcionišu).
 Ovom naredbom dobijamo spisak kolona unutar tražene tabele, kao i spisak
njihovih karakteristika (ime, tip, opcionalnost, default vrednosti, itd.).
 Sintaksta naredbe za opis strukture tabele je:
DESCRIBE ime_tabele;
DESC ime_tabele
 Sada prikažite strukturu tabele osobe korišćenjem ove komande:
DESCRIBE osobe;
IF NOT EXSISTS

 Ova komanda nam omogućava proveru da li objekat koji kreiramo ima već
postojeću vrednost identifikatora nekog drugog objekta baze podataka.
 Sinktaksa je slična kao i pri kreiranju baza podataka, korišćenjem komande IF NOT
EXISTS:
CREATE TABLE IF NOT EXISTS ime_tabele
(kolona1,
kolona2,...
kolona n);
Brisanje tabele

 Tabelu možete obrisati na dva načina:


 Brisanjem same tabele;
 Brisanjem cele baze podataka.
 Ukoliko želite da obrišete celu bazu, koristi ćete komandu DROP DATABASE.
 Međutim, ukoliko želite da obrišete samo određenu tabelu, ili tabele, a celu bazu
podataka, koristićete komandu DROP TABLE.
DROP TABLE ime_tabele;
 Odnosno, u našem slučaju:
DROP TABLE osobe;
 Nakon toga obrišite i bazu podataka ljudi.
Komentari u MySQL-u

 Postoji više načina za pisanje komentara u kodu.


 Komentari mogu biti veoma korisni pogotovu u situacijama gde će se vršiti neke
izmene ili dodavanja, i gde treba ostaviti napomenu o nekim daljim operacijama
ili drugim osobama.
 Komentari se mogu podeliti u dve grupe:
 Jednolinijski, mogu se pisati na dva načina:
 #Tekst komentara
 -- Tekst komentara
 Višelinijski, počinju sa skupom znakova /* a završavaju se sa */. Mogu se
prostirati u više redova, ali se mora definisati naredba za početak i za kraj
komentara.
 Primer: /* Ovo je tekst
komentara u
više linija*/
Kreiranje tabele – primer 2

 Kreirati bazu podataka gradjani, i unutar nje tabelu osobe u kojoj će se voditi
evidencija o sledećim podacima:
 Jedinstveni matični broj građanina (JMBG) – char(13) kojeg treba
definisati kao primarni ključ tabele;
 Ime – dužine 20 karaktera;
 Prezime – dužine 25 karaktera;
 Adresu – dužine 40 karaktera;
 Broj telefona – dužine 15 karaktera;
 Pol .
 Napomena: Sve kolone osim broja telefona moraju biti mandatorne.
 Napomena: Kolonu pol moramo definisati tako da se mogu uneti samo dve
vrednosti: M – za muški pol i Z- za ženski pol.
 Nakon kreiranja tabele, prikazati njene kolone, a posle toga obrisati prvo tabelu
osobe, a zatim i bazu podataka gradjani.
ENUM tip podataka

 Ovaj tip podatka nam omogućava da definišemo opseg vrednosti kolone. Na


primer, ukoliko želimo da definišemo opseg ocena studenata od 6 do 10, ili
veličinu odeće od S do XXXL, i slično.
 Sintaksa ove naredbe je sledeća:
Ime_kolone ENUM (‘vrednost1’,’vrednost2’,…’vrednost_n’)
 Može se koristiti kako za alfanumeričke, tako i za numeričke tipove podataka.
 Ukoliko se pri unosu podataka ne navede neka od vrednosti definisana u listi
vrednosti tipa ENUM, neće se moći izvršiti unos podataka, DBMS će prijaviti
grešku.
 Primer: Ukoliko bi želeli da definišete školske ocene (1-5), uradili bi sledeće:
vrednost_ocene ENUM (‘1’ ,’2’, ‘3’, ‘4’, ‘5’)
 Ukoliko bi uneli neku drugu vrednost osim prethodno definisanih, unos podataka
se ne bi izvršio.
Definisanje primarnog ključa

 Postoji više načina za definisanje primarnog ključa unutar tabele.


 Mi ćemo ovde definisati dva standardna načina koja se mogu koristiti u MySQL-u.
 Način 1. Primarni ključ možemo definisati pri samoj definiciji kolone koju želimo
da odredimo kao primarni ključ tabele, unutar dodatnih opcija koje smo već
pominjali:
Ime_kolone tip_podatka PRIMARY KEY,
 Način 2: Definisanje primarnog ključa se može izvršiti posle kreiranja kolona
tabele, navođenjem komande PRIMARY KEY, a zatim navođenjem kolone (ili
kolona) koja će biti deo primarnog ključa.
CREATE TABLE ime_tabele(
kolona1 datatype,
kolona2 datatype,
kolona_n datatype,
PRIMARY KEY(kolona1) );
Primer 2 - Rešenje 1

 Način 1 – Definisanje primarnog ključa u okviru definicije kolone.


 CREATE TABLE osobe (
jmbg CHAR(13) NOT NULL PRIMARY KEY,
ime VARCHAR(20) NOT NULL,
prezime VARCHAR(25) NOT NULL,
adresa VARCHAR(40) NOT NULL,
br_tel VARCHAR(15),
pol ENUM('M','Z') NOT NULL);
Primer 2 - Rešenje 2

 Način 2 – Definisanje primarnog ključa nakon kreiranja kolona.


 CREATE TABLE osobe (
jmbg CHAR(13) NOT NULL,
ime VARCHAR(20) NOT NULL,
prezime VARCHAR(25) NOT NULL,
adresa VARCHAR(40) NOT NULL,
br_tel VARCHAR(15),
pol ENUM('M','Z') NOT NULL,
PRIMARY KEY (jmbg));
Analiza

 Iskoristimo sad komandu za prikaz strutkure kreirane tabele:


DESC osobe;

 Sada vidimo da se u polju Key nalazi vrednost PRIMARY kod kolone jmbg, što
odgovara definisanom primarnom ključu u tabeli osobe;
 Na kraju obrisati tabelu, a zatim i bazu podataka gradjani.
Predmetni profesor Elizabeta Momčilović

You might also like