44
Baze podataka

Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

  • Upload
    hahanh

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

Baze podataka

Page 2: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

2

Stvarni svijet

Digitalni model

Standardni model podataka u GIS-u povezuje prostorne i atributne podatke:

PROSTORNI PODACI

ATRIBUTNI PODACI

MODEL PODATAKA (Data model) u GIS-u predstavlja logičnu organizaciju podataka kojom se definiraju entiteti ili površina

Page 3: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

Atributni podaci se spremaju u obliku tablica –možemo imati 1 tablicu ili možemo baratati sa stotinama, pa i tisućama tablica

PRIMJERGradske četvti grada Zagreba modelirane su poligonima čiji je prostorni položaj jasno definiran koordinatama:

Poligon 1: X1 Y1, X2 Y2,...X1 Y1Poligon 2: X1 Y1, X2 Y2,...X1 Y1Poligon 3: X1 Y1, X2 Y2,...X1 Y1itd...

Redak, Zapis

Atribut

Page 4: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

Baze podataka

Baza podataka je skup operativnih i integriranih podataka obrađivanih u jednoj organizaciji

Baza podataka je skup povezanih podataka

Baza podataka je skup međusobno ovisnih podataka, spremljenih bez redundancije (zalihosti), koji služi jednoj ili više aplikacija na optimalan način, gdje su podaci neovisni o programima kojima se obrađuju i gdje postoji kontrolirani pristup podacima

Page 5: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

5

Sustav za upravljanje bazom podataka(Database Management System DBMS) Programska podrška koja omogućuje izradu,

održavanje i rad sa bazom podataka Primjeri: MS Access, MySQL, FileMaker,

Microsoft SQL Server, Oracle...etc.

Što želimo od DBMS? • Simultani pristup podacima i različiti pogled/upit na

podatke od strane više korisnika• Omogućuje (simultano) ažuriranje podataka• Omogućuje integraciju različitih podataka• Pruža održivost podataka i zaštitu

Page 6: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

stud_id kolegij_id ocjena

842 41033 4

842 41025 3

863 41031 5

863 41033 5

834 63328 2

834 63327 3

834 41025 2

... ... ...

stud_id stud_ime stud_god

842 Ivan 1990

863 Ana 1989

834 Hrvoje 1986

845 Josipa 1989

864 Goran 1990

... ... ...

kolegij_id kolegij_naziv nastavnik_id

41033 Petrologija sedimenata 038MPZ

41025 Historijska geologija I 021GPZ

41031 Historijska geologija II 021GPZ

63328 Mikrofiziografija stijena 012MPZ

63324 Metode paleontološkihistraživanja

016GPZ

63327 Geologija mora 004GPZ

... ... ...

nastavnik_id nastavnik_prezime

038MPZ Kovačić

021GPZ Bucković

012MPZ D. Balen

016GPZ V. Čosović

004GPZ M. Juračić

... ...

StudentKolegij

Nastavnici

Ocjene

Primjer jednostavne baze podataka:

Page 7: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

npr. Excel

npr. MS Access, MySQL, Oracle

Page 8: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

8

Osnovne funkcije DBMS:

a) Funkcije za definiranje baze podataka (Data Definition)• Ostvaruju se standardnim jezikom za rad s bazom podataka

(npr. SQL) kojim se opisuje shema baze podataka koja sadrži logički opis baze podataka (naziv, tip, format i opis svakog podatka te odnos prema drugim elementima podataka), kao i njen fizički opis (fizičku organizaciju baze podataka)

b) Funkcije za manipulaciju podacima (Data Manipulation)

c) Upravljačke funkcije• funkcije sigurnosti baze podataka odnosno zaštite• funkcije očuvanja integriteta baze podataka (backup and recovery)

• funkcije statističkog praćenja rada baze podataka

Page 9: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

9

“Flat file”Hijerarhijska

MrežnaRelacijskaObjektna

DimenzijskaGeodatabase

Vrste baza podataka

Page 10: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

10

“Flat file”• Baza podataka u kojoj su podaci spremljeni u jednostavnoj “text”

ili Excel datoteci

• Svaka linija u datoteci sadrži jedan zapis (n-torak), dok su atributna polja odvojena deliminatorima poput zareza ili tab razmakom

