Your SlideShare is downloading. ×
Wp predavanje rbp
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Wp predavanje rbp

96
views

Published on

World Wide Web (Web) je svjetska mreža računala s izvorima (engl. resources) digitalne informacije. S obzirom na raznolikost digitalne informacije: tekst, slika, zvuk, video, program i dr. govorimo …

World Wide Web (Web) je svjetska mreža računala s izvorima (engl. resources) digitalne informacije. S obzirom na raznolikost digitalne informacije: tekst, slika, zvuk, video, program i dr. govorimo općenito o izvoru informacije ili WEB dokumentu. WEB programiranje se oslanja na tri mehanizma koja čine ove izvore dostupnima najširoj svjetskoj javnosti:
1.
Jedinstvena shema imena za traženje (lociranje) izvora na mreži.
2.
Protokoli za pristup informaciji preko WEB-a, kao što je npr. HTTP protokol. Protokoli su skup standardizirane informacije za prijenos digitalnog sadržaja preko mreže.
3.
Hipertekst (engl. Hypertext) za jednostavnu navigaciju između informacijskih izvora, kao što je na primjer HTML (hypertext markup language).
Svaki izvor informacije na WEB-u (HTML ili XML dokument, slika, video, program i sl.) ima jednoznačnu adresu koja se dekodira preko URI-a (Universal Resource Identifier). URI se sastoji od tri dijela:
1.
Protokola pristupa izvoru (npr. http, ftp, mailto i sl.)
2.
Imena stroja na kojem se izvor informacije nalazi (npr. www.fsb.hr).

3.
Punog imena izvora zadanog stazom (engl. path).
URI ima različite uloge: povezivanje mjesta unutar istog dokumenta, povezivanje različitih dokumenata, dohvaćenje slika, objekat

