24
Relacijska baza podataka BIBLIOTEKA - 1 prof.dr. Džemal Kulašin Kiseljak, maj 2018.

Relacijska baza podataka - Biblioteka - fmpe.edu.bafmpe.edu.ba/images/nastava/948/Baze_podataka/Relacijska_baza_podataka... · Modeliranje relacijske baze - BIBLIOTEKA Modelirajmo

  • Upload
    others

  • View
    12

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Relacijska baza podataka - Biblioteka - fmpe.edu.bafmpe.edu.ba/images/nastava/948/Baze_podataka/Relacijska_baza_podataka... · Modeliranje relacijske baze - BIBLIOTEKA Modelirajmo

Relacijska baza podataka BIBLIOTEKA - 1

prof.dr. Džemal Kulašin

Kiseljak, maj 2018.

Page 2: Relacijska baza podataka - Biblioteka - fmpe.edu.bafmpe.edu.ba/images/nastava/948/Baze_podataka/Relacijska_baza_podataka... · Modeliranje relacijske baze - BIBLIOTEKA Modelirajmo

Faze u razvoju baza

�Shodno činjenici da je projektovanje baza podataka u velikoj mjeri projektovanje IS-a...

�Proizilazi da se i faze projektovanje (razvoja) baza podataka gotovo podudaraju sa fazama u razvoju IS-a

�Dakle, faze projektovanja baza podataka su:

Page 3: Relacijska baza podataka - Biblioteka - fmpe.edu.bafmpe.edu.ba/images/nastava/948/Baze_podataka/Relacijska_baza_podataka... · Modeliranje relacijske baze - BIBLIOTEKA Modelirajmo

Faze u razvoju baza

�Analiza potreba

�Analiza potreba je proces...

−analize tokova informacija,

− identifikacija podataka koje i vezameñu njima,

− identifikacija transakcija (operacija) koje ćese obavljati nad bazom podataka

Page 4: Relacijska baza podataka - Biblioteka - fmpe.edu.bafmpe.edu.ba/images/nastava/948/Baze_podataka/Relacijska_baza_podataka... · Modeliranje relacijske baze - BIBLIOTEKA Modelirajmo

Faze u razvoju baza

�Modeliranje

�Modeliranje je proces izrade šeme tj. modela baze podataka prema specifikacijianalize:

–rasporeñivanje podataka po tablicama

–utvrñivanje tipova podataka

– identifikacija odnosa meñu podacima i prevoñenje u veze meñu tablicama

Page 5: Relacijska baza podataka - Biblioteka - fmpe.edu.bafmpe.edu.ba/images/nastava/948/Baze_podataka/Relacijska_baza_podataka... · Modeliranje relacijske baze - BIBLIOTEKA Modelirajmo

Faze u razvoju baza

� Implementacija

–DBMS-om (Database Management System) (SUBP – Sistem upravljanja bazom podataka), praktično se realizira baza podataka

� Testiranje

� Održavanje

� Dokumentiranje

Page 6: Relacijska baza podataka - Biblioteka - fmpe.edu.bafmpe.edu.ba/images/nastava/948/Baze_podataka/Relacijska_baza_podataka... · Modeliranje relacijske baze - BIBLIOTEKA Modelirajmo

Modeliranje relacijske baze -BIBLIOTEKA

� Modelirajmo relacijsku bazu podataka BIBLIOTEKA, čime projektujemo dio IS-a!◦Naravno, pretpostavljamo da je završena

faza Analiza potreba!

� U ovom dijelu (eventualno) se služimo i tzv. E-R dijagramima

Page 7: Relacijska baza podataka - Biblioteka - fmpe.edu.bafmpe.edu.ba/images/nastava/948/Baze_podataka/Relacijska_baza_podataka... · Modeliranje relacijske baze - BIBLIOTEKA Modelirajmo

NASLOV KNJIGE - (TXT)IME PISCA - (TXT)NOBEL OVAC - (Y/N) BR_STRANA - (NUM)ZANR - (TXT)GODINA ROðENJA PISCA - (NUM)AKTIVAN - (Y/N)

Modeliranje relacijske baze

Page 8: Relacijska baza podataka - Biblioteka - fmpe.edu.bafmpe.edu.ba/images/nastava/948/Baze_podataka/Relacijska_baza_podataka... · Modeliranje relacijske baze - BIBLIOTEKA Modelirajmo

„Pretvaranje“ strukture u tablicuNaslovknjige

Ime pisca

Nobel Broj strana

Zanr Godinaroñenja

Aktivan

