Upload
edoo-saiti
View
226
Download
0
Embed Size (px)
Citation preview
8/18/2019 2 SQL Naredbe Za Kreiranje Podataka i Prakticni Rad u Access u
1/24
2. SQL naredbe za kreiranje podataka
Ciljevi lekcije• Upoznati se sa osnovama SQL programskog jezike• Upoznati se sa različitim standardima SQL-a• Naučiti osnovne SQL naredbe za kreiranje strukture relacione baze podataka• Proučiti primer SQL naredbi za kreiranje strukture relacione baze podataka
PREU!E"E
Structured Query Language (SQL) predstavlja programski jezik koji je projektovanza potrebe pretra#ivanja i upravljanja podacima u Sistemima za upravljanje relacionim
bazama podataka $Relational atabase %anagement S&stems - R'%S() za kreiranje imodi*ikacija +ema relacione baze podataka i za kontrolu pristupa objektima baze podataka,
Prva verzija programskog jezika SQL razvijena je od strane kompanije %' krajem./01-i2 godina, 3va verzija) inicijalno nazvana SEQUEL) je razvijena za potrebemanipulacije podacima S&stem R sistemu za upravljanje relacionim bazama podataka,
SQL je *ormalno standardizovan ./45 godine) od strane 6merican National Standardsnstitute $6NS() pod nazivom SQL-45, 3vaj standard je kasnije pri2va7en id od stranenternational 3rganization *or Standardization $S3(, Svi SQL standardi koji su naknadnousvojeni predstavljaju zajedničke standarde organizacija 6NS i S3 $8abela .(, 9e7ina
R'%S-ova implementira jedan od navedeni2 standarda,
Godina Naziv Otali nazivi
./45 SQL-45 SQL-40
./4/ SQL-4/ :PS .;0-.
.//; SQL-/; SQL;) :PS .;0-;
./// SQL
8/18/2019 2 SQL Naredbe Za Kreiranje Podataka i Prakticni Rad u Access u
2/24
SQL je programski jezik razvijen sa speci*ičnom namenom , Njegova osnovnakarakteristika je da se radi o deklarativnom jeziku za upravljanje i manipulacijom podacima urelacionim bazama podataka, SQL omogu7ava pribavljanje) dodavanje) a#uriranje i brisanje
podataka u relacionoj bazi podataka, 9e7ina proizvo>ača R'%S-a pro+iruje SQL standarddodaju7i proceduralne elemente) kontrolne strukture) korisnički de*inisane tipove podataka i
druge elemente, SQL standard SQL-// mnoga od ovi2 pro+irenja su *ormalno pri2va7ena kaodelovi SQL jezika u vidu SQL Persistent Stored %odules $SQL?PS%( $8abela ;(,
#roizvo$a% &'e #uno i'e
6NS?S3 Standard SQL?PS% SQL?Persistent Stored %odules
nterbase?:irebird PSQL Procedural SQL
'% SQL PL SQL Procedural Language $implements SQL?PS%(
%icroso*t?S&base 8-SQL 8ransact-SQL
%&SQL SQL?PS% SQL?Persistent Stored %odule $implements SQL?PS%
3racle PL?SQL Procedural Language?SQL $based on 6da(
PostgreSQL PL?pgSQLProcedural Language?PostgreSQL Structured Quer& Language$bazira se na 3racle PL?SQL(
PostgreSQL PL?PS% Procedural Language?Persistent Stored %odules
!abela 2 Pro+irena SQL jezika koja su postala deo standarda
9e7ina proizvo>ača relacioni2 '%S-ova @bezbe>uje alat za kreiranje i izvr+avanjenaredbi SQL jezika, 3vaj alat mo#e biti običan Aommand-line nter*ace $SQL?AL( ili alat sa
bogatim gra*ičkim inter*ejsom, 8ako>e) u ve7ini slučajeva) je obezbe>ena programksa podr+ka koja omogu7ava da se SQL naredbe kreiraju i koriste iz drugi2 programski2 jezika,
Sve naredbe SQL jezika se mogu podeliti u dve velike grupe<
., ata e*inition Language $L( - jezik koji se koristi za de*inisanje strukturerelacione baze podataka
;, ata %anipulation Language $%L( - jezik za pribavljanje i a#uriranje podataka urelacionoj bazi podataka,
Neopodno predznanje
aza podataka
Predstavlja kolekciju povezani2 podataka organizovani2 u logičke celine predstavljenetabelama,
8/18/2019 2 SQL Naredbe Za Kreiranje Podataka i Prakticni Rad u Access u
3/24
Site' za upravljanje baza'a podataka (*+S)
Računarski program $u praksi obično skup računarski2 programa odnosno aplikacija( kojiobezbe>uje kreiranje) obradu i administraciju nad bazom podataka, '%S dobija za2teve u
obliku upita $SQL upiti - naredne lekcijeB( i prevodi te za2teve u odgovaraju7e akcije nad bazom podataka,
,elacioni 'odel
%odel podataka koji ima sna#nu teorijsku osnovu) koja se zasniva na matematičkoj teorijirelacija i na logici prvog reda) i za korisnika vrlo pri2vatljivu reprezentaciju u vidudvodimenzionalne tabele,
,elacija
8abela sa vrstama i kolonama,
-tribut relacije
Predstavlja osobinu entiteta predstavljenog relacijom, 6tribut je praktično imenovana kolonarelacije odnosno tabele) koje se odnose na svojstva objekta predstavljenog relacijom,
!orka relacije9rsta relacije,
,elaciona baza podatakaColekcija normalizovani2 relacija,
".". aza podataka #,*/01
U nastavku je prikazana relaciona baza podataka PREU!E"E koja 7e biti kori+7ena usvim lekcijama ovog kursa koje se bave SQL programskim jezikom, Relacioni dijagram baze
podataka PREU!E"E prikazan je na Slici .,
8/18/2019 2 SQL Naredbe Za Kreiranje Podataka i Prakticni Rad u Access u
4/24
Slika " Relacioni dijagram baze podataka PREU!E"E
8abela ,-*N& čuva podatke o radnicima preduze7a, !a svakog radnika se pamtimatični broj) ime) srednje slovo) prezime) datum ro>enja) pol) plata) adresa) matični brojneposrednog rukovodioca i broj sektora u kome radnik radi, !a primarni ključ je izabran
matični broj radnika odnosno kolona +atr, 8abela ima dva strana ključa< ,ukovodilac iSektor, Colona ,ukovodilac re*erencira kolonu %at'r u istoj tabeli jer rukovodilac je jedanod radnika $rekurzivna veza(, Colona Sektor re*erencira kolonu roj u tabeli Sektor,
Preduze7e je podeljeno na ve7i broj sektora, U tabeli S!O, se pamte slede7i podacio sektorima< broj sektora) naziv sektora) matični broj +e*a sektora i datum kada je +e* sektora
postavljen na svoju du#nost, !a primarni ključ je izabran broj sektora odnosno kolona roj,Dedini strani ključ je kolona Se3 koja re*erencira kolonu +atr u tabeli ,-*N& $+e* sektora je jedan od radnika u preduze7u(,
8abela #,O4-! čuva podatke o projektima koji su aktivni unutar preduze7a, !a
svaki projekat se pamti< broj projekta) naziv projekta) lokacija projekta i broj sektora koji jezadu#en za projekat, !a primarni ključ je izabran broj projekta odnosno kolona roj, Dedinistrani ključ je kolona Sektor koja re*erencira kolonu roj u tabeli Sektor.
8abela CL-N5#O,O*&C čuva slede7e podatke o članovima porodica radnika<matični broj radnika) ime člana porodice) pol) srodstvo sa radnikom i datum do+enja,Primarni ključ je kompozitni i čine ga kolone ,adnik i &'e, Strani ključ je kolona ,adnik koja re*erencira kolonu +atr u tabeli ,-*N& ,
8abela LO5S čuva podatke o lokacijama na kojima se nalazi odre>eni sektor< brojsektora i naziv lokacije, Primarni ključ je kompozitni i čine ga kolone Sektor i Lokacija,Strani ključ je kolona Sektor koja re*erencira kolonu roj u tabeli S!O, ,
8abela ,-*&5N- predstavlja evidenciju anga#ovanja radnika na različitim projektima,!a svako anga#ovanje se pamti< matični broj anga#ovanog radnika) broj projekta na kome jeanga#ovan i broj radni2 sati nedeljno koliko je anga#ovan na projektu, Primarni ključ jekompozitni i čine ga kolone ,adnik i #rojekat, 8abela ima dva strana ključa< ,adnik i#rojekat, Colona ,adnik re*erencira kolonu +atr u tabeli ,-*N& a kolona #rojekatre*erencira kolonu roj u tabeli #,O4-!,
".".". *e3inicija tabela
e*inicija tabele R6NC
olona !ip lju% Obavezna Napo'ena
%at'r Number Primarni ključ a Long nteger
me 8et$;1( Ne a
8/18/2019 2 SQL Naredbe Za Kreiranje Podataka i Prakticni Rad u Access u
5/24
SSLovo 8et$.( Ne a
Prezime 8et$=1( Ne a
atumRodj ate?8ime Ne Ne
6dresa 8et$.11( Ne Ne
Pol 8et$.( Ne Ne
Plata Number Ne Ne Single
Rukovodilac Number Strani ključ Ne Long nteger
Sektor Number Strani ključ a '&t
e*inicija tabele SEC83R
olona !ip lju% Obavezna Napo'ena
'roj Number Primarni ključ a '&te
Naziv 8et$F1( Ne a
Se* Number Strani ključ a Long nteger
atPost ate?8ime Ne Ne
e*inicija tabele PR3DEC68
olona !ip lju% Obavezna Napo'ena
'roj Number Primarni ključ a nteger
Naziv 8et$.11( Ne a
8/18/2019 2 SQL Naredbe Za Kreiranje Podataka i Prakticni Rad u Access u
6/24
Lokacija 8et$F1( Ne Ne
Sektor Number Strani ključ a '&te
e*inicija tabele AL6NGP3R3AE
olona !ip lju% Obavezna Napo'ena
Radnik Number Primarni ključ) Strani ključ a Long nteger
me 8et$;1( Primarni ključ a
Pol 8et$.( Ne Ne
Srodstvo 8et$.1( Ne a
atRodj ate?8ime Ne Ne
e*inicija tabele L3CGSEC
olona !ip lju% Obavezna Napo'ena
Sektor Number Primarni ključ) Strani ključ a '&te
Lokacija 8et$F1( Primarni ključ a
e*inicija tabele R6GN6
olona !ip lju% Obavezna Napo'ena
Radnik Number Primarni ključ) Strani ključ a Long nteger
Projekat Number Primarni ključ) Strani ključ a nteger
Sati number Ne a '&te
8/18/2019 2 SQL Naredbe Za Kreiranje Podataka i Prakticni Rad u Access u
7/24
".".2. !et podaci za bazu podataka #,*/01
8/18/2019 2 SQL Naredbe Za Kreiranje Podataka i Prakticni Rad u Access u
8/24
".2. SQL naredbe za kreiranje podataka
SQL L naredbe se koriste za kreiranje) izmenu i brisanje same relacione baze podataka kao i objekata koji čine relacionu bazu podataka, Aentralni objekat svake relacione baze podataka jeste tabela, !a kreiranje tabele koristi se SQL naredba C,-! !-L,
3snovni *ormat C,-! !-L dat je u nastavku<
CREATE TABLE
(
[,]);
!a deklaraciju kolona se koristi *ormat koji je dat u nastavku<
[()] [],
8/18/2019 2 SQL Naredbe Za Kreiranje Podataka i Prakticni Rad u Access u
9/24
eklaracija kolone sadr#i ime kolone) tip podatka kolone) opciono du#inu $ako jeneop2odna) u zavisnosti od tipa podatka( i opciono) ograničenja za kolonu, eklaracijekolona se razdvojaju zapetama, U odeljku !ipovi podataka navedeni su tipovi podataka kojemo#ete koristiti, 3graničenja za kolonu su opciona i mogu da sadr#e speci*ikaciju
prede*inisane vrednosti i niz speci*ikacija ograničenja) +to je detaljnije opisano u odeljku
Ograni%enja kolona,
Nakon deklaracije svi2 kolona navode se ograničenja koja va#e za celu tabelu,Speci*ikacije ograničenja za tabelu su navedena u odeljku Ograni%enja tabele,
Navedena sintaksa naredbe C,-! !-L nije kompletna, SQL standardobezbe>uju kori+7enje velikog broja dodatni2 klauzula koje korisnicima omogu7avaju
preciznu kontrolu procesa kreiranja tabele, 3sim toga proizvo>ači R'%S-ova pro+urujuARE68E 86'LE naredbu klauzulama koje su posledica speci*ični2 osobina nji2ovi2
proizvoda,
".2.". !ipovi podataka
U 8abeli = su dati generički tipovi podataka koje de*ini+e SQL standard, Ne podr#avajusvi R'%S-ovi tipove podataka de*inisane u SQL standardu,
!ip podataka Opi
integer Aelobrojna vrednost
smallint Aelobrojna vrednost
numeric$p)s( 6rgument p de*ini+e ukupan broj ci*ara broja dok argument s de*ini+e brojci*ara desno od decimalnog zareza, Npr, numeric$5) ;( je broj koji ima H ci*reispred decimalnog zareza i ; ci*re iza decimalnog zareza,
decimal$p)s( 6rgument p de*ini+e ukupan broj ci*ara broja dok argument s de*ini+e brojci*ara desno od decimalnog zareza, Npr, numeric$5) ;( je broj koji ima H ci*reispred decimalnog zareza i ; ci*re iza decimalnog zareza,
real 'roj u pokrenom zarezu jednostruke preciznosti
double precision'roj u pokretnom zarezu dvostruke preciznosti
*loat$p( 6rgument p de*ini+e preciznost broja,
c2ar$( 6rgument predstavlja maksimalan broj karaktera koji kolona mo#e da pri2vati, 3vaj tip de*ini+e tekstualne podatke *iksne du#ine) odnosno podatak se dopunjuje blanko znacima sa desne strane kako bi se obezbedilaspeci*icirana du#ina,
8/18/2019 2 SQL Naredbe Za Kreiranje Podataka i Prakticni Rad u Access u
10/24
varc2ar;$( 6rgument predstavlja maksimalan broj karaktera koji kolona mo#e da pri2vati, 3vaj tip de*ini+e tekstualne podatke promenljive du#ine $nemadopunjavanja blanko znacima(,
bit$( 6rgument de*ini+e maksimalan broj bitova koje podatak mo#e da pri2vati,Podaci su *iksne du#ine,
bit var&ing$( 6rgument de*ini+e maksimalan broj bitova koje podataka mo#e da pri2vati,Podaci su promenljive du#ine,
date atum,
time 9reme,
timestamp atum i vreme,
time Iit2 timezone
time koji uključuje i in*ormaciju o vremenskoj zoni,
timestamp Iit2time zone
timestamp koji uključuje i in*ormaciju o vremenskoj zoni,,
nterval 9remenski interval,
!abela 6 Jenerički SQL tipovi podataka
8/18/2019 2 SQL Naredbe Za Kreiranje Podataka i Prakticni Rad u Access u
11/24
U 8abeli H su navedeni tipovi podataka koje implementira %icroso*t SQL Server *amilija proizvoda,
!ip podatakaOpi
binar&$n( 6rgument n $. do 4111( de*ini+e maksimalan broj bajtova koji kolona mo#e da pri2vati, 3vaj tip de*ini+e binarne podatke *iksne du#ine,
c2ar$n( 6rgument n $. do 4111( predstavlja maksimalan broj karaktera koji kolonamo#e da pri2vati, 3vaj tip de*ini+e tekstualne podatke *iksne du#ine) odnosno
podatak se dopunjuje blanko znacima sa desne strane kako bi se obezbedilaspeci*icirana du#ina,
datetime 8ip podataka koji se koristi za predstavljanje in*ormacija o vremenu i datumu,Coristi 4 bajtova za pam7enje in*ormacija o datumu i vremenu sa precizno+7uod =)== milisekunde, %ogu se predstaviti podaci o datumu i vremenu u opseguod 1.,1.,.0F= do =.,.;,////, godine,
image 'inarni podaci promenljive du#ine, %aksimalan broj bajtova koji kolona mo#e pri2vatiti je ;K=. - . $;).H0)H4=)5H0(,
int Aolobrojna vrednost u opsegu od -;K=. $-;).H0)H4=)5H4( do ;K=. - .
$;).H0)H4=)5H0(,
numeric$p) s( 6rgument p $. do =4( de*ini+e ukupan broj ci*ara broja dok argument s $1 s p( de*ini+e broj ci*ara desno od decimalnog zareza, %ogu se predstaviti brojeviu opsegu od - .1K=4 M. do .1K=4 - .,
smalldatetime 8ip podataka koji se koristi za predstavljanje in*ormacija o vremenu i datumu,Coristi H bajta za pam7enje in*ormacija o datumu i vremenu sa precizno+7u od. minuta, %ogu se predstaviti podaci o datumu i vremenu u opsegu od1.,1.,./11 do 15,15,;10/, godine,
smallint Aolobrojna vrednost u opsegu od -;K.F $-=;)054( do ;K.F - . $M=;)050(,
tet 8ip podataka koji se koristi za predstavljanje tekstualni2 podataka promenljivedu#ine, %aksimalna du#ina je ;K=. - . $;).H0)H4=)5H0( bajtova,
tin&int$( Aolobrojna vrednost u opsegu od 1 do ;FF,
varc2ar$n( 6rgument de*ini+e maksimalan broj bitova koje podatak mo#e da pri2vati,Podaci su promenljive du#ine,
8abela H 8ipovi podataka koje implementira %S SQL Server
8/18/2019 2 SQL Naredbe Za Kreiranje Podataka i Prakticni Rad u Access u
12/24
8/18/2019 2 SQL Naredbe Za Kreiranje Podataka i Prakticni Rad u Access u
13/24
".2.2. SQL **L naredbe za kreiranje tabela ,-*N& i S!O,
#ri'er "
CREATE TABLE R!"#$ (
%at&r Int, #me VarChar('), lo*o Char('), +reime VarChar('), !atRodj Date, +ol Char('), +lata Numeric(-, .),
dresa VarChar
(/0),
Ruko*odilac Int, ektor Int
);
CREATE TABLE 1$23R (
&roj Int,"ai* VarChar('), e4 Int, !at+ost Date
);
".2.6. Ograni%enje kolone
3graničenja koja mo#ete da de*ini+ete za kolonu kod kreiranja tabela su<
• N/LL ili NO! N/LL -de*ini+e da kolona mo#e ili ne mo#e imatu NULL vrednosti,• /N&Q/ - de*ini+e da kolona ima jedinstvene vrednosti $kandidati za ključeve(,• #,&+-,7 7 - de*ini+e da kolona predstavlja primarni ključ tabele $mo#e da se
primeni na samo jednu kolonu u tabeli(,• C8C -de*ini+e ograničenje za proveru vrednosti kolone $koristi se kod upisa ili
a#uriranja vrednosti(,• *9-/L! - de*ini+e podrazumevanu vrednost za kolonu $kolona uzima ovu
vrednost) ako vrednost kolone nije navedena(,• ,9,NCS -de*ini+e da kolona predstavlja spoljni ključ tabele,
!a vrednost kolone se mogu speci*icirati ograničenja N/LL ili NO! N/LL čime sedozvoljava ili zabranjuje N/LL vrednost kolone, Stro#e ograničenje je /N&Q/) koje nedozvoljava ponavljanje vrednosti u koloni,
!a kolonu podrazumevano ograničenje je N/LL vrednost, 8o znači da navodimo samoograničenje NO! N/LL) ako je de*inisano za konkretnu kolonu,
8/18/2019 2 SQL Naredbe Za Kreiranje Podataka i Prakticni Rad u Access u
14/24
Cod navo>enja #,&+-,7 7 podrazumeva se NO! N/LL ograničenje za tukolonu) tako da ga ne treba posebno navoditi,
Pri kreiranju tabele u kojoj je atribut 6 primarni ključ) a atribut ' spoljni ključ mo#etekoristi oblik naredbe C,-! !-L koji je prikazan u nastavku.
CREATE TABLE (
PRIMARY KEY, & REFERENCES(), ostali atributi
);
Uočite da kod deklaracije spoljnog ključa tabele treba navesti iza ključne reči,9,NCS ime re*erencirane tabele i opciono) u maloj zagradi) ime re*erenciranekolone u toj tabeli, '%S očekuje da je re*erencirana kolona primarni ključ $kolonadeklarisana sa #,&+-,7 7( u re*erenciranoj tabeli, Na taj način atribit iza koga stojiklauzula ,9,NCS de*inisan je kao spoljni ključ u odnosu na primarni ključ tabele čije
je ime navedeno iza klauzule ,9,NCS,
#ri'er 2
SQL L naredba za kreiranje tabele PR3DEC68,
5R121 2&61 +R371$2
( &roj Int PRIMARY KEY, "ai* VarChar(.) NOT NULL, 6okacija VarChar(') DEFAULT(8"i98), ektor Integer REFERENCES SEKTORBr!"#
);
".2.:. Ograni%enja tabele
!a de*inisanje ograničenja koja va#e za tabelu u celini mo#ete koristiti<
• #,&+-,7 7 - de*ini+e koja kolona ili koje kolone čine primarni ključ tabele,• /N&Q/ - de*ini+e koja kolona ili koje kolone imaju jedinstvene vrednosti $kandidati
za ključeve(,• 9O,&GN 7 - de*ini+e koja kolona ili koje kolone čine spoljni ključ tabele,• C8C -de*ini+e ograničenja vrednosti kolone ili kolona koje '%S proverava kod
upisa ili a#uriranja vrednosti te ili ti2 kolona,
!a kreiranje tabele u kojoj je skup atributa $a)b)c( primarni ključ mo#ete koristiti oblik ARE68E 86'LE naredbe prikazan u nastavku,
8/18/2019 2 SQL Naredbe Za Kreiranje Podataka i Prakticni Rad u Access u
15/24
CREATE TABLE < ime_tabele >( ,
PRIMARY KEY (a,b,c) );
6tribute a) b i c treba deklarisati u sekciji atributi i nji2ovi tipovi podataka O,
#ri'er 6
SQL L naredba za kreiranje tabele R6GN6,
CREATE TABLE R!#_"
( Radnik Int, +rojekat Int, ati Int NOT NULL, CONSTRAINT Radi"a+$ PRIMARY KEY Radnik$
+rojekat# );
".2.:.". Ograni%enje tranog klju%a
U deklaraciji kolone ili tabele) nakon klauzule ,9,NCS) mogu se navestiklauzule ON *L! ili ON /#*-! koje speci*iciraju aktivnosti u slučaju naru+avanjaintegriteta,
ON *L! omogu7ava speci*ikaciju aktivnosti nad torkama relacije) odnosnovrstama tabele) na koju se re*erencirate u ,9,NCS klauzuli u slučaju brisanja torki utabeli u kojoj je navedeno ovo ograničenje,
ON /#*-! omogu7ava speci*ikaciju aktivnosti nad torkama re*erencirane tabele uslučaju a#uriranja $promene vrednosti( podataka u tabeli gde je ,9,NCS ograničenje
speci*icirano,
U oba slučaja) iza ovi2 klauzula se navodi jedna od klauzula koja de*ini+e aktivnostkoja 7e se izvr+iti nad torkama u slučaju brisanja ili a#uriranja vrednosti torke u tabeli u kojoj
je ograničenje navedeno<
• NO -C!&ON - nema akcije $ovo je prede*inisana vrednost(,• C-SC-* - kaskadno izvr+enje aktivnosti brisanja $bri+u se torke u tabeli na koju se
re*erencirate( kod ON *L! ili aktivnosti a#uriranja $a#uriraju se vrednostire*erencirani2 atributa( kod ON /#*-!,
• S! *9-/L! - promena vrednosti atributa u tabeli na koju se re*erencirate na prede*inisanu vrednost,
8/18/2019 2 SQL Naredbe Za Kreiranje Podataka i Prakticni Rad u Access u
16/24
• S! N/LL - promena vrednosti atributa u tabeli na koju se re*erencirate na NULL,
Ne zaboravite da je kod deklarisanja 9O,&GN 7 ograničenja na kraju deklaracijetabele) neop2odno navesti listu re*erentni2 atributa u okviru zagrada) tako da C,-!!-L naredba ima slede7i oblik<
CREATE TABLE (
FOREI%N KEY ()
REFERENCES () [ON DELETE NO ACTION CASCADE SET DEFAULT SET
NULL=] [ON UPDATE NO ACTION CASCADE SET DEFAULT SET
NULL=] C&ECK ()
);
#ri'er :
SQL L naredba za kreiranje tabele R!#_",
CREATE TABLE R!#_" (
Radnik Int, +rojekat Int, ati Int NOT NULL, CONSTRAINT Radi"a+$ PRIMARY KEY (Radnik,
+rojekat)$ CONSTRAINT Radnik$ FOREI%N KEY (Radnik)
REFERENCES R!"#$(%at&r)$ CONSTRAINT +rojekat$ FOREI%N KEY (+rojekat)
REFERENCES +R371$2(&roj) );
8/18/2019 2 SQL Naredbe Za Kreiranje Podataka i Prakticni Rad u Access u
17/24
".2.;. **L naredbe za kreiranje baze podataka #,*/01
#ri'er ;
5R121 2&61 R!"#$ (
%at&r #nt, #me ?ar5:ar(') "32 "@66, lo*o 5:ar('), "32 "@66, +reime ?ar5:ar(') "32 "@66, !atRodj !ate, +ol 5:ar(') !1@62 8%8, +lata "umeric(-, .) 5A15$ (+62 > '000), dresa ?ar5:ar(/0), Ruko*odilac #nt, ektor #nt "32 "@66, 53"2R#"2 Radnik+$ +R#%RB $1B (%at&r), 53"2R#"2 Ruko*odi$ 3R1#C" $1B (Ruko*odilac)
R11R1"51 R!"#$(%at&r), 53"2R#"2 ektor$' 3R1#C" $1B (ektor)
R11R1"51 1$23R(&roj) );
5R121 2&61 1$23R (
&roj #nt,"ai* ?ar5:ar(') "32 "@66, e4 #nt "32 "@66, !at+ost !ate, 53"2R#"2 ektor+$ +R#%RB $1B (&roj), 53"2R#"2 e4$ 3R1#C" $1B (e4)
R11R1"51 R!"#$(%at&r)
);
5R121 2&61 +R371$2 (
&roj #nt, "ai* ?ar5:ar(.) "32 "@66, 6okacija ?ar5:ar(') !1@62 8"i98, ektor #nteger "32 "@66, 53"2R#"2 +rojekat+$ +R#%RB $1B (&roj), 53"2R#"2 "adlean$ 3R1#C" $1B (ektor)
R11R1"51 1$23R(&roj) );
8/18/2019 2 SQL Naredbe Za Kreiranje Podataka i Prakticni Rad u Access u
18/24
5R121 2&61 56"_+3R3!#51 (
Radnik #nt,
#me ?ar5:ar('), +ol 5:ar(') "32 "@66 !1@628%8,
!atRodj !ate, 53"2R#"2 5lan+orodice+$ +R#%RB $1B (Radnik,
#me), 53"2R#"2 Roditelj$ 3R1#C" $1B (Radnik)
R11R1"51 R!"#$(%at&r) );
5R121 2&61 63$_1$ ( ektor #nt, 6okacija ?ar5:ar('), 53"2R#"2 6okacija+$ +R#%RB $1B (ektor,
6okacija), 53"2R#"2 ektor$. 3R1#C" $1B (ektor)
R11R1"51 1$23R(&roj) );
5R121 2&61 R!#_"
( Radnik #nt, +rojekat #nt, ati #nt "32 "@66, 53"2R#"2 Radi"a+$ +R#%RB $1B (Radnik,
+rojekat), 53"2R#"2 Radnik$ 3R1#C" $1B (Radnik)
R11R1"51 R!"#$(%at&r), 53"2R#"2 +rojekat$ 3R1#C" $1B (+rojekat)
R11R1"51 +R371$2(&roj) );
8/18/2019 2 SQL Naredbe Za Kreiranje Podataka i Prakticni Rad u Access u
19/24
".6. +S -cce peci3i%noti
8renutno najrasporostranjeniji standard SQL-a koji se koristi je 6NS SQL-/;, 3vajstandard implementira najve7i broj proizvo>ača '%S-a, Sa druge strane %S 6ccess koristine+to stariju verziju standarda 6NS SQL-4/, 8ako>e) kao i ve7ina drugi2 proizvo>ala'%S-a) %icroso*t je u %S 6ccess SQL implementirao speci*ičnosti koje nisu deo SQLstandarda, z ovi2 razloga) postoje elementi SQL standarda koji ne7e raditi u %S 6ccess-u, Unastavku 7e biti navedene neki od elemenata SQL standarda) a vezani su za AR68E 86'LEnaredbu) koje %S 6ccess ne podr#ava<
• %S 6ccess ne podr#ava /N&Q/) C8C i *9-/L! ograničenja, Ekvivalentnaograničenja se mogu de*inisati u tabeli kori+7enjem esig 9ieI-a za tabelu,
• Car i
8/18/2019 2 SQL Naredbe Za Kreiranje Podataka i Prakticni Rad u Access u
20/24
;, Creiranje tabela i izbor ključa - nakon otvaranja *atabae @indo?-a kao na slici
8/18/2019 2 SQL Naredbe Za Kreiranje Podataka i Prakticni Rad u Access u
21/24
• Počnite sa kreiranjem tabela klikom na 8able i Create !able in *eign
8/18/2019 2 SQL Naredbe Za Kreiranje Podataka i Prakticni Rad u Access u
22/24
• snimite tabelu pod #eljenim imenom•
domene atributa odredite tipovima podataka koje nudi 6ccess
• zaberite ključni atribut) selekcijom tog atributa i klikom na ikonicu sa ključem natoolbar-u,
=, 8abele mo#ete modi*ikovati tako +to 7ete iz istog prozora da klikom na tabelu i izboromopcije esign,
H, Unos i modi*ikacija podataka u tabeli - jednostavno dvostrukim klikom na tabelu otvara setabela u modu za prikaz i unos podataka, %o#ete da unosite nove vrste ili da menjate
postoje7e
8/18/2019 2 SQL Naredbe Za Kreiranje Podataka i Prakticni Rad u Access u
23/24
F, Pode+avanja za očuvanje re*erencijalnog integriteta• zabrati ikonicu za Relations2ip i otvori7e vam se slede7i prozor u kome mo#ete da
dodate tabele izme>u koji2 7ete de*inisati veze za očuvanje re*erencijalnog integriteta<
• !a kreiranje veze izme>u dve tabele jednostavno kliknite i povucite ključ jedne tabelei prevucite ga preko stranog ključa u drugoj tabeli, Podesite ograničenja
8/18/2019 2 SQL Naredbe Za Kreiranje Podataka i Prakticni Rad u Access u
24/24
".:.". #itanja za a'otalni rad
reiranje baze podataka
Proučiti detaljno *unkcije %S 6ccess-a kao alata za razvoj aplikacija i '%Sa) kreirati bazu podataka PREU!E"E kori+7enjem relacionog modela koji je dat u ovoj lekciji,