• Nedostaci:• Ograničena struktura• Ne postoje veze između pojedinih opservacija

• Dobra opcija ako baratamo sa malom količinom podataka i ako samo jedna osoba treba imati pristup podacima

Page 11: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

11

Relacijske baze podataka• Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica”

• Jednostavna ali fleksibilna struktura – baza se lako proširi

• Lako za izraditi

• Podacima se može pristupiti i pri tome ih presložiti i prikazati na različite načine bez da se mijenjaju i reorganiziraju tablice unutar baze

• Bolja opcija ako baratamo sa velikom količinom različitih podataka o više različitih entiteta (koji su na neki način povezani), te ako podatke prikuplja više osoba i unose te podatke istovremeno

stud_id ime godiste

842 Ivan 1990

863 Ana 1989

834 Hrvoje 1986

845 Josipa 1989

864 Goran 1990

... ... ...

stud_id kolegij_id ocjena

842 5045 3

842 5053 4

863 5045 5

834 5045 2

845 5042 3

845 5053 4

... ... ...

Student

UpisiKolegija

kolegij_id naziv nastavnik

63328 Mikrofiziografija stijena D. Balen

63324 Metode paleontološkihistraživanja

V. Čosović

63327 Geologija mora M. Juračić

... ... ...

Kolegij

Page 12: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

12

Daleko najčešći oblik baze podataka je relacijski

Podaci u relacijskoj bazi podataka se nalaze unutar relacija• relacije su podvrsta tablica koje zadovoljavaju određena pravila,

tako da svaka tablica nema nužno karakteristike relacije

Pojedina relacija se sastoji od • redaka (zapis)• stupaca (atributa)

Osnovne značajke relacije su:a) Ne postoje dva jednaka retka, ni stupcab) Redosljed redaka i stupaca nije bitanc) Pojedine vrijednosti atributa moraju biti jedinstvene (atomarne), što znači

da jedna čelija u tablici može sadržavati samo jednu vrijednost (npr. ako imamo dodatna mjerenja koja se odnose na isti objekt, morat ćemo ubaciti dodatne retke u tablicu)

Relacijske baze podataka

stud_id stud_ime stud_god ...

842 Ivan 1990 ...

863 Ana 1989 ...

834 Hrvoje 1986 ...

845 Josipa 1989 ...

864 Goran 1990 ...

... ... ... ...

RedakZapisn-torakOpservacija≈EntitetObjekt

StupacAtribut

Studenti

Page 13: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

13

Osnovna karakteristika relacionih baza jest da je čitavi set podataka rasčlanjen u više relacija (svaka od kojih sadrži podatke o nekom stvarnom ili apstraktnom subjektu), te da se mogu definirati veze između relacija korištenjem ključnih atributa

stud_id kolegij_id ocjena

842 41033 4

842 41025 3

863 41031 5

863 41033 5

845 41025 4

864 41033 2

... ... ...

kolegij_id kolegij_naziv nastavnik_id

41033 Petrologija sedimenata 038MPZ

41025 Historijska geologija I 021GPZ

41031 Historijska geologija II 021GPZ

... ... ...

stud_id stud_ime stud_god

842 Ivan 1990

863 Ana 1989

834 Hrvoje 1986

845 Josipa 1989

864 Goran 1990

... ... ...

Studenti

PRIMARNI KLJUČ: Minimalni skup atributa čije vrijednosti jednoznačno identificiraju svaki redak (n-torku) relacije

Kolegiji

Ocjene

PRIMARNI KLJUČ

PRIMARNI KLJUČ

PRIMARNI KLJUČ

Page 14: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

14

Razlika između sheme i instance:• Shema:

• Specificira kako se podaci logički strukturiraju• Određuje se na početku, pri izradi baze podataka• Rijetko se izmjenjuje

• Instanca:• Sadrži same podatke• Stalno se mjenja, međutim struktura joj je uvijek definirana shemom

Definiciju jedne tablice nazivamo relacijskom shemom:

Studenti(stud_id,stud_ime,stud_god)

Studentstud_id stud_ime stud_god

... ... ...

Page 15: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

15

Definicija čitave baze podataka nazivamo relacijska shema baze podataka (metapodaci):

