Professional Documents
Culture Documents
Definicija i osnovni pojmovi baza podataka Entitet, svojstvo Relacijski model baza podataka Programi za upravljanje s bazama podataka Veze meu entitetima Modeliranje podataka
Baza podataka
Baza podataka je meusobno povezani skup podataka. Razlikujemo bazu podataka od programa za upravljanje bazom podataka! Program za upravljanje bazom podataka (Database Management System, DBMS) podrazumijeva da su podaci na neki organizirani nain pohranjeni u obliku dostupnom programu.
Model podataka se stvara i mijenja sve dok ne predstavlja poslovne procese dovoljno dobro da se na osnovu modela moe napraviti baza podataka
Predavanje 01 - Baze podataka 4
Relacijski model
Podaci su organizirani u tablicama. Svaka tablica predstavlja (najee) neki objekt (proizvod, tvrtku, zaposlenika) ili dogaaj (transakciju, raun). Objekt/dogaaj koji je predstavljen u tablici zovemo entitet. Entitet ima svoja svojstva (atribute). Svako svojstvo treba biti nekog tipa podataka. Objekt opisuje neku pojavu, stvar, osobu. Dogaaj naelno opisuje vezu izmeu dva 01 - Baze podataka ili vie entiteta (uglavnom Predavanje objekata).
Primjer 1.
Primjer 2.
Za slijedee entitete odredite vrstu (objekt/dogaaj) Igrai Stadioni Utakmice Klub Treneri
Primjer 3.
U prethodnom zadatku je spomenut entitet Uenik. Navedite neka svojstva tog entiteta i odredite im tip podataka! Naziv uenika (T) Ime roditelja (T)
Primjer 4.
elimo napraviti bazu podataka u kojoj e meu ostalim entitetima biti i entitet Grad koji e sadravati podatke o gradovima u Europi. Navedite neka svojstva tog entiteta i odredite im tip podataka! Naziv (T) Luki grad (Y/N)
Broj stanovnika (N) Proraun (C) Drava (T) Pokrajina/upanija/oblast (T) Broj automobila (N) Broj mostova (N) itd.
Predavanje 01 - Baze podataka 10
Primjer 4.
elimo napraviti bazu podataka u kojoj e meu ostalim entitetima biti i entitet Raun, koji e sadravati podatke o raunima koje neka tvrtka izdaje Pretpostavite da se raun izdaje samo za jednu vrstu proizvoda!
PDV (C) Broj rauna (T ili N) Datum izdavanja rauna (D/T) Tko izdaje raun (osoba) (T) Nain plaanja (T) Raun plaen (Y/N)
Predavanje 01 - Baze podataka 11
Naziv robe (T) Naziv kupca (T) Koliina (N) Jedinina cijena (C) Ukupna cijena (C)
U jednom retku tablice drimo sve podatke o konkretnoj realizaciji jedne instance (primjerka) entiteta. Kolona u tablici sadri podatke o nekom svojstvu za sve entitete. Redak tablice zovemo zapis (record). Kolonu tablice zovemo polje (field) Meu poljima treba postojati jedno polje koje na jedinstven nain odreuje zapis. To polje zovemo primarni klju
Predavanje 01 - Baze podataka 12
Redak koji opisuje Zagreb Kolona u kojem su navedni nazivi gradova (polje Naziv)
Zadatak:
Primjer
Zadani su entiteti Uenik, Predmet, Profesor, kola. Utvrdite veze izmeu onih entiteta izmeu kojih postoji direktna veza!
Predmet Profesor
- kola - kola
jedan - vie
Predavanje 01 - Baze podataka 17
Primjer
Zadani su entiteti
Drava drave u Europi Grad svi gradovi sa vie od 100000 stanovnika u Europi Glavni grad glavni gradovi europskih drava Jezik svi slubeni jezici u europskim dravama
Vrste veze
Drava Drava Drava Grad - Grad - Glavni grad - Jezik - Jezik jedan-vie jedan-jedan vie-vie ne postoji ne postoji
ne postoji
Izmeu entiteta Jezik i Grad, te Jezik i Glavni grad ne postoji direktna veza ve se ona realizira preko Drave!
Predavanje 01 - Baze podataka 19
Veza 1-1
Izmeu entitet Drava i Glavni grad Drava ima tano jedan glavni grad, a glavni grad pripada tano jednoj dravi Realizacija veze: sva tri naina su mogua, ovisi o konkretnoj situaciji u bazi Prikazat emo realizaciju uklapanjem.
20
Drava
Drava
Naziv drave Stanovnika Veliina Ureenje Naziv Ggrada Broj stanovnika
Glavni grad
Naziv Ggrada Broj stanovnika
Veza 1-
Izmeu entiteta Drava i Grad Drava ima vie gradova, a grad pripada tano jednoj dravi. Realizacija veze: ili umetanjem primarnog kljua ili novom tablicom Umetanje primarnog kljua: imamo entitete A i B. Neka jednom zapisu entiteta A moe odgovarati vie zapisa entiteta B, a jednom zapisu entiteta B odgovara tano jedan zapis entiteta A. Tada meu atribute eniteta B umeemo primarni klju entiteta A!
Drava
Grad
Naziv grada Broj stanovnika Naziv drave
Umetnuti primarni klju entiteta Drava
Predavanje 01 - Baze podataka 23
Grad
Naziv grada Broj stanovnika
Veza -
Izmeu entiteta Drava i Jezik U dravi se moe govoriti vie jezika, a jedan jezik se moe govoriti u vie drava. Realizacija veze: novom tablicom Nova tablica treba imati svoj primarni klju, sadravati primarne kljueve Drave i Jezika, te eventualna dodatna svojstva
24
25
Svaka tablica treba imati primarni klju Izbjegavati nepotrebno ponavljanje podataka
27
Loe ...
Vie podataka u jednoj eliji
U tablici imamo podatke o dva entiteta, Zaposlenik i Odjel, tablicu treba razbiti na dvije. Koja je veza izmeu Zaposlenik i Odjel?
Bolje ...
Jo bolje ...
30
32
Primjer
elimo napraviti model podataka za videoteku. Potrebno je pratiti podatke o lanovima, o filmovima te o posudbama koje lanovi rade. Zbog jednostavnosti pretpostavljamo da lanovi posuuju jedan film. Takoer, treba znati koji je djelatnik posudio film. Za film se treba znati kojeg je anra da bi filmove mogli sloiti na police, te da li je vraen ili ne. Pretpostavljamo da imamo tonu jednu kopiju filma. Napravite model!
Entiteti i veze
Entiteti lan podaci o lanovima Film podaci o filmovima Posudba podaci o posudbi Djelatnik podaci o djelatniku
Film
- Posudba
1-
1-
Predavanje 01 - Baze podataka 34
Djelatnik - Posudba
Svojstva
lan
ifra lana (T) Ime i prezime (T) Adresa (T) Broj telefona (T) Napomena (M)
Posudba
ifra posudbe (AN) ifra lana (T) ifra filma (N) Id djelatnika (N) Datum (D/T) Cijena (C) Film vraen (Y/N)
Film
ifra filma (AN) Naziv filma (T) anr (T)
U raznim tablicama povezujemo polja koja imaju isto znaenje. Ta polja trebaju biti istog tipa. Izuzetak je polje tipa Autonumber koji se povezuje s poljem tipa Number u drugoj tablici!
Djelatnik Id djelatnika (AN) Ime i prezime (T) Adresa (T) Broj telefona (T) Napomena (M)
35
Nove elje
elimo omoguiti lanovima videoteke da mogu dobiti popis filmova u kojima nastupa njihov omiljeni glumac. Koje preinake (dodavanje novih entiteta, dodavanje novih svojstava postojeim entitetima) treba napraviti?
36
Novi model
lan
ifra lana (T) Ime i prezime (T) Adresa (T) Broj telefona (T) Napomena (M)
Posudba
ifra posudbe (AN) ifra lana (T) ifra filma (N) Id djelatnika (N) Datum (D/T) Cijena (C) Film vraen (Y/N)
Djelatnik Id djelatnika (AN) Ime i prezime (T) Adresa (T) Broj telefona (T) Napomena (M)
Glumac Film
ifra filma (AN) Naziv filma (T) anr (T)
GlumacFilm
Id (AN) ifra filma (N) Id glumca (N)
Id glumca (AN) Ime i prezime (T) Godina ro. (N) Nagrade (M)
37
Novo proirenje...
Prethodni model je napravljen uz pretpostavku da lan posuuje tano jedan film. Meutim, u praksi lanovi mogu posuditi vie filmova. Prepravite model tako da omogui i taj sluaj!
38
Novi model
Tablice lan, Djelatnik, Glumac, GlumacFilm ostaju iste kao u prethodnom modelu
Stavka
Posudba
ifra posudbe (AN) ifra lana (T) Id djelatnika (N) Datum (D/T) Cijena (C)
Film
ifra filma (AN) Naziv filma (T) anr (T)
Id stavka (AN) ifra filma (N) ifra posudbe (N) Film vraen (Y/N)
39
Posljednji model
lan ifra lana Ime i prezime Adresa Broj telefona Napomena Glumac Id glumca Ime i prezime Godina ro. Nagrade
Posudba ifra posudbe ifra lana Id djelatnika Datum Cijena Film ifra filma Naziv filma anr
GlumacFilm Id ifra filma Id glumca
40