Docsity
Docsity

Pripremite ispite
Pripremite ispite

Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u


Nabavite poene za preuzimanje
Nabavite poene za preuzimanje

Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan


Školska orijentacija
Školska orijentacija


Baze podataka, Beleške od Baze podataka

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

2022/2023

Učitan datuma 13.01.2023.

TomislavTomo37
TomislavTomo37 🇭🇷

5

(3)

4 dokumenti

1 / 24

Toggle sidebar

Ova stranica nije vidljiva u pregledu

Ne propustite važne delove!

bg1
Sadržaj
1. Uvod ...................................................................................................................................... 1
2. Osnovni pojmovi o bazama podataka ..................................................................................... 3
2.1. Centralizirane i distribuirane baze podataka ................................................................... 3
2.2. Organizacija baze podataka ............................................................................................ 3
2.3. Relacione baze podataka ................................................................................................ 3
2.3.1. Izbor primarnog ključa (primary key) ..................................................................... 3
2.3.2. Integritet baze podataka .......................................................................................... 4
2.3.3. NULL vrijednost u relacionim bazama podataka .................................................... 4
2.3.4. Tipovi veza među tabelama .................................................................................... 4
2.4. Jezici za manipulaciju relacionim bazama podataka ....................................................... 5
2.5. Kratak uvod u SQL ........................................................................................................ 7
3. Aplikacija baze podataka ....................................................................................................... 7
3.1. Osnovne funkcije Accessa .............................................................................................. 8
3.2. Definisanje tabela ........................................................................................................... 8
3.3. Tipovi podataka (Data Type) .......................................................................................... 9
3.4. Uspostavljanje relacija (veza) između tabela ................................................................ 10
3.5. Unos podataka formulari ili obrasci (Forms).............................................................. 11
3.6. Izrada upita (Queries) ................................................................................................... 13
3.7. Vrste operatora ............................................................................................................. 15
3.8. Primjeri upita (SELECT naredbi) za dohvat podataka .................................................. 15
3.9. Prikaz rezultata (Reports) ............................................................................................. 20
3.10. Promjena atributa (određenih podataka) ....................................................................... 21
3.11. Zaštita baze podataka ................................................................................................... 21
4. Zaključak ............................................................................................................................. 22
5. Literatura ............................................................................................................................. 23
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18

Delimični pregled teksta

Preuzmite Baze podataka i više Beleške u PDF od Baze podataka samo na Docsity!

Sadržaj

    1. Uvod......................................................................................................................................
    1. Osnovni pojmovi o bazama podataka
    • 2.1. Centralizirane i distribuirane baze podataka
    • 2.2. Organizacija baze podataka
    • 2.3. Relacione baze podataka
  • 2.3.1. Izbor primarnog ključa (primary key)
  • 2.3.2. Integritet baze podataka
  • 2.3.3. NULL vrijednost u relacionim bazama podataka
  • 2.3.4. Tipovi veza među tabelama
    • 2.4. Jezici za manipulaciju relacionim bazama podataka
    • 2.5. Kratak uvod u SQL
    1. Aplikacija baze podataka
    • 3.1. Osnovne funkcije Accessa
    • 3.2. Definisanje tabela
    • 3.3. Tipovi podataka (Data Type)
    • 3.4. Uspostavljanje relacija (veza) između tabela
    • 3.5. Unos podataka – formulari ili obrasci (Forms)..............................................................
    • 3.6. Izrada upita (Queries)
    • 3.7. Vrste operatora.............................................................................................................
    • 3.8. Primjeri upita (SELECT naredbi) za dohvat podataka
    • 3.9. Prikaz rezultata (Reports)
    • 3.10. Promjena atributa (određenih podataka)
    • 3.11. Zaštita baze podataka
    1. Zaključak
    1. Literatura

1. Uvod

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.

2.2. Organizacija baze podataka

Postoje četiri glavna modela baza podataka s obzirom na organizaciju podataka:

  • hijerarhijske,
  • mrežne,
  • relacione i
  • objektno-orijentirane baze podataka. Hijerarhijske i mrežne baze podataka su historijski najstarije i danas su u velikoj mjeri prevaziđene i zamijenjene relacionim i objektno-orijentisanim bazama podataka u svim modernijim sistemima. Moderne baze podataka organizovane su kao relacione baze podataka, ili kao njihova nadgradnja u vidu objektno-orijentisanih baza podataka.