Studenti(stud_id, stud_ime, stud_god)Kolegiji(kolegij_id, kolegij_naziv, nastavnik_id)Ocjene(stud_id, kolegij_id, ocjena)

Primjer jedne instance takve baze:

{(842, Ivan, 1990), (863, Ana, 1989)...}{(41033, Petrologija sedimenata, 038MPZ), (41025, Historijska geologija I, 021GPZ), ...}{(842, 41033, 4), (842, 41025, 3), ...}

Page 16: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

16

stud_id

stud_ime

stud_god

kolegij_id

kolegij_naziv nastavnik_id nastavnik_prezime ocjena

842 Ivan 1990 4103341025

Petrologija sedimenataHistorijska geologija I

038MPZ021GPZ

KovačićBucković

4, 3

863 Ana 1989 4103141033

Historijska geologija IIPetrologija sed.

021GPZ038MPZ

TomićKovačić

5, 5

... ... ... ... ... ... ... ...

Važan proces pri dizajniranju ralcijske baze podataka je NORMALIZACIJAkojim se podaci organiziraju tako da bi se smanjilo ponavljanje (redundancija)• Cilj normalizacije jest dekompozicija većih (glomaznih) relacija koje sadrže

anomalije pri čemu se izrađuju manje, dobro strukturirane relacije i definiraju njihove međusobne veze. Pri tome se žele izolirati određeni podaci tako da se npr. dodavanje, brisanje ili modifikacija određenog polja može izvršiti samo unutar jedne tablice, a putem definiranih veza se ta promjena propagira kroz ostatak baze

stud_id

stud_ime

stud_godiste

kolegij_id

naziv_kolegija

nastavnik_id

nastavnik_prezime

ocjena

kolegij_id

naziv_kolegija

nastavnik_id

nastavnik_prezime

ocjena

842 Ivan 1990 41033 Petrologija sedimenata

038MPZ

Kovačić 4 41025 Historijska geologija I

021GPZ Bucković 3

863 Ana 1989 41031 Historijska geologija II

021GPZ Tomić 5 41033 Petrologija sed.

038MPZ Kovačić 5

... ... ... ... ... ... ... ... ...

TABLICE, ali nisu RELACIJE!- Atributi nisu atomarni- Nekonzistentnost- Ponavljanje (redundancija)- Nespretno za upotrebu- Teško za održavanje

? !ILI

Upis Kolegija

?

Page 17: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

stud_id stud_ime stud_god kolegij_id kolegij_naziv nastavnik_id nastavnik_prezime ocjena

842 Ivan 1990 41033 Petrologija sedimenata 038MPZ Kovačić 4

842 Ivan 1990 41025 Historijska geologija I 021GPZ Bucković 3

863 Ana 1989 41031 Historijska geologija II 021GPZ Tomić 5

863 Ana 1989 41033 Petrologija sed. 038MPZ Kovačić 5

... ... ... ... ... ... ... ...

stud_id

stud_ime

stud_god

kolegij_id

kolegij_naziv nastavnik_id nastavnik_prezime ocjena

842 Ivan 1990 4103341025

Petrologija sedimenataHistorijska geologija I

038MPZ021GPZ

KovačićBucković

43

863 Ana 1989 4103141033

Historijska geologija IIPetrologija sed.

021GPZ038MPZ

TomićKovačić

55

... ... ... ... ... ... ... ...

PRVA NORMALNA FORMA1. Uklanjaju se višestruke vrijednosti atributa ili ponavljanja atributa (uvodi se

atomarnost!)2. Svaki redak mora imati atribut, ili skup atributa, čija vrijednost ga

jednoznačno identificira (primarni ključ!) - I dalje velika redudancija. Čak je povećana!- Anomalije i dalje prisutne!

TABLICA

! !

! !

Page 18: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

stud_id stud_ime stud_god kolegij_id kolegij_naziv nastavnik_id nastavnik_prezime ocjena

842 Ivan 1990 41033 Petrologija sedimenata 038MPZ Kovačić 4

842 Ivan 1990 41025 Historijska geologija I 021GPZ Bucković 3

863 Ana 1989 41031 Historijska geologija II 021GPZ Tomić 5

