Baza podataka Database Uvod u baze podataka c
Baza podataka (Database) Uvod u baze podataka (c) veljača/februar 2009. Robert Vrbić Srednja mješovita škola "Žepče"
Što ćemo naučiti? n n n n Što je baza podataka i koje su prednosti njene primjene; Što je DMBS (SUBP) i koje su mu zadaće; Što je model podataka; Osnovne karakteristike mrežnog, hijerarhijskog i relacijskog modela podataka; Koji su osnovni razlozi (ciljevi) uspostave BP; Što je troslojna arhitektura BP; Što su i čemu služe jezici za rad s bazama. Uvod u baze podataka (c) veljača/februar 2009. Robert Vrbić Srednja mješovita škola "Žepče" 2
Definicija baze podataka n Mnogo je različitih definicija pojma baza podataka. Neke su previše uopćene, a neke previše detaljne. Mi ćemo odabrati sljedeće i analizirati ih: d 1: Baza podataka je organizirana zbirka podataka, koja omogućava efikasno manipuliranje tim podacima. d 2: Baza podataka je skup podataka kojim se modelira stanje nekog sustava i mehanizmi za manipuliranje tim podacima. d 3: Baza podataka je kolekcija podataka, ograničenja i operacija koja reprezentira neke dijelove realnog svijeta. d 4: Baza podataka je softverska konstrukcija namjenjena za pohranjivanje, analizu i pretraživanje grupe srodnih i povezanih podataka. Uvod u baze podataka (c) veljača/februar 2009. Robert Vrbić Srednja mješovita škola "Žepče" 3
Definicija baze podataka n D: BAZA PODATAKA je skup međusobno povezanih i ovisnih podataka koji su spremljeni bez štetne redundancije na jedinice vanjskih memorija, gdje postoji mogućnost istovremenog korištenja podataka od strane više korisnika (aplikacija), gdje su podaci neovisni o aplikacijama kojima se obrađuju i gdje postoji mehanizam zaštite podataka i kontrola pristupa. Uvod u baze podataka (c) veljača/februar 2009. Robert Vrbić Srednja mješovita škola "Žepče" 4
Područja primjene baza podataka n Raznovrsna i sveobuhvatna: q q q banke – evidentiranje klijenata, transakcija, automatizacija platnog prometa; bolnice – evidentiranje pacijenata, izvršenih pregleda, statistike; škole – evidencija učenika, ocjena, izostanaka, automatizacija izdavanja svjedodžbi i propisanih izvještaja, evidencija profesora, predmeta, nastave. . . ; knjižnice – evidencija knjiga, čitatelja i izdavanja knjiga, statistički pregledi; tvrtke – evidencija uposlenih, radnog vremena, ulaznih i izlaznih faktura, materijala. . . Uvod u baze podataka (c) veljača/februar 2009. Robert Vrbić Srednja mješovita škola "Žepče" 5
Prednosti uspostave i primjene BP n Višestruke: q q q viši stupanj organiziranosti podataka, povećana sigurnost podataka, brzina obrade i pretrage podataka, automatiziran unos i manipuliranje podacima u bazi, brzo generiranje raznolikih izvještaja na temelju podataka iz baze, kontrola pristupa podacima. . . Uvod u baze podataka (c) veljača/februar 2009. Robert Vrbić Srednja mješovita škola "Žepče" 6
Pitanja za analizu 1. Da li je moguće (i zamisliti) funkcioniranje banaka bez primjene baza podataka? Kako bi to izgledalo bez BP? 2. Što omogućava uspostava BP u videotekama? 3. Što će unaprijediti uspostava i korištenje BP u matičnim uredima? Uvod u baze podataka (c) veljača/februar 2009. Robert Vrbić Srednja mješovita škola "Žepče" 7
DBMS (SUBP) n DBMS – Database Managament System, odnosno SUBP – Sustav/Sistem za Upravljanje Bazama Podataka. . . je poslužitelj (server) baze podataka. On oblikuje fizički prikaz baze u skladu s traženom logičkom strukturom. On je interface između korisnika (aplikacije) i zapisa baze podataka na disku. n DBMS osigurava softverske alate potrebne za kreiranje, primjenu, pristupanje i ažuriranje sadržaja baze podataka. On, također, upravlja svim ulazno-izlaznim operacijama, a na većim sustavima vodi računa o kontroli pristupa, odnosno zaštiti i integritetu podataka te rješava probleme nastale usljed istovremenog pristupanja istim podacima. n DBMS se može shvatiti i kao interpreter korisničkih zahtjeva jer korisnik s bazom ne komunicira direktno nego taj posao “prepušta” DBMS -u. Uz to, on korisniku omogućava da se koncentrira na to ŠTO treba uraditi, a ne i KAKO to treba obaviti. Uvod u baze podataka (c) veljača/februar 2009. Robert Vrbić Srednja mješovita škola "Žepče" 8
Model podataka n n n Podaci u bazi su logički organizirani u skladu s nekim modelom podataka. Model podataka je skup pravila koja određuju kako može izgledati logička struktura baze i čini osnovu za koncipiranje, projektiranje i implementiranje BP. Svaki DBMS je zasnovan na nekom od sljedećih modela: mrežni, hijerarhijski, relacijski i objektni. Uvod u baze podataka (c) veljača/februar 2009. Robert Vrbić Srednja mješovita škola "Žepče" 9
Hijerarhijski i mrežni modeli podataka Hijerarhijski model zasniva se na ideji povezivanja podataka u n n hijerarhijske strukture pri čemu starijem zapisu odgovara više zapisa nižeg nivoa, ali zapisu nižeg nivoa odgovara samo jedan zapis višeg nivoa. Na vrhu hijerarhije nalazi se korijeni zapis iz kojeg se kasnije kroz hijerarhijske čvorove razvijaju ostali zapisi i na taj način pokušava obuhvatiti stanje sustava. Zapisi koji nemaju niže korelate nazivaju se listovi. Ovaj model je dobar za predstavljanje hijerarhijskih struktura upravljanja, međutim, niz nedostataka, neefikasnost i nefleksibilnost uvjetovale su da se on danas gotovo više ne koristi. tipičan primjer hijerarhijskog struktuiranja – datotečni sustav op. sustava linux Uvod u baze podataka (c) veljača/februar 2009. Robert Vrbić Srednja mješovita škola "Žepče" 10
Hijerarhijski i mrežni modeli podataka n Mrežni model se zasniva na ideji mrežne strukture. Osnovni koncepti ovog modela su polja, slogovi i setovi. Za predstavljanje veza između objekata realnog sustava koristi se set. Set predstavlja vezu između vlasnika seta (jedan zapis) i jednog ili više setova. Ovaj model prate proceduralni jezici pri čemu nisu odvojeni logički i fizički koncept baze podataka. primjer mrežnog struktuiranja Uvod u baze podataka (c) veljača/februar 2009. Robert Vrbić Srednja mješovita škola "Žepče" 11
Relacijski model podataka n n Relacijski model je zasnovan na matematičkom pojmu relacije; I podaci i veze među podacima prikazuju se “pravokutnim” tabelama. Relacijski model je danas najviše primjenjivan model podataka. Većina poznatih sustava za upravljanje BP -a zasnovani su na relacijskom modelu (Oracle, Informix, MS Access, …). Kao glavne prednosti ovog modela navode se jednostavnost strukture, što omogućava primjenu matematičkih formalizama u postupku projektiranja na konceptualnom nivou kao i lak interaktivni pristup uz pomoć nekih od poznatih upitnih jezika (SQL). Uvod u baze podataka (c) veljača/februar 2009. Robert Vrbić Srednja mješovita škola "Žepče" 12
Relacijski model podataka tbl. Filmovi Film. ID tbl. Klijenti Klijent. ID Naziv_filma tbl. Izdavanje Ime Ocjena Zanr_filma Prezime Izdavanje. ID Trajanje Adresa Klijent. ID Cijena Film. ID Status Telefon E-mail Starosna_dob Spol Uvod u baze podataka Dat_izdavanja Datum_vracanja (c) veljača/februar 2009. Robert Vrbić Srednja mješovita škola "Žepče" 13
Objektni model podataka n n n Objektni model podataka je inspiriran je objektnoorijentiranim programskim jezicima. Baza je skup trajno pohranjenih objekata koji se sastoje od svojih internih podataka i “metoda” (operacija) za rukovanje s tim podacima. Svaki objekt pripada nekoj klasi. Izmedu klasa se uspostavljaju veze nasljeđivanja, agregacije, odnosno medusobnog korištenja operacija. Još uvijek više na razini koncepta, jer se očekivani prijelaz sa (dominantnog) relacijskog modela nije desio. Uvod u baze podataka (c) veljača/februar 2009. Robert Vrbić Srednja mješovita škola "Žepče" 14
Zadatci za ponavljanje 1. 2. 3. 4. Što je DBMS (SUBP) i koje su mu zadaće? Što je model podataka? Navedi poznate modele podataka? Koji model je danas dominantan i zašto? Uvod u baze podataka (c) veljača/februar 2009. Robert Vrbić Srednja mješovita škola "Žepče" 15
Arhitektura baze podataka Troslojna (trorazinska) arhitektura BP Uvod u baze podataka (c) veljača/februar 2009. Robert Vrbić Srednja mješovita škola "Žepče" 16
Arhitektura baze podataka n n n Lokalna logička razina - odnosi se na logičku predodžbu o dijelu baze kojeg koristi pojedina aplikacija. To je aspekt kojeg vidi korisnik ili aplikacijski programer. Zapis jedne lokalne logičke definicije zove se pogled (engl. view) ili pod-shema. Pogledom se zadaje preslikavanje kojim se iz globalnih podataka i veza izvode lokalni. Globalna logička razina - odnosi se na logičku predodžbu o cijeloj bazi. To je aspekt kojeg “vidi” projektant baze odnosno njezin administrator. Zapis logičke definicije cjelokupne BP zove se shema. To je tekst ili dijagram kojim se imenuju i definiraju svi podatci, veze među podacima, te pravila (ograničenja) kojima se čuva integritet baze podataka. Fizička razina odnosi se na fizički prikaz i raspored podataka na jedinicama vanjske memorije. To je aspekt kojeg vide samo sistemski programeri (oni koji su razvili DBMS). Raspored pohranjivanja opisuje kako se elementi logičke definicije baze preslikavaju na fizičke uređaje. Uvod u baze podataka (c) veljača/februar 2009. Robert Vrbić Srednja mješovita škola "Žepče" 17
Jezici za rad s bazama podataka n Komunikacija korisnika odnosno aplikacijskog programa i DBMS-a odvija se pomoću specijaliziranih jezika. Ti se jezici tradicionalno dijele na sljedeće kategorije: q q q Jezik za opis podataka (Data Description Language - DDL), Jezik za manipuliranje podacima (Data Manipulation Language - DML) i Jezik za postavljanje upita (Query Language QL). Uvod u baze podataka (c) veljača/februar 2009. Robert Vrbić Srednja mješovita škola "Žepče" 18
Jezici za rad s bazama podataka n Jezik za opis podataka q q Služi projektantu baze podataka ili administratoru radi zapisivanja sheme (ili pod-sheme). Tim se jezikom definiraju podaci i veze među njima. Naredbe DDL podsjećaju na naredbe za definiranje složenih tipova podataka u jezicima kao što su Pascal, PL/1 i sl. Primjer definiranja relacije student: CREATE TABLE student ( prezime indeks godina smjer PRIMARY ); Uvod u baze podataka VARCHAR(50), VARCHAR(10), INT, VARCHAR(10), KEY (indeks) (c) veljača/februar 2009. Robert Vrbić Srednja mješovita škola "Žepče" 19
Jezici za rad s bazama podataka n Jezik za manipuliranje podacima q q Služi za uspostavljanje veza između aplikacijskih programa i baze. Naredbe DML omogućuju upis, promjenu, brisanje, čitanje i općenito manipuliranje podacima. U nekim DBMS, DML je biblioteka potprograma - tj. naredbe u jeziku su pozivi na potprograme, dok je drugdje riječ o posebnom jeziku. Primjer upisa podatka u relaciju student: INSERT INTO student VALUES (’PERIĆ’, ’PERO’, ’F-1977’, 2, ’inf’); Uvod u baze podataka (c) veljača/februar 2009. Robert Vrbić Srednja mješovita škola "Žepče" 20
Jezici za rad s bazama podataka n Jezik za postavljanje upita q q Služi korisniku za direktno pretraživanje baze podataka (tzv. interaktivni rad). Neredbe su takve da definiraju što se želi dobiti, ali ne i kako do toga doći (algoritme). Ovo svojstvo se naziva neprocedualnost. Uvod u baze podataka (c) veljača/februar 2009. Robert Vrbić Srednja mješovita škola "Žepče" 21
Jezici za rad s bazama podataka n SQL q q Ovakva podjela na tri jezika danas je već prilično zastarjela. Naime, kod relacijskih baza postoji tendencija da se sva tri jezika objedine u jedan sveobuhvatni. Primjer takvog integriranog jezika za relacijske baze je SQL, koji služi za definiranje podataka, manipuliranje i pretraživanje. Integrirani jezik se može koristiti interaktivno (preko on-line interpretera) ili se koristi uklopljen u aplikacijske programe. Primjer pretraživanja podataka: SELECT indeks, ime, prezime FROM student WHERE godina=1 ORDER BY prezime, ime; Uvod u baze podataka (c) veljača/februar 2009. Robert Vrbić Srednja mješovita škola "Žepče" 22
Zadatci za ponavljanje 1. 2. 3. 4. 5. 6. 7. Navedi slojeve (razine) apstrakcije u arhitekturi baze podataka. Što je pogled i što definira? Što je shema? Što opisuje raspored pohranjivanja? Na koji način “komuniciraju” korisnik i DBMS? Čemu služe DDL i DML? Što je SQL? Uvod u baze podataka (c) veljača/februar 2009. Robert Vrbić Srednja mješovita škola "Žepče" 23
- Slides: 23