Published in: Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
96
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Web programiranje i primjene Relacijske baze podataka deseto predavanje 11. svibnja 2010.
  • 2. Relacijske baze podataka Definicija • baza podataka • skup podataka koji je organiziran tako da se podacima može brzo i jednostavno pristupiti, uređivati ih i ažurirati • relacijska baza podataka • skup relacija koje nazivamo tablicama čijem se sadržaju (tj. podacima) pristupa kreiranjem preciznih upita temeljenih na zajedničkim obilježjima podataka • prednost - rezultirajući skup podataka je organiziran, jasan i jednostavan za daljnje korištenje • primjer - podaci o studentima u referadi; podaci o prodaju u tregovačkom centru... • RDBMS • software za upravljanje i manipuliranje relacijskim bazama podataka • za rad s relacijskim bazama podataka mi ćemo koristiti MySQL
  • 3. Relacijske baze podataka
  • 4. Relacijske baze podataka Predosti • prednosti relacijskih baza podataka – omogućuju brz i jednostavan pristup podacima – omogućuju jednostavno kreiranje upita i pristupanje skupu podataka koji zadovoljavaju određeni kriterij – imaju ugrađen mehanizam za rješavanje problema istovremenog pristupa – imaju ugrađen sustav ovlaštenja
  • 5. Relacijske baze podataka Struktura • tablica – osnovna jedinica relacijske baze podataka – sadrži podatke organizirane u stupce (eng. columns, fields ili attributes) i redove (eng. rows) – u relacijskoj bazi podataka karakterizirana je jedinstvenim imenom te pripadnim brojem stupaca i redova Osoba ID JMBG Osoba Adresa 1 1009981304532 Ivić, Ivan Istarska 7, 31000 Osijek 2 1203980123456 Antić, Ante Sljemenska 5, 31000 Osijek 3 1507982342876 Marić, Marija Kornatska 10, 31000 Osijek
  • 6. Relacijske baze podataka Struktura • elementi tablice – stupci – svaki stupac u tablici ima jedinsveno ime i sadrži podatke određenog tipa (ID – podaci su tipa integer; Osoba i Adresa – podaci su tipa string) – redovi – sadrže sve podatke (koji su pohranjeni u tablici) o jednoj instanci tablice – vrijednosti – svaki red sastoji se od skupa vrijednosti od kojih svaka pripada drugom stupcu i pripada tipu podataka karakterističnom za taj stupac
  • 7. Relacijske baze podataka Struktura • elementi tablice – ključ – jedinstvena i nedvosmislena identifikacija instance u tablici – primjer: • Osoba kao ključ – loš odabir jer ne mora biti jedinstveno, tj. više osoba može imati jednako ime i prezime • Adresa kao ključ – loš odabir jer ne mora biti jedinstvena, npr. više osoba može imati istu adresu • ID ili JMBG kao ključ – odličan odabir jer predstavlja jedinstvenu idetifikaciju svake osobe u tablici – primarni ključ (eng. primary key) - identifikacijski stupac/stupci u tablici • može se sastojati od jednog stupca (npr. samo stupca ID ili stupca JMBG) • može se sastojati od više stupaca (npr. cjeline stupaca Osoba i Adresa) – sekundarni ključ (eng. foreign key) - stupac u tablici relacijeske baze podataka koji služi za povezivanje te tablice s tablicom u kojoj je stupac istog sadržaja i tipa podataka primarni ključ
  • 8. Relacijske baze podataka Struktura Osoba (JMBG – primarni ključ) Premija (PID – primarni ključ JMBG – sekundarni ključ) ID JMBG Osoba Adresa 1 1009981304532 Ivić, Ivan Istarska 7, 31000 Osijek 2 1203980123456 Antić, Ante Sljemenska 5, 31000 Osijek 3 1507982342876 Marić, Marija Kornatska 10, 31000 Osijek PID JMBG Tvrtka RadnoMjesto 1 1009981304532 Hotel Osijek kuhar 2 1203980123456 Podravka d.d. manager 3 1507982342876 Našicecement d.d. referent 4 1009981304532 Hotel Central konobar
  • 9. Relacijske baze podataka Shema • struktura tablice – jednostavno i jasno opisana na sljedeći način: ImeTablice(ImeStupca1, ImeStupca2, ...) • shema relacijske baze podataka – skup struktura svih tablica sadržanih u toj relacijskoj bazi podataka – nacrt relacijske baze podataka – ne sadrži nikakve podatke – mora sadržavati informacije o imenu tablice, svim stupcima tablice, primarnom ključu te svim sekundarnim ključevima • način prikazivanja sheme – neformalni dijagram – dijagram relacija i entiteta – tekstualna forma: Osoba(ID, JMBG, Ime, Adresa) Premija(PID, JMBG, Tvrtka, RadnoMjesto)
  • 10. Relacijske baze podataka Relacije • sekundarni ključ – poveznica podataka u dvjema tablicama – npr. stupac JMBG uspostavlja vezu među redovima tablica Osoba (gdje je JMBG primarni ključ) i Premija (gdje je JMBG sekundarni ključ) • tri tipa relacija u relacijskim bazama podataka – jedan prema jedan (eng. one-to-one): • svaki red prve tablice povezan je s točno jednim redom druge tablice – jedan prema više (eng. one-to-many): • svaki red prve tablice povezan je s više redova druge tablice (npr. jedna osoba može imati više radnih mjesta) • druga tablica je sekundarnim ključem povezana s prvom tablicom (npr. JMBG je sekundarni ključ tablice Premija) – više prema više (eng. many-to-many): • više redova prve tablice povezano je s više redova druge tablice (npr. jedna osoba može imati više tipova osiguranja, ali i jedan tip osiguranja može koristiti više ljudi)
  • 11. Projektiranje relacijske baze podataka • problem – pri projektiranju relacijske baze podataka treba predvidjeti skupove podataka iz baze koji bi nam mogli zatrebati u budućnosti te treba voditi računa o pravilnom odabiru primarnih ključeva • model – u bazu podataka najčešće upisujemo stvarne podatke, tj. pravimo svojevrstan model koji uključuje objekte i pripadne odnose iz stvarnog svijeta – svakom objektu treba pripadati jedna tablica u relacijskoj bazi • primjer – ako želimo napraviti relacijsku bazu podataka koja sadrži podatke o tipovima i premijama osiguranja koje nudi neka osiguravajuća tvrtka te podatke o osobama, njihovim adresama i radnim mjestima, tada uz tablice Osoba i Premija relacijska baza podataka mora sadržavati još jednu tablicu – nazvat ćemo ju Osiguranje
  • 12. Projektiranje relacijske baze podataka Primjer Osoba Premija Osiguranje ID JMBG Osoba Adresa 1 1009981304532 Ivić, Ivan Istarska 7, 31000 Osijek 2 1203980123456 Antić, Ante Sljemenska 5, 31000 Osijek 3 1507982342876 Marić, Marija Kornatska 10, 31000 Osijek PID JMBG Tvrtka RadnoMjesto 1 1009981304532 Hotel Osijek kuhar 2 1203980123456 Podravka d.d. manager 3 1507982342876 Našicecement d.d. referent 4 1009981304532 Hotel Central konobar OID Tip PrPemija A auto os. 1500 N os. Nekretnine 2000 Z životno os. 1000
  • 13. Projektiranje relacijske baze podataka Suvišnost podataka • zašto npr. ne spremiti adresu osobe u tablicu Premija? • zato što na taj način adrese osoba koje imaju više zaposlenje spremamo više puta u bazu podataka – nepotrebno trošenje prostora – neusklađenost pri ažuriranju i narušavanje integriteta podataka • pri izmjenama – npr. pri promjeni adrese moramo ju mijenjati na više mjesta u bazi podataka • pri unosu – npr. pri unosu svakog novog radnog mjesta iste osobe moramo unijeti i adresu • pri brisanju – npr. pri brisanju jednog od radnih mjesta neke osobe moramo brisati i adresu PID JMBG Adresa Tvrtka RadnoMjesto 1 1009981304532 Istarska 7, 31000 Osijek Hotel Osijek kuhar 2 1203980123456 Sljemenska 5, 31000 Osijek Podravka d.d. manager 3 1507982342876 Kornatska 10, 31000 Osijek Našicecement d.d. referent 4 1009981304532 Istarska 7, 31000 Osijek Hotel Central konobar 5 1009981304532 Istarska 7, 31000 Osijek Caffe bar vikend-konobar
  • 14. Projektiranje relacijske baze podataka korisni savjeti • polja tablice trebaju sadržavati atomarne (jednostavne) vrijednosti – podaci u poljima se ne mogu razložiti na jednostavnije podatke, a to je moguće postići na nekoliko načina (od kojih su neki efikasniji od drugih) • primjer 1: – ovim pristupom zapravo cijelu tablicu Osiguranje smještamo u stupac TipOsiguranja tablice Posao čime otežavamo odgovore na pitanja tipa “Koliko polica osiguranja tipa A je prodano?” PID JMBG Tvrtka RadnoMjesto TipOsiguranja 1 1009981304532 Hotel Osijek kuhar auto os. 2 1203980123456 Podravka d.d. manager auto os. 3 1507982342876 Našicecement d.d. referent životno os. 4 1009981304532 Hotel Central konobar os. nekretnine
  • 15. Projektiranje relacijske baze podataka korisni savjeti • primjer 2 (efikasnije rješenje problema iz primjera 1): – efikasnije je napraviti potpuno novu tablicu u relacijskoj bazi podataka – iz ove tablice vidljivo je koje osobe imaju koju premiju osiguranja te također koja premija osiguranja pripada kojim osobama – primjer many-to-many relacije OID JMBG Količina A 1009981304532 1 A 1203980123456 1 Z 1507982342876 1 N 1009981304532 1
  • 16. Projektiranje relacijske baze podataka korisni savjeti • odabir ključa - jedinstvenost treba biti osnovno pravilo kod odabira primarnog ključa • ključevi u našem primjeru: – JMBG – (prirodni) ključ za identifikaciju osobe – ID – (kreirani) ključ za identifikaciju osobe – PID – (kreirani) ključ za identifikaciju sklapanja premije osiguranja – OID – (kreirani) ključ za identifikaciju tipa osiguranja – cjelina OID i JMBG – (kreirani) ključ za identifikaciju količine osiguranja određenog tipa po osobi • predikcija informativnih skupova podataka iz baze - pri kreiranju relacijske baze podataka treba razmišljati o tome što bi nas moglo zanimati, tj. koje bismo skupove podataka pomoću upita željeli dobiti iz baze • treba izbjegavati kreiranje stupaca u kojima se može naći puno praznih polja
  • 17. Projektiranje relacijske baze podataka tipovi tablica dvije vrste tablica u relacijskoj bazi podataka: • osnovne tablice – tablice koje sadrže podatke o stvarnim objektima, a s drugim tablicama u bazi nalaze se u one-to-one ili one-to many relacijama – npr. jedna osoba može biti korisnik više polica osiguranja, ali jedna polica osiguranja pripada samo jednoj osobi • spojene tablice – služe za uspostavljanje many-to-many relacije između dviju osnovnih tablica – takva bi bila tablica koja uspostavlja vezu između npr. tablica Premija i Osiguranje
  • 18. • klijent – server komunikacija (obrađena na prvom predavanju) • isporuka statičkih web stranica • isporuka dinamičkih web stranica • izrada MySQL baze podataka za web, XAMP – vježbe • SQL i njegove naredbe - predavanja Relacijske baze podataka Web arhitektura

×