863 Ana 1989 41033 Petrologija sed. 038MPZ Kovačić 5! !PRIMARNI KLJUČ: Vrijednost koja jedinstveno identificira redak– može se sastojati od jednog atributa ili kombinacije nekoliko atributa– često se označava podcrtavanjem imena atributa

• Trenutno nam se primarni ključ sastoji od dva atributa, a pojedini ne-ključni atributi zavise samo o dijelovima tog ključa – takva djelomična funkcijska zavisnost nije poželjna!

• Drugim riječima, ako bilo koji od neključnih atributa može egzistirati bez jednog ili drugog dijela primarnog ključa (stud_id ili kolegij_id), naša relacija ne zadovoljava uvijete druge normalne forme

• Atribut stud_ime je funkcionalno zavisan o stud_id, jer poznavanjem vrijednosti stud_id jednoznačno znamo vrijednosti atributa stud_ime (za jednu vrijednost stud_id uvijek je vezana samo jedna vrijednost stud_ime)

• Međutim stud_ime nije zavisan o kolegij_id jer neki student nemora nužno imati upisan određeni kolegij – dakle trenutno gornja relacija ne zadovoljava uvijete druge normalne forme!

Page 19: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

kolegij_id kolegij_naziv nastavnik_id nastavnik_prezime

41033 Petrologija sedimenata 038MPZ Kovačić

41025 Historijska geologija I 021GPZ Bucković

41031 Historijska geologija II 021GPZ Bucković

stud_id stud_ime stud_god kolegij_id kolegij_naziv nastavnik_id nastavnik_prezime ocjena

842 Ivan 1990 41033 Petrologija sedimenata 038MPZ Kovačić 4

842 Ivan 1990 41025 Historijska geologija I 021GPZ Bucković 3

863 Ana 1989 41031 Historijska geologija II 021GPZ Tomić 5

863 Ana 1989 41033 Petrologija sed. 038MPZ Kovačić 5

DRUGA NORMALNA FORMA1. Identificiraju se sve funkcijske zavisnosti2. Izdvoje se svi atributi koji zavise samo o dijelu ključa u novu relaciju koja također sadrži

taj dio ključa3. U preostaloj relaciji ostaje čitavi ključ (i ako ih ima, preostali atributi koji su potpuno

zavisni o čitavom ključu)• Relacija se nalazi u drugoj normalnoj formi ako su svi neključni atributi potpuno funkcijski

zavisni o bilo kojem (mogućem) ključu relacije – postiže se dekompozicijomSmanjena redundancija i anomalije!

stud_id stud_ime, stud_godkolegij_id kolegij_naziv, nastavnik_id, nastavnik_prezimestud_id, kolegij_id ocjena

stud_id kolegij_id ocjena

842 41033 4

842 41025 3

863 41031 5

863 41033 5

stud_id stud_ime stud_god

842 Ivan 1990

863 Ana 1989

!!

! !

Page 20: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

kolegij_id kolegij_naziv nastavnik_id nastavnik_prezime

41033 Petrologija sedimenata 038MPZ Kovačić

41025 Historijska geologija I 021GPZ Bucković

41031 Historijska geologija II 021GPZ Bucković

stud_id kolegij_id ocjena

842 41033 4

842 41025 3

863 41031 5

863 41033 5

stud_id stud_ime stud_god

842 Ivan 1990

863 Ana 1989

TREĆA NORMALNA FORMA1. Izdvajaju se svi neključni atributi između kojih postoji funkcijska zavisnost u posebnu

relaciju2. U prvoj relaciji ostaje ključ i ostali atributi, koji o njemu tranzitivno ne ovise (npr. u

gornjoj tablici je nastavnik_prezime tranzitivno ovisan o kolegij_id)• Relacija se nalazi u trećoj normalnoj formi ako ni jedan neključni atribut nije tranzitivno

zavisan o bilo kojem ključu relacije (Svaki neključni atribut mora zavisiti o ključu, cijelom ključu i ni o čemu osim o ključu!)

kolegij_id kolegij_naziv, nastavnik_id, nastavnik_prezime

PROBLEM: Postoji zavisnost neključnog atributa o drugom neključnom atributu:nastavnik_id nastavnik_prezimešto čini funkcijsku zavisnost kolegij_id nastavnik_prezime redundantnim

kolegij_id kolegij_naziv nastavnik_id