Prokleta avlija

Ivo Andrić Yes 150 Pov 1892 No

Travnička hronika

Ivo Andrić Yes 320 Pov 1892 No

Isijavanje Steven King

No 250 Hor 1947 Yes

Mračna kula

Steven King

No 450 Fan 1947 Yes

Knjige krvi Klajv Barker

No 600 Hor 1960 Yes

Utkani svijet

Klajv Barker

No 320 Fan 1960 Yes

ČekajućiGodoa

Semjuel Beket

Yes 330 Dra 1906 No

Tvrñava Meša Selimović

No 270 Dra 1910 No

Page 9: Relacijska baza podataka - Biblioteka - fmpe.edu.bafmpe.edu.ba/images/nastava/948/Baze_podataka/Relacijska_baza_podataka... · Modeliranje relacijske baze - BIBLIOTEKA Modelirajmo

Modeliranje relacijske baze

Problem:

Uočava se dupliranje podataka, i potrebno je izvršiti njihovo elimiranje!

To je problem kojeg riješava tzv. normalizacija baze podataka

Page 10: Relacijska baza podataka - Biblioteka - fmpe.edu.bafmpe.edu.ba/images/nastava/948/Baze_podataka/Relacijska_baza_podataka... · Modeliranje relacijske baze - BIBLIOTEKA Modelirajmo

Dupliranje podatakaNaslovknjige

Ime pisca

Nobel Broj strana

Zanr Godinaroñenja

Aktivan

Prokleta avlija

Ivo Andrić Yes 150 Pov 1892 No

Travnička hronika

Ivo Andrić Yes 320 Pov 1892 No

Isijavanje Steven King

No 250 Hor 1947 Yes

Mračna kula

Steven King

No 450 Fan 1947 Yes

Knjige krvi Klajv Barker

No 600 Hor 1960 Yes

Utkani svijet

Klajv Barker

No 320 Fan 1960 Yes

ČekajućiGodoa

Semjuel Beket

Yes 330 Dra 1906 No

Tvrñava Meša Selimović

No 270 Dra 1910 No

Page 11: Relacijska baza podataka - Biblioteka - fmpe.edu.bafmpe.edu.ba/images/nastava/948/Baze_podataka/Relacijska_baza_podataka... · Modeliranje relacijske baze - BIBLIOTEKA Modelirajmo

NormalizacijaNormalizacija se odvija kroz tzv. normalne forme (NF)

Prva normalna forma riješava upravo problem dupliranja, kroz kreiranje dviju tablica

Tablica: KNJIGE i Tablica: PISCI

No, potrebno je pažljivo odrediti ključeve, kako bi se tablice vezale!

Page 12: Relacijska baza podataka - Biblioteka - fmpe.edu.bafmpe.edu.ba/images/nastava/948/Baze_podataka/Relacijska_baza_podataka... · Modeliranje relacijske baze - BIBLIOTEKA Modelirajmo

Primary keyŠta je primarni ključ (primary key)?

Primarni ključ je atribut koje jedinstvenoidentificira vrstu u tabeli, te se njegova vrijednost ne smije izostaviti (NOT NULL).

Vrijednosti ključa mogu se referirati na sve zapise (slogove) jer svaki zapis ima različitu vrijednost ključa.

Page 13: Relacijska baza podataka - Biblioteka - fmpe.edu.bafmpe.edu.ba/images/nastava/948/Baze_podataka/Relacijska_baza_podataka... · Modeliranje relacijske baze - BIBLIOTEKA Modelirajmo

Primary keyŠta birati za primarni ključ (primary key)?

U principu, birati onaj atribut, odnosno polje koje se ne ponavlja; dakle, birati...?

Svaka tablica ima samo jedan primarni ključ.

Primarni ključ u drugoj tablici je tzv. strani ključ (foreign key)!

Page 14: Relacijska baza podataka - Biblioteka - fmpe.edu.bafmpe.edu.ba/images/nastava/948/Baze_podataka/Relacijska_baza_podataka... · Modeliranje relacijske baze - BIBLIOTEKA Modelirajmo

Relacijska baza - BIBLIOTEKA

� Nakon faze modeliranja, potrebno je fizički oblikovati relacijsku bazu, tj. realizirati fazu Implementacije

� U tu svrhu, potrebno je odabrati odreñeni DBMS (SUBP)

Page 15: Relacijska baza podataka - Biblioteka - fmpe.edu.bafmpe.edu.ba/images/nastava/948/Baze_podataka/Relacijska_baza_podataka... · Modeliranje relacijske baze - BIBLIOTEKA Modelirajmo