2.3.Relacione baze podataka

Relaciona baza podataka je bazirana na relacionom modelu, koji organizuje podatke u tabele koje se sastoje od kolona i redova.

  • Tabela je najveća struktura
  • Polje (kolona) je najmanja struktura
  • Zapis (red) sadrži sva polja u tabeli Ovdje se prvenstveno misli na logičku organizaciju podataka, jer postoje programi za upravljanje bazama podataka, poput Microsoft Accessa, koji čitavu bazu podataka fizički čuvaju u jednoj jedinoj datoteci (sa nastavkom .MDB), mada, logički gledano, ona predstavlja čitavu skupinu datoteka koje se naslanjaju jedna na drugu. Relacione baze podataka najlakše je objasniti ukoliko datoteke posmatramo kao tabele u kojima svaki red odgovara jednom slogu, dok ćelije tabele odgovaraju poljima baze podataka. Kako su svi podaci unutar neke kolone u tabeli obično podaci istog značenja koji opisuju određena svojstva pripadnih slogova u tabeli (npr. jedna kolona tabele može sadržavati imena ili prezimena neke skupine osoba, druga kolona njihove adrese, itd.), u relacionim modelima kolone tabela obično nazivamo atributima (a ponekad i poljima, što može stvoriti zabunu s obzirom na činjenicu da se elementi u presjeku redova i kolona također nazivaju polja). Redovi tabela koji predstavljaju slogove, u relacionim modelima obično se nazivaju n-torke. Jedan red tabele predstavlja podatke o jednom entitetu iz realnog svijeta, tj. bilo šta što ima suštinu ili bit te posjeduje osobine pomoću kojih se može razlučiti od svoje okoline.

2.3.1. Izbor primarnog ključa (primary key)

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).

2.3.2. Integritet baze podataka

Pojam integriteta baze podataka odnosi se na ispravnost i istinitost podataka sadržanih u bazi. Neispravni ili netačni podaci mogu biti posljedica:

  • slučajne pogreške kod unosa ili ažuriranja
  • pogreške programera
  • pogreške sistema Pravilo integriteta obuhvata opšta pravila integriteta:
  1. Integritet primarnog ključa, koji podrazumjeva da vrijednost bilo koje komponente primarnog ključa ne smije biti jednaka NULL vrijednosti
  2. Referencijalni integritet, koji predstavlja skup pravila koja garantuju da se u sekundarnoj tabeli kao vrijednost stranog ključa nikada neće pojaviti vrijednost koja ne postoji među ključnim poljima u primarnoj tabeli. Stoga, sistem za upravljanje bazama podataka ne smije da dozvoli unos sloga u sekundarnu tabelu čija vrijednost stranog ključa ne postoji kao ključno polje u primarnoj tabeli.

2.3.3. NULL vrijednost u relacionim bazama podataka

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''.

2.3.4. Tipovi veza među tabelama

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.

2.4. Kratak uvod u SQL

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.

3. Aplikacija baze 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.

3.1. Osnovne funkcije Accessa

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#) );

3.3. Tipovi podataka (Data Type)

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#) );

USPJEH CREATE TABLE USPJEH (

UCENIK# (number) UCENIK# TINYINT USPJEH (tekst) , USPJEH VARCHAR(10) VLADANJE (tekst) , VLADANJE VARCHAR(15) BROJ OPOMENA(tekst) , BROJ OPOMENA TINYINT , Primary key (UCENIK#) );

SEKCIJE CREATE TABLE SEKCIJE (

UCENIK# (number) UCENIK# TINYINT NAZIV SEKCIJE (tekst) ,NAZIV SEKCIJE VARCHAR(20) NASTUP (tekst) , NASTUP VARCHAR(20) , Primary key (UCENIK#) );

3.4. Uspostavljanje relacija (veza) između tabela

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)

3.6. Izrada upita (Queries)

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.

3.8. Primjeri upita (SELECT naredbi) za dohvat podataka

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'';