41033 Petrologija sedimenata 038MPZ

41025 Historijska geologija I 021GPZ

41031 Historijska geologija II 021GPZ

nastavnik_id nastavnik_prezime

038MPZ Kovačić

021GPZ Bucković

Page 21: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

POSTOJI JOŠ RAZINA NORMALIZACIJE!

BOYCE-CODD normalna formaČetvrta normalna formaPeta normalna forma

Zahtjevaju razumjevanje znatno kompliciranijih vrsta zavisnosti!

stud_id kolegij_id ocjena

842 41033 4

842 41025 3

863 41031 5

863 41033 5

stud_id stud_ime stud_god

842 Ivan 1990

863 Ana 1989

kolegij_id kolegij_naziv nastavnik_id

41033 Petrologija sedimenata 038MPZ

41025 Historijska geologija I 021GPZ

41031 Historijska geologija II 021GPZ

nastavnik_id nastavnik_prezime

038MPZ Kovačić

021GPZ Bucković

Studenti Kolegiji

NastavniciOcjene

Page 22: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

stud_id kolegij_id ocjena

842 41033 4

842 41025 3

863 41031 5

863 41033 5

stud_id stud_ime stud_god

842 Ivan 1990

863 Ana 1989

kolegij_id kolegij_naziv nastavnik_id

41033 Petrologija sedimenata 038MPZ

41025 Historijska geologija I 021GPZ

41031 Historijska geologija II 021GPZ

nastavnik_id nastavnik_prezime

038MPZ Kovačić

021GPZ Bucković

Studenti Kolegiji

Nastavnici

Ocjene

Output

stud_id stud_ime stud_god kolegij_id kolegij_naziv nastavnik_id nastavnik_prezime ocjena

842 Ivan 1990 41033 Petrologija sedimenata 038MPZ Kovačić 4

842 Ivan 1990 41025 Historijska geologija I 021GPZ Bucković 3

863 Ana 1989 41031 Historijska geologija II 021GPZ Bucković 5

863 Ana 1989 41033 Petrologija sedimenata 038MPZ Kovačić 5

Relacijska algebra

! !

Page 23: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

23

Osnovni operatori: Selekcija

(Restrikcija) Projekcija Kartezijev produkt Unija Razlika

Operacije (Relacijska Algebra)

Dodatni, izvedeni operatori:• Spajanje• Vanjsko spajanje• Presjek

Page 24: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

24

Selekcija• Input: tablica R• Svrha: filtriranje redaka na temelju nekog

kriterija• Output: tabica sa istim stupcima kao kod R, ali

samo retci tablice R koji zadovoljavaju zadani uvijet

Primjer: Studenti sa prosjekom većim od 3.0

stud_id ime godiste prosjek

842 Ivan 1990 3.3

863 Ana 1989 4.6

834 Hrvoje 1986 2.9

845 Josipa 1989 3.3

864 Goran 1990 4.8

Output

stud_id ime godiste prosjek

842 Ivan 1990 3.3

863 Ana 1989 4.6

845 Josipa 1989 3.3

864 Goran 1990 4.8

σprosjek>3.0(Student)Student

Page 25: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

25

Projekcija• Input: tablica R• Svrha: odabir stupaca za output• Output: tabica sa istim retcima kao kod R, ali

samo zadani stupci tablice RPrimjer: Imena i prosjeci svih studenata

πime, prosjek(Student)

stud_id ime godiste prosjek

842 Ivan 1990 3.3

863 Ana 1989 4.6

834 Hrvoje 1986 2.9

845 Josipa 1989 3.3

864 Goran 1990 4.8

Output

Studentime prosjek

Ivan 3.3

Ana 4.6

Hrvoje 2.9

Josipa 3.3

Goran 4.8

Page 26: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

26

Ako se kod output tablice retci ponavljaju, duplikati se otklanjaju

• Primjer:

stud_id ime godiste prosjek

842 Ivan 1990 3.3

863 Ana 1989 4.6

834 Hrvoje 1986 2.9

845 Josipa 1989 3.3

864 Goran 1990 4.8

π godiste(Student)

Output

godiste

1990

1989

1986

1989

1990

godiste

1990

1989

1986

Student

U relaciji ne postoje dva jednaka retka, ni stupca!