Relacijska baza - BIBLIOTEKA

� Zadatak:

� Odabrati DBMS (SUBP), te implementirati relacijsku bazu BIBLIOTEKA� Primjeri DBMS-a???

Page 16: Relacijska baza podataka - Biblioteka - fmpe.edu.bafmpe.edu.ba/images/nastava/948/Baze_podataka/Relacijska_baza_podataka... · Modeliranje relacijske baze - BIBLIOTEKA Modelirajmo

Relacijska baza - BIBLIOTEKA� Primjeri DBMS-a:

� SQL, Microsoft Access

Page 17: Relacijska baza podataka - Biblioteka - fmpe.edu.bafmpe.edu.ba/images/nastava/948/Baze_podataka/Relacijska_baza_podataka... · Modeliranje relacijske baze - BIBLIOTEKA Modelirajmo

Implementiranje relacijske baze1. Kreirati objekte baze podataka - Tablice

- Primjeniti i validaciju: - npr. broj strana knjige mora biti

veći od nule; ukoliko se pravilo prekrši,ispisati poruku "Unesite ispravan broj strana".2. Kreirati i odgovarajuće forme

Unijeti u bazu odgovarajuće podatke3. Kreirati i pojedine upite (query)

Page 18: Relacijska baza podataka - Biblioteka - fmpe.edu.bafmpe.edu.ba/images/nastava/948/Baze_podataka/Relacijska_baza_podataka... · Modeliranje relacijske baze - BIBLIOTEKA Modelirajmo

Dizajn: Tablica „Knjige“U ovom dizajnu karakteristično je polje: Pisac

Naime, kao tip podatka bira se: Lookup Wizzard

Razultat: U tablici (ili formi) Knjige, pojavljivat će se padajuća lista Ime pisca, te se izbjegava dupliranje unosa i olakšava posao u bazi!

Page 19: Relacijska baza podataka - Biblioteka - fmpe.edu.bafmpe.edu.ba/images/nastava/948/Baze_podataka/Relacijska_baza_podataka... · Modeliranje relacijske baze - BIBLIOTEKA Modelirajmo

Tablica „Knjige“ – Lookup!

Page 20: Relacijska baza podataka - Biblioteka - fmpe.edu.bafmpe.edu.ba/images/nastava/948/Baze_podataka/Relacijska_baza_podataka... · Modeliranje relacijske baze - BIBLIOTEKA Modelirajmo

Forma i podforma...Zadatak

2. Kreirati formu Knjige te podformu Pisci. Na taj način omogućiti pregled podataka o autoru knjige u podformi!

- Object - Subform

Page 21: Relacijska baza podataka - Biblioteka - fmpe.edu.bafmpe.edu.ba/images/nastava/948/Baze_podataka/Relacijska_baza_podataka... · Modeliranje relacijske baze - BIBLIOTEKA Modelirajmo

Upiti (Query)Upiti (query) su osnova pretrage svake baze podataka.

1. Kreirati standardni upit u kome će biti prikazani naslovi knjiga po abecednom redu, uz imena pisaca, sortirano po abecedi1.1. Dodati u upitu da li pisac ima Nobelovu nagradu!

Page 22: Relacijska baza podataka - Biblioteka - fmpe.edu.bafmpe.edu.ba/images/nastava/948/Baze_podataka/Relacijska_baza_podataka... · Modeliranje relacijske baze - BIBLIOTEKA Modelirajmo

Parametarski upitiParametarski upiti se često koristi, a kreira se jednostavno uz srednju zagradu u kriteriju

- Screenshot – Next Slide!

1. Kreirati tzv. parametarski upit u kome će se prikazivati knjige po žanru, uz naziv knjige i ime pisca

Page 23: Relacijska baza podataka - Biblioteka - fmpe.edu.bafmpe.edu.ba/images/nastava/948/Baze_podataka/Relacijska_baza_podataka... · Modeliranje relacijske baze - BIBLIOTEKA Modelirajmo

Parametarski upit - Žanr

Page 24: Relacijska baza podataka - Biblioteka - fmpe.edu.bafmpe.edu.ba/images/nastava/948/Baze_podataka/Relacijska_baza_podataka... · Modeliranje relacijske baze - BIBLIOTEKA Modelirajmo

Parametarski upiti...Parametarski upiti

2. Kreirati novi parametarski upit u kome će se prikazivati knjige prema zahtjevanom piscu

- npr. korisnik želi znati koje knjigepostoje u biblioteci od autora Ivo Andrić, i sl.