
















Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u
Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan
Pripremite ispite
Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u
Nabavite poene za preuzimanje
Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan
U radu su date osnovne karakteristike SQL i Microsoft Access 2003, veze između njih i način izrade baza podataka u Accessu. Seminarski rad.
Tipologija: Beleške
1 / 24
Ova stranica nije vidljiva u pregledu
Ne propustite važne delove!

















Jedan od popularnijih vizuelnih alata za upravljanje bazama podataka i razvoj pratećih aplikacija je upravo Microsoft Access 2003. To je moćan i stabilan 32-bitni sistem za izradu stonih i klijent/server aplikacija baza podataka, koje se izvršavaju pod okriljem Windowsa. Uspjeh Access-a se ogleda u tome što na stone PC-je prenosi mnoge karakteristike klijent/server sistema relacionih baza podataka. Access ima jedinstvenu strukturu baze podataka koja može da kombinuje sve povezane tabele podataka i njihove indekse, obrasce, izvještaje baze podataka unutar jedne .mdb datoteke. SQL (Structured Query Language) struktuirani upitni jezik jeste zajednički jezik za definiciju i manipulaciju relacionih baza podataka. Osnovna prednost SQL-a jeste da je standardizovan pa isti skup SQL naredbi možemo da koristimo sa svim sistemima za upravljanje baze podataka koji podržavaju SQL. Smatra se zajedničkim jezikom relacionih baza podataka jer objedinjuje i jezik za definiciju podataka (DDL – Data Definition Language) i jezik za manipulaciju podacima (DML – Data Manipulation Language). U radu su date osnovne karakteristike SQL i Microsoft Access 2003, veze između njih i način izrade baza podataka u Accessu.
Postoje četiri glavna modela baza podataka s obzirom na organizaciju podataka:
Relaciona baza podataka je bazirana na relacionom modelu, koji organizuje podatke u tabele koje se sastoje od kolona i redova.
Razlog zbog kojeg je potrebna baza podataka je da bi se mogle pohraniti vrijednosti podataka o entitetima, a potom da se dohvataju vrijednosti podataka o tim entitetima po potrebi. Da bi se ovo uradilo mora postojati način da se entiteti razdvoje jedan od drugog. To se radi pomoću identifikatora entiteta (ključnih atributa) koji postaju primarni ključevi tabela. Dva najvažnija pravila za kreiranje primarnih ključeva su: da primarni ključ ima jedinstvene vrijednosti za svaku n-torku (entitet) i da primarni ključ nema NULL (nepoznate) vrijednosti. Ključno polje je polje čiji je sadržaj izabran tako da na jedinstven način određuje slog kojem pripada. Povezivanje tabela, odnosno podataka u dvije tabele, ostvaruje se na taj način što se proglasi veza između primarnog ključa primarne tabele i nekog od atributa sekundarne tabele. Taj atribut u sekundarnoj tabeli naziva se strani ključ (engl. foreign key). Strani ključ najčešće ima isto ime kao primarni ključ primarne tabele ali to nije pravilo. Međutim, strani ključ mora biti istog tipa podataka kao njemu odgovarajući primarni ključ. U slučaju da se za strani ključ u sekundarnoj tabeli izabere atribut koji je u toj tabeli ujedno i primarni ključ, tada jedan slog primarne tabele
može biti povezan samo sa jednim slogom u sekundarnoj tabeli (jer tada ne mogu postojati dva polja u sekundarnoj tabeli sa istom vrijednošću stranog ključa). Obično se kao ključno polje uzima polje koje sadrži neki jedinstveni identifikacioni broj, kao npr. jedinstveni matični broj građanina (JMBG), itd. Nije pogodno kao ključno polje uzimati polje koje sadrži ime i prezime neke osobe, jer se često dešava da dvije različite osobe posjeduju isto ime i prezime. Radi potrebe za postojanjem primarnog ključa, možemo tvrditi da u relacionim bazama podataka unutar jedne tabele nikada ne mogu postojati dva identična sloga (oni će se razlikovati barem po sadržaju ključnih polja).
Pojam integriteta baze podataka odnosi se na ispravnost i istinitost podataka sadržanih u bazi. Neispravni ili netačni podaci mogu biti posljedica:
Ponekad se dešava da informacije koje treba unjeti u bazu podataka nisu potpune, tj. vrijednost atributa za neku n-torku može biti privremeno ili trajno nedostupna (čeka se na unos podataka, informacija ne postoji i sl.). Vrijednost NULL ukazuje da polje ne sadrži nikakve podatke. NULL nije isto što i numerička vrijednost nula, niti je ekvivalentna praznom tekstu, koji se sastoji od jednog ili više razmaka. Najbolji sinonim za NULL bi bio "nepoznat podatak''.
Da bi se objasnili tipovi relacija nejčešće se koristi tzv. ER model (Entity-Relationship model) tj. model veza entiteta. Entiteti se prikazuju pravougaonikom unutar kojeg se nalazi ime entiteta, a veza grafički rombom unutar kojeg se nalazi ime veze. Postoje tri tipa veza: a) relacija jedan – prema – jedan U ovakvoj relaciji, tabele između svojih redova imaju slaganje tačno jedan- prema-jedan, znači nema reda u jednoj tabeli kojem odgovara više redova u drugoj tabeli. U primjeru na slj. slici ralizovana je veza u kojoj jedan zaposlenik može raditi samo na jednom projektu, odnosno na jednom projektu može raditi samo jedan zaposlenik.
Osnovna funkcija SQL-a je da definira strukturu podataka, manipulira sa podacima i kontrolira podatke u relacionoj bazi podataka. Nakon što je kreirana sama baza podataka, sljedeći korak je definiranje tabela koje će sadržavati podatke koje ćemo držati u bazi. Mada standard dozvoljava korištenje slova i iz nekih drugih jezika, preporučuje se upotreba isključivo slova engleskog alfabeta. Dvije tabele u istoj bazi ne smiju imati isto ime, kao ni dvije kolone unutar iste tabele, dok dvije različite tabele mogu imati ista imena kolona. Microsoft Acces podržava standardni SQL jezik ali se sve operacije mogu obaviti i preko vizuelnog interfejsa. U Microsoft Accessu tipovi podataka uglavnom imaju drugačiji naziv nego u standardnom SQL-u, tako da se umjesto tipa CHARACTER koristi tip Text, umjesto tipova DATE koristi tip Date/Time, MONEY je Currency. Da bismo u Accessu zadali dodatne opcije poput dužine tekstualnog polja, broja decimala, kao i opcija poput NOT NULL koristimo se karticom General koja se nalazi u donjem dijelu formulara za kreiranje tabele, a koja se uvijek odnosi na ime atributa koji je trenutno označen. Ubjedljivo najčešće korištena naredba u SQL-u je SELECT. Ona služi da se dobave podaci iz baze (tabela), tako da je čest sinonim za nju i SQL upit (engl. SQL Query). 3. Aplikacija b aze podataka Ono što krajnjeg korisnika zanima je jedino korištenje baze podataka. Korisnik ne želi da unosi podatke direktno u tabele, pogotovo u slučaju kada su, zbog raznih šifarnika, podaci koje korisnik očekuje u jednoj tabeli u stvari razbacani u više tabela. Korisnik ne želi da vidi podatke iz baze podataka samo kao puku tabelu, već očekuje prikaz detaljnog izvještaja o traženim podacima iz baze podataka, u vidu uređenog dokumenta koji se može prezentirati i štampati. Danas je ovaj posao znatno olakšan pojavom vizualnih alata za razvoj aplikacija baze podataka. To su programi koji omogućavaju kreiranje baza podataka i odgovarajućih aplikacija vezanih uz baze podataka crtanjem odgovarajućih simbola i objekata na ekranu i njihovim povezivanjem, popunjavanjem formulara ili odgovaranjem na pitanja i sličnim postupcima, uz sasvim malo ili čak nimalo klasičnog programiranja.
Ono što krajnjeg korisnika zanima je jedino korištenje baze podataka. Korisnik ne želi da unosi podatke direktno u tabele, pogotovo u slučaju kada su, zbog raznih šifarnika, podaci koje korisnik očekuje u jednoj tabeli u stvari razbacani u više tabela. Korisnik ne želi da vidi podatke iz baze podataka samo kao puku tabelu, već očekuje prikaz detaljnog izvještaja o traženim podacima iz baze podataka, u vidu uređenog dokumenta koji se može prezentirati i štampati. Danas je ovaj posao znatno olakšan pojavom vizualnih alata za razvoj aplikacija baze podataka. To su programi koji omogućavaju kreiranje baza podataka i odgovarajućih aplikacija vezanih uz baze podataka crtanjem odgovarajućih simbola i objekata na ekranu i njihovim povezivanjem, popunjavanjem formulara ili odgovaranjem na pitanja i sličnim postupcima, uz sasvim malo ili čak nimalo klasičnog programiranja.
Jedan od najpopularnijih vizualnih alata za upravljanje bazama podataka i razvoj pratećih aplikacija jeste i Microsoft Access. Prilikom pokretanja Microsoft Access-a, ukoliko želimo kreirati novu bazu podataka, odmah zadajemo mjesto gdje će ona biti kreirana ili biramo bazu koju želimo otvoriti.
Organizacija podataka obuhvata izradu i rukovanje tabelama koje sadrže podatke u konvencionalnom tabelarnom formatu (red-kolona) koju MS Access naziva pogled. Pri kreiranju nove baze koristimo osnovne funkcije Accessa u sekvencama koje idu odozgo na dole (slika organizacije podataka).
Tablica – organizacija podataka obuhvata izradu i rukovanje tabelama koje sadrže podatke u konvecinonalnom tabelarnom formatu (red-kolona). Tablice sadrže polja u koje se spremaju različite vrste podataka, kao što su ime ili adresa i sl. Vaša baza se može sastojati iz jedne tabele, ali je češći slučaj da se baza sastoji iz više tabela.
Na ovaj način ćemo kreirati tablicu IMENIK kojoj je primarni ključ broj učenika, tj. atribut UČENIK#. Lijevo su tabelarrno prikazani nazivi atributa i odabrani tipvi podataka, a desno je prikazana SQL naredba kojom se kreira data tabela:
IMENIK CREATE TABLE IMENIK ( UCENIK# (number) UCENIK# TINYINT IME (tekst) , IME VARCHAR(10) Ime oca (tekst) , Ime oca VARCHAR(10) PREZIME (tekst) , PREZIME VARCHAR(15) ADRESA (tekst) , ADRESA VARCHAR(50) TELEFON (tekst) , TELEFON TEKST , Primary key (UCENIK#) );
Za određene nazive polja moramo izabrati tip podatka koji će se pojavljivati u datom polju. Tipovi podataka koje Access nude se razlikuju od tipova podataka u SQL. Neki tipovi podataka imaju nekoliko podtipova. Tipovi podataka koji se mogu odabrati su: Text tekst u datoj koloni može da sadrži do 255 znakova Memo tekst u datoj koloni može da sadrži do 65.535 znakova Number brojčani podaci Data/Time datum/vrijeme, unos brojeva u obliku datuma i vremena Curency specifični fiksni format (valuat) sa četri decmalna mjesta Auto number automatski brojač, automatski dodjeljuje svaki unos za 1 više Yes/No da/ne, 1za Yes(True), 0 za No (false) Ole object uključuju bitmapirane slike
Na sličan način kreiramo i preostale tri tablice:
IZOSTANCI CREATE TABLE IZOSTANCI ( UCENIK# (number) UCENIK# TINYINT OPRAVDANI (tekst) , OPRAVDANI TINYINT NEOPRAVDANI (tekst) , NEOPRAVDANI TINYINT , Primary key (UCENIK#) );
UCENIK# (number) UCENIK# TINYINT USPJEH (tekst) , USPJEH VARCHAR(10) VLADANJE (tekst) , VLADANJE VARCHAR(15) BROJ OPOMENA(tekst) , BROJ OPOMENA TINYINT , Primary key (UCENIK#) );
UCENIK# (number) UCENIK# TINYINT NAZIV SEKCIJE (tekst) ,NAZIV SEKCIJE VARCHAR(20) NASTUP (tekst) , NASTUP VARCHAR(20) , Primary key (UCENIK#) );
Relacije između tabela utvrđuju polja koja korištena kao primarni ključevi u tabelama. Access 2003 koristi grafički prozor Relationships da bi prikazao i pravio relacije između tabela u bazi podataka. Prije nego što uspostavimo relacije, prozor Database mora biti aktivan. Na traci
kliknemo na dugme Relationships.
Pritiskom na UCENIK# u tablici IZOSTANCI i nošenjem u UCENIK# u tablici IMENIK pokazat će se relacija 1 – prema – više (1-∞). Okvir za dijalog Edit Relationships nudi polje za potvrđivanje Enforce Referential Integritety, tako da možemo da naredimo da Access izvršava testiranje ispravnosti i prihvata one stavke u polju UCENIK# u tablici IZOSTANCI, koje imaju odgovarajuće vrijednosti UCENIK# u tablici IMENIK. Ovaj postupak se naziva obezbjeđivanje ili održavanje referencijalnog integriteta. Prikaz Relationships u Accessu je grafički prikaz modela kod koga su sve veze prikazane linijama sa označenim tipovima veza.
Na sličan način možemo napraviti i ostala tri obrasca. Nakon toga kao probnu bazu ćemo ukucati podatke:
Naredba u SQL za unos jedne n-torke (reda, zapisa) u relaciju bi bila: INSERT INTO IMENIK VALUES ('1','SAMIR', 'AVDO','KOVACEVIC','GRACANICA', '(035 719 717)
Upite koristimo kada želimo na određeni način da izdvojimo određene podatke. Definisanje upita najviše podsjeća na filtriranje podataka, samo što ćemo kod korištenja upita moći zaštititi naš upit i opet potpuno isti upit postaviti ako nam bude potreban. Upit kreiramo tako što dvostruko kliknemo na Create Query in Design View, dodamo jednu ili više tabela u zavisnosti šta želimo kao rezultat te uz pomoć vizuelnog interfejsa po potrebi dodamo odgoarajuće uslove i sl. Sve ovo se može uraditi i korištenjem samo SQL jezika.
U narednih nekoliko primjera objašnjeni su upiti i naredba u Accessu i SQL jeziku za neke najčešće korištene operatore.
Primjer 1. Ispisati prezime, ime i telefon svih učenika kod kojih je broj opomena veći od 1?
Na prethodne tri slike su dati način postavljanja upita, rješenje upita i način kako se isti taj upit prikazuje u SQL pogledu (Viev SQL View). Naredba u SQL (koja je slična SQL pogledu) koju bi napisali glasila bi:
SELECT PREZIME, IME, TELEFON, BROJ OPOMENA FROM IMENIK=USPJEH WHERE BROJ OPOMENA>1;
Primjer 2. Ispisati prezime, ime i adresu učenika koji stanuju u Gračanici?
Kao rezultat dobijamo:
SQL naredba koja radi isto ovo bi bila:
SELECT PREZIME, IME, ADRESA FROM IMENIK WHERE ADRESA='GRAČANICA';
Primjer 3. Ispisati broj učenika koji imaju odličan uspjeh i opravdanih časova različito od 5?
Sada ćemo kao rezultat dobiti:
Naredba u SQL-u bi glasila:
SELECT PREZIME, IME,[NAZIV SEKCIJE] FROM IMENIK, SEKCIJE WHERE PREZIME LIKE '%a%';
Primjer5. Prikazati šifre učenika koji imaju dobar uspjeh i neopravdanih časova različito od 2?
Kao rezultat dobijamo:
Naredba u SQL-u bi glasila:
SELECT UCENIK#,USPJEH,NEOPRAVDANI FROM IMENIK,USPJEH,IZOSTANCI WHERE USPJEH='DOBAR' AND NEOPRAVDANI <>''2'';