Page 27: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

27

Unija• Input: dvije tablice R i S sa istim stupcima• Svrha: filtriranje redaka na temelju nekog kriterija• Output: tabica sa svim retcima iz R i svim retcima iz S, pri cemu

se duplikati eliminiraju• Primjer:

Razlika• Input: dvije tablice R i S sa istim stupcima• Svrha: filtriranje redaka na temelju nekog kriterija• Output: tabica sa svim retcima iz R koji se ne nalaze u S• Primjer:

stud_id ime

842 Ivan

863 Ana

stud_id ime

863 Ana

834 Hrvoje

845 Josipa

U

stud_id ime

863 Ana

834 Hrvoje

845 Josipa

842 Ivan

Output

stud_id ime

842 Ivan

863 Ana

stud_id ime

863 Ana

834 Hrvoje

845 Josipa

- Output

stud_id ime

834 Hrvoje

845 Josipa

Page 28: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

28

Kartezijev produkt• Input: dvije tablice R i S• Svrha: uparivanje redaka iz dviju tablica• Output: tablica koja se sastoji od redaka nastalih

spajanjem svakog retka tablice R i svakog retka tablice S

Primjer: Student X Kolegij

stud_id ime godiste prosjek

842 Ivan 1990 3.3

863 Ana 1989 4.6 Output

Studentkolegij_id naziv nastavnik

5053 Mikrofiziografija stijena D. Balen

5042 Metode paleontološkihistraživanja

V. Čosović

Kolegij

stud_id ime godiste prosjek kolegij_id naziv nastavnik

842 Ivan 1990 3.3 5053 Mikrofiziografija stijena D. Balen

842 Ivan 1990 3.3 5042 Metode paleontoloških istraživanja V. Čosović

863 Ana 1989 4.6 5042 Metode paleontoloških istraživanja V. Čosović

863 Ana 1989 4.6 5053 Mikrofiziografija stijena D. Balen

X

Page 29: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

29

Modeliranje podataka proces je koji počinje analiziranjem zahtjeva na informacijski sustav, a završava izgradnjom baze podataka

Ciljevi dobrog modeliranja podataka jesu:a) Dokumentiranje informacijskih zahtjevab) Izgradnja baze podataka koja ima

• Minimalnu redundanciju• Maksimalnu integriranost i konzistentnost podataka• Odgovarajuću stabilnost (struktura baze podataka ne mjenja se izgradnjom

novih aplikacija) i fleksibilnost (struktura baze podataka lako prihvaća promjene informacijskih procesa)

• Dobar pristup i iskoristivostc) Povećanje vrijednosti podatkovnih resursa

Planiranje baze podataka

Page 30: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

30

Opis baze podataka se zorno prikazuje shemom ANSI/SPARC (American

National Standard Institute/Standards Planning and Requirement Committee) definira tri sheme:• Konceptualna shema• Vanjska shema (korisnički

pogled)• Unutarnja (fizička) shema

Page 31: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

31

• Osnova dobro oblikovane baze podataka su dobro razrađen konceptualni, logički i fizički model podataka. Ti modeli sadrže metapodatke (podatke o podacima) kojima je opisana struktura stvarnih podataka

Postupak modeliranja podataka:1. Opis objekata, njihovih

atributa i odnosa nazivamo konceptualnim modelom podataka

2. Zatim treba, u skladu s izrađenim konceptualnim opisom, odrediti raspored podataka u datotekama odnosno tablicama – logički ili implementacijski model podataka

3. Konačno, mora se odrediti gdje će se podaci nalaziti na fizičkom mediju i kako ćemo im pristupati – fizički model podataka

Page 32: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

32

Konceptualno modeliranje podataka: Pri oblikovanju podataka informacijskog sustava potrebno je ustanoviti

(prostorne) objekte, odrediti atribute čije ćemo vrijednosti bilježiti, te ustanoviti međusobnu povezanost objekata

Model Entitet-vezaEntitet (Objekt) – stvarna ili apstraktna posebnost, koncept ili objekt od interesa koji se od okolice razlučuje svojim obilježjima; fenomen opisan nizom atributaKlasa (ili tip) entiteta – skup sličnih entiteta koje karakterizira jednaki set atributa (ono po čemu se entiteti unutar klase međusobno razlikuju jesu vrijednosti tih atributa) – označava se pravokutnikom

