Upload
zana-korac
View
229
Download
10
Embed Size (px)
DESCRIPTION
baza podataka
Citation preview
UVOD U BAZE PODATAKA
INFORMACIJA I PODATAK
Podatak je zapis (skup prepoznatljivih znakova) na nekommediju (papiru, disku ...).
Podatak je "sirov", neobraena injenica, niz znakova,slika, koncept ili instrukcija.
Kada se podaci obrauju, daje im se odreeno znaenje ipostaju informacije.
Npr. Ana, 25 su podaci. Meutim, kaemo li "Ana ima 25godina" dali smo znaenje podacima, odnosno dobili smoinformaciju.
INFORMACIJA I PODATAK
Informacija nastaje tako da se podacima pridaju znaenja. Informacija predstavlja interpretirani podatak.
Elementarna informacija je opis jednog obiljeja
odreenog objekta.
Npr. u reenici "Ana je roena 21.3.1984" Ana je objekt promatranja, ije je promatrano obiljeje datum roenja, a vrijednost mu je 21.3.1984.
BAZA PODATAKA
Baza podataka je organizirani skup meusobnopovezanih srodnih podataka o jednom ili vie predmeta (subjekata).
To moe biti telefonski imenik, adresar, radnici u jednom poduzedu, studenti, uenici u koli ili razredu itd.
To je skup podataka koji se odnose na odreene objekte, namjene i dogaaje.
SUBP
Sustav za upravljanje bazom podataka (SUBP) je
programska podrka koja omoguduje rad s bazom
podataka.
To je skup programa koji korisnicima omogudava
stvaranje, koritenje i odravanje baze/baza podataka.
SUBP
Danas postoji nekoliko DBMS-a:
- DB2: proizvod tvrtke IBM, namijenjen velikim mainframe-raunalima.
- Oracle: proizvod istoimene tvrtke, pokriva gotovo sve raunalne platforme, npr. UNIX, Linux i MS Windows.
- MS SQL Server: Microsoftov proizvod, namijenjen posluiteljskim raunalima s operacijskim sustavima MS Windows.
- MySQL: Besplatan proizvod tvrtke MySQLAB, popularan na raznim platformama, prije svega kao podrka web-aplikacijama.
Relacijske baze podataka
Osnovni dio svake baze podataka je tablica
Podaci se unose u tablice. Jedna tablica je skup podataka koji imaju neto zajedniko, a to "zajedniko" je onda subjekt (entitet, objekt) te tablice po kojem obino imenujemo tablicu (npr. Mjesto, Student, ).
Podatke smjetamo u tablice u koje oni logiki pripadaju:radnike demo smjestiti u tablicu "Radnik", a podatke o odjelima u tablicu "Odjel" te uspostaviti vezu izmeu tablica.
BAZE PODATAKA
Baze podataka imaju mogudnost uspostave meusobnih veza izmeu pojedinih tablica relacijska baza podataka.
Relacijska baza podataka sadri vie tablica koje su meusobno povezane. SUBP sprema informacije o njihovom meusobnom odnosu. Pri tom korisnik ne mora razmiljati gdje su tono spremljeni podaci koji ga zanimaju, jer se o tome brine SUBP.
Modeliranje podataka
Definicija ENTITETA
Modeliranje podataka zahtjeva da svijet promatramo preko:
- entiteta: stvari, bia, pojave ili dogaaji koji su nam od interesa
- atributa: svojstva entiteta ili veza koja su nam od interesa
Primjer: Entitet KUA ima atribute ULICA, KUNI BROJ, BROJ KATOVA, BOJA FASADE
Entitet STUDENT ima atribute
JMBG, PREZIME, IME, GODINA STUDIJA
Definicija ENTITETA
Entitet je stvar, objekt, od znaaja, realan ili
imaginaran za koji je potrebno poznavati i uvati
odreene informacije.
bilo to, to ima sutinu ili bit
Definicija ENTITETA
posjeduje znaajke s pomou kojih se moe
razluiti od svoje okoline
osoba (student, djelatnik, stanovnik student
Horvat Ivan)
objekt iz stvarnog svijeta (mjesto, stroj, zgrada -
npr. Zgrada FFMO-a)
Naziv entiteta se pie velikim slovima u jednini
sifra
naziv
adresa
mjesto
KUPAC ENTITET
Definicija ENTITETA
Definicija atributa
Atribut je svaki detalj koji slui da poblie
odredi, identificira, klasificira, kvantificira ili
izrazi stanje entiteta.
Predstavlja opis entiteta
sifra
naziv
adresa
mjesto
KUPAC
ATRIBUTI
Entitet i atributiprema vrstama modela
KLJU (key)
Klju je skup atributa (obiljeja, svojstava) ije vrijednosti omoguduju jednoznano identificiranje svakog sloga (retka) tablice.
Npr. matini broj omoguduje identificiranje svake
pojedinane osobe u tablici OSOBA. Isto vrijedi i za
kombinaciju imena, prezimena i matinog broja. To ne
vrijedi za kombinaciju imena i prezimena (ona nije klju), jer ima vie osoba koje se jednako zovu.
PRIMARNI KLJU
Svaka tablica (relacija) mora imati svoj primarni klju (Primary Key). Klju koji jedinstveno odreuje n-torku unutar relacije.
Entitet
Atributi
STUDENT
PK Broj_indeksa
Ime_prezime
Adresa
Tel_broj
Primjer 2.
Prilikom svakog izvlaenja igara na sredu imamo vie dobitaka. Svaki dobitak ima svog dobitnika. Moe se dogoditi da je vie dobitaka upladeno u istoj podrunici.
PRIMARNI KLJU
Primarni klju mora zadovoljiti dva uvjeta:
Jedinstvenost: jedinstven u itavoj tablici, nemamo dva ista.
Minimalnost: da se ostali podaci iz tog reda ne ponavljaju u nekom drugom redu jer bi dolo do ponavljanja podataka, to treba izbjedi
Primjer br. 2 - Izdavanje knjiga u knjinici
Studentska knjinica nastoji voditi raunalnu evidenciju o izdavanju knjiga. Za to je potrebno imati podatke o lanovima knjinice, knjigama, autorima i izdavaima knjiga.
IZDAVANJE
KNJIGA
CLAN
# sifra_izdavanja
datum_izdavanja
datum_vracanja
# clanski_broj
ime
prezime
adresa
telefon
datum_uclanjenja
# sifra_knjige
naziv
zanr
broj_primjeraka
godina_izdanja
IZDAVAC
# sifra_izdavaca
izdavacka_kuca
sjediste
godina_osnivanja
2.
Zadatak 3. Voenje teaja
kola za obrazovanje ima nekoliko tipova teajeva o kojima vodi slijedede podatke:
- kratica i naziv teaja
- opis i trajanje teaja
Jedan tip teaja moe se odrati vie puta, s razliitim datumom poetka, lokacijom odravanja i maksimalnim brojem polaznika.
O polazniku teaja se vode slijededi podaci:
- matini broj
- ime, prezime
Polaznik moe polaziti vie teajeva, a za svaki se biljei datum prijave za teaj.
Agencija za iznajmljivanje limuzina "Limko" posjeduje vie marki limuzina.
Za svaku limuzinu biljei i njenog proizvoaa da bi se znalo koje sve limuzine je proizveo koji proizvoa.
Da bi klijent iznajmio limuzinu dovoljno da doe u
predstavnitvo i sve se definira potpisivanjem ugovora o
iznajmljivanju. Njime se vri rezervacija limuzina za odreeni datum.
Nakon odlaska klijenta voditelj poslovnice odreuje vozaa
za taj dan koristei se postojeim rasporedom vonji. Za sve
vozae agencija biljei kad je polagao vozaki ispit te
podatke o auto koli koja ga je obuavala.
Zadatak 4.
U krojakom salonu Modea postoji veliki broj materijala za ivanje. Od jednog materijala se moe nainiti vedi broj krojeva (ivanja). Najpopularniji model haljine je Eli i on zahtjeva veliki broj ivanja. Ukoliko je korisnik zadovoljan uslugama salona dodi de ponovno saiti haljinu.
Zadatak 5.
BAZE PODATAKA
Baze podataka imaju mogudnost uspostave meusobnih veza izmeu pojedinih tablica relacijska baza podataka.
Relacijska baza podataka sadri vie tablica koje su meusobno povezane. SUBP sprema informacije o njihovom meusobnom odnosu. Pri tom korisnik ne mora razmiljati gdje su tono spremljeni podaci koji ga zanimaju, jer se o tome brine SUBP.
PRIMARNI KLJU ; VANJSKI KLJU
Vanjski klju atribut ili skup atributa unutar jedne relacije koji odgovara kandidat kljuu neke, mogude iste, relacije. Vanjski kljuevi omoguduju povezivanje n-torki iz razliitih tablica.
Primarni klju ; Vanjski klju
U tablici RADNIK atribut R.b. (redni broj) je primarni klju, dok je
atribut Sifra_odjel strani klju (Foreign Key) i omoguduje
uspostavljanje veze s novom relacijom koju moemo nazvati
ODJEL, strani klju Sifra_odjel postaje primarni klju nove relacije.
Primarni klju ; Strani klju
Preslikavanje ER modela u relacije
VEZA JEDAN: MNOGO
Primarni klju entiteta sa strane veze JEDAN doda se kao strani klju u entitet sa strane veze VIE
VEZA MNOGO: MNOGO
Doda se novi entitet, koji sadri primarne kljueve obaju rubnih entiteta.
Ti atributi zajedno tvore sloeni primarni klju novonastalog entiteta.
Razbijanje M:N veza
Veza m:n u ER modelu se moe razbiti uvoenjem novog posrednikog entiteta.
Primjer
Vezu vie na vie moemo razbiti uvoenjem entiteta najam,koji sadri atribut datum_najma
Preslikavanje ER modela u relacije
VEZA JEDAN:VIE
Primarni klju entiteta sa strane veze JEDAN doda se kao strani klju u entitet sa strane veze VIE.
VEZA VIE:VIE
Doda se novi entitet, koji sadri primarne kljueve obaju rubnih entiteta.
Ti atributi zajedno tvore sloeni primarni klju novonastalog entiteta.
Zadatak Studenti svake akademske godine upisuju godinu
studija. Pritom biraju neke od ponuenih izbornih predmeta tako da zbroj njihovih ECTS-bodova u svakom semestru bude 30. Predmeti moraju biti izabrani najkasnije do 15. rujan. Fakultet je organiziran u zavode. Svaki nastavnik lan je tono jednog zavoda. Svake akademske godine zavod nudi nekoliko izbornih predmeta za studente i osigurava nastavnike koji e predavat te predmete. Pritom svaki predmet ima smo jednog nastavnika. Na kraju akademske godine fakultet pohvaljuje studente koji su postigli najbolje ocjene iz pisanih predmeta.
Zadatak
Analizom ovih reenica otkrivamo sljedede entitete, veze i atribute.
Tipovi entitet su: STUDENT, PREDMET, NASTAVNIK, ZAVOD. Veze: UPISAO izmeu STUDENT i PREDMET,
PRIPADA izmeu NASTAVNIK i ZAVOD, NUDI izmeu ZAVOD i PREDMET, PREDAJE izmeu NASTAVNIK i PREDMET.
Atributi su: (studentova) GODINA STUDIJA, IME, PREZIME, JMBAG,za predmet: IFRA PREDMETA, SEMESTAR, ECTS-BODOVI, DATUM UPISA, OCJENA, za zavod: IME ZAVODA, OPIS DJELATNOSTI, za nastavnika: PLADA, OIB, IME, PREZIME, BROJ SOBE.
Rjeenje
Zadatak
Da bi prijavio ispit student mora ispuniti osnovne podatke na prijavnici (datum prijave, ocjena), podatke o studentu (ime, prezime, datum roenja, jmbg) te podatke o predmetu (ifra, naziv predmeta).
ER?
Relacijski model?
ER
Relacijski model
Zadatak 5.
Faktura je dokument koji se alje kupcu kako bi mogao izvriti pladanje kupljene robe. Da bi se napravila faktura moraju postojati osnovni podaci o kupcu, podaci o fakturi , kao i podaci o kupljenim artiklima
Faktura se sastoji i od Stavke fakture s pojedinanim artiklima, koliinama i cijenama.
Definirati sve entitete, atribute i veze za proces Fakturiranja kupcima.
Zadatak 6.
Profesionalni programer Marko Markovi odluio je napraviti program za evidentiranje svojih kreditnih kartica koje ukljuuje i praenje trokova, odnosno utroka novca po osnovu plaanja karticama. Raunalno praenje kreditnih kartica ukljuuje slijedee korake:
popis svih kartica koje se koriste to podrazumijeva evidentiranje naziva kartice, banke koja je izdala karticu, roka do kojeg kartica vrijedi, ogranienja (limita) po karticama i sl.
kategoriziranje po nainu koritenja (meunarodne, samo domae, samo za odreene trgovine i sl.)
za svako plaanje po kartici evidentirati iznos, datum i opis plaanja
za svaku izvrenu uplatu na karticu evidentirati iznos, datum uplate i opis.
Zadatak
Sveuilite treba napraviti bazu podataka za evidentiranje razliitih meunarodnih projekata. Za svaki projekt treba imati podatke o nazivu projekta, datumu poetka i svretka projekta, vrijednosti projekta u eurima, vrsti projekta (TEMPUS, FP7, Eureka, Vijede Europe, CARD ...). Takoer je nuno evidentirati tko financira projekt (naziv donatorske institucije, sjedite, drava), tko je koordinator projekta ispred sveuilita (ime, prezime, titula, funkcija, fakultet...). Na projektu, pored koordinatora, uestvuje vedi broj nastavnika sa sveuilita i potrebno je evidentirati za svaki projekt tko uestvuje u njemu (ime, prezime, titula, funkcija, fakultet...).
Napraviti model podataka s pripadajudim entitetima, atributima i vezama izmeu entiteta.
ER
Zadatak
Na fakultetu su evidentirani podaci o kandidatima koji su se prijavili na razradbeni ispit i njihovim rezultatima. Evidentiraju se podaci o:
- kandidatu (JMBG, ime, prezime, mjesto roenja) zavrena srednja kola (ifra, naziv, adresa), mjesto (potanski broj mjesta), opdina (ifra opdine i naziv opdine u kojoj se kola nalazi)
- za svakog kandidata ocjena iz pojedinih predmeta iz srednje kole (ifra i naziv predmeta, razred i ocjena). ifra odreuje predmet u nekom razredu (godini), npr. Matematika u 1.razredu i Matematika u 2. razredu imaju razliite ifre. Isti predmeti u razliitim kolama imaju istu ifru npr. Matematika iz 1.razreda ima istu ifru za sve kole
- podaci o zadacima na razradbenom ispitu redni broj zadatka, tekst zadatka, toan odgovor (A, B, C, D ili E)
- za svakog kandidata odgovori koje je dao na zadatke (odgovor za svaki pojedini zadatak mogu biti A, B, C, D, E ili nita).
Zadatak 7. U bazi podataka potrebno je evidentirati podatke o zrakoplovima,
aerodromima i letovima. Zrakoplov je identificiran svojim jedinstvenim registracijskim brojem
(npr. N6061U). Za zrakoplov se evidentiraju godina proizvodnje i tip zrakoplova.
Za svaki tip zrakoplova evidentira se ifra tipa i naziv tipa zrakoplova (npr. ifra: 123, naziv tipa: "Airbus-A319") te najveda ukupna dozvoljena teina pri polijetanju.
Za svaki aerodrom se evidentira ifra i naziv aerodroma. Zrakoplov prema namjeni moe biti ili putniki ili teretni (jedno
iskljuuje drugo). Za svaki pojedini zrakoplov, ovisno o njegovoj namjeni, evidentira se je li u zrakoplov ugraena dodatna oprema: za svaki pojedini putniki zrakoplov evidentira se ima li ugraenu internu televiziju, ima li ureaj za satelitsku komunikaciju, a za svaki pojedini teretni zrakoplov broj dodatno ugraenih klimatiziranih kontejnera za prijevoz ivotinja i je li ugraen katapult za izbacivanje tereta padobranom.
Nastavak Evidentiraju se letovi samo putnikih zrakoplova. Let je
identificiran ifrom i datumom leta (npr. "OU763", 1.6.2001), a za let se evidentira s kojeg aerodroma zrakoplov polijede, na koji aerodrom slijede te vrijeme polijetanja i vrijeme slijetanja. Evidentira se koji zrakoplov leti na kojem letu.
Evidentiraju se kategorije cijena karata. Svaka kategorija cijena ima svoju ifru (jedinstveno identificira kategoriju) i naziv (npr. "poslovna", "ekonomska", "s popustom za zaposlenika kompanije", "s popustom za osobe mlae od 27 godina", itd).
Putnik kupuje kartu tono odreene kategorije cijene za odreeni let. Putnik ne moe za jedan let kupiti vie od jedne karte. Za svakog putnika se evidentira jmbg (jedinstveno odreuje putnika), prezime i ime.