Student842, Ivan, 1990, 3.3

kod

ime

Entitet

Klasa entiteta

Vrijednosti atributa

Atributi

godi

šte

pros

jek

Page 33: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

33

Atributi su svojstva entiteta – označavaju se ovalimaVeza odražava asocijaciju između entiteta – označavaju se rombovima

Primjer grafičkog prikaza konceptualne sheme:

Student KolegijUpisi

Kolegija

Stud_id

ImeKolegij_id

Naziv

NastavnikGodište

ProsjekOcjena

Logički modelFizički model

Page 34: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

34

Tipovi veza: 1:1 jedan prema jedan

1:M jedan prema više

M:M više prema više

OdjelRadnik

KapetanBrod

KolegijStudent

Page 35: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

35

Projektant baze podataka: razrađuje konceptualnu shemu kojom se modeliraju neki aspekti stvarnog svijetaProjektant aplikacija: izrađuje korisničke aplikacije prema konceptualnoj shemi

Administrator baze podataka: load-a, backup-ira i restore-a podatake, optimizira unutarnju bazu za što bolji rad (ima pristup unutarnjem pogledu na bazu)

Korisnik: šalje upite na bazu podataka, unosi nove podatake u bazu putem korisničkih aplikacija (ima pristup vanjskom pogledu na bazu)

Osobe povezane sa bazom podatakaViše razina

Page 36: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

36

Stvarni svijet

Digitalni model

GIS software-i podržavaju i prostorne i atributne podatke

PROSTORNI PODACI

ATRIBUTNI PODACI

Page 37: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

37

• Podržavaju tablične podatke, međutim ne pružaju uvijek dovoljnu podršku za relacijsku strukturu i upite

• Često podržavaju uspostavljanje veze sa vanjskom bazom podataka (npr. Oracle, IBM DB2, PostgreSQL...)

• Neki software-i (npr.ESRI ArcGIS) imaju ugrađene sposobnosti DBMS, tako da je moguće izabrati da li podatke spremati unutar GIS-a ili vanjskog DBMS

Page 38: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

38

Svaki vektorski objekt (točka, linija, poligon) imaju jedinstveni identifikator (ID) preko kojeg se povezuje sa svojim atributnim podacima u atributnoj tablici

Isto tako, svaka čelija rastera može imati jedinstveni identifikator preko kojeg se povezuje sa atributnim podacima u atributnoj tablici

Osnovni način povezivanja prostornih i atributnih podataka u GIS-u:

Page 39: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

39

Prostorna baza podataka (Spatial database)• Omogućuje spremanje, upite i manipulaciju prostornih

podataka

• Omogućuje spremanje prostornih (geometrijskih) podataka u posebnom stupcu/atributu (često nazvan geometry, feature ili shape column, ovisno o software-u)

• Prostorna baza podataka se razlikuje od standardne relacijske baze i po tome što podržava dodatne alate za prostorne upite i analizu geometrijskih podataka (npr. računanje udaljenosti, preklapanje podataka na temelju njihove lokacije, konverzije koordinata...itd.)

Page 40: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

40

Primjer: ESRI Geodatabase• Baza podataka dizajnirana za pohranjivanje, stvaranje upita i manipulaciju

geografskih informacija i prostornih podataka

• Optimizirana za 2 do 3 dimenzije, rasterske podatke i euklidske udaljenosti

• ESRI Geotadabase: “The geodatabase is a collection of geographic datasets of various types used in ArcGIS and managed in either a file folder or a relational database. It is the native data source for ArcGISand is used for editing and data automation in ArcGIS.”

Page 41: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

Ferić, P. (2010). Geološki informacijski sustav – GEOLIS. Kartografija i geoinformacije, 9 (13), 94-100.

Page 42: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura

Ferić, P. (2010). Geološki informacijski sustav – GEOLIS. Kartografija i geoinformacije, 9 (13), 94-100.

Page 43: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura
Page 44: Baze podataka - pmf.unizg.hr · 11. Relacijske baze podataka • Podaci se nalaze u relacijama, odnosno u manjem ili većem broju “tablica” • Jednostavna ali fleksibilna struktura