Presentation is loading. Please wait.

Presentation is loading. Please wait.

INFORMATIKA 7. UVOD U BAZE PODATAKA 22.9.2018 Glava 7.

Similar presentations


Presentation on theme: "INFORMATIKA 7. UVOD U BAZE PODATAKA 22.9.2018 Glava 7."— Presentation transcript:

1 INFORMATIKA 7. UVOD U BAZE PODATAKA Glava 7

2 Ciljevi Objasniti šta su baze podataka i njihovu strukturu
Identifikovati probleme koje rješava baza podataka Opisati različite vrste softvera za baze podataka Opisati operacije baza podataka za memorisanje, sortiranje, dobijanje odgovora na upite i prezentaciju informacija Objasniti na koji način baze podataka mogu ugroziti privatnost Glava 7

3 Poslovni ciljevi Analiza poslovnih procesa Model realnog svijeta
Organizacija podataka Skladištenje podataka Ažuriranje, pretraživanje, kontrola Dobijanje relevantnih i upotrebljivih informacija Brzo dobijanje informacija Ključ za donošenje poslovnih odluka Glava 7

4 Osnove baza podataka (BP)
Aplikacije su modeli realnog svijeta (Win Word, Excel...) Baze podataka potpuno vještačka tvorevina (sl. geometriji), nisu tabele U realnom svijetu postoje tabele (tel. imenik, rječnik i sl.), ali ne i relacione baze podataka Najčešće se pod bazama podataka podrazumijeva set informacija smještenih u računaru Baze podataka postoje u različitim formama: Elektronski podaci: tekst, video i audio zapisi, brojevi Knjige: kolekcija tekstova i slika, biblioteke Datoteke organizovane u direktorijume Skup šematskih crteža, uzorci (sa naftnih bušotina, ...) Uzorci krvi za medicinske laboratorije, DNK uzorci u forenzičkim laboratijama ... Glava 7

5 Osnove baza podataka Baza podataka (BP):
organizovani, integrisani skup logički povezanih podataka o sistemu skup podataka i postupaka za njihovo održavanje i korišćenje Prednost računarskih BP: lakše smještanje velike količine informacija jednostavno, brzo i fleksibilno dobijanje traženih informacija lakše organizovanje, prezentovanje i distribuiranje informacija DBMS (Data Base Management System): softverski sistem za upravljanje BP kreira, mijenja, održava i manipuliše podacima kontroliše prava pristupa BP Glava 7

6 Osnove baza podataka Računarski sistem: Glava 7

7 Metapodaci i registar korisnika
Rječnik podataka: podaci o podacima Opisuju svojstva ili karakteristike podataka korisnika i konteksta Omogućavaju razumijevanje vrste i značenja podataka u BP Tipična svojstva podataka: naziv (ime) podatka, definicija, dužina (veličina) i dozvoljene vrijednosti Registar korisnika - Podaci o korisnicima i njihovim pravima pristupa Ko može da pristupa: Username, password Kojim podacima: Baza podataka, tabele - kolone, vrste Šta može da radi sa podacima: INSERT, DELETE, UPDATE, SELECT Glava 7

8 Klasični fajl sistemi Datoteka X1 Datoteka X2 Datoteka X3 Datoteka Y1
Datoteka Z1 Datoteka Z2 Datoteka Z3 Datoteke – podaci na disku Aplikacija X Aplikacija Y Aplikacija Z Glava 7

9 Klasični fajl sistemi Podaci o kupcu Podaci o proizvodima
Podaci o porudžbinama Cijene proizvoda Podaci o zaposlenima Podaci o učinku Podaci o bolovanjima Datoteke – podaci na disku Porudžbine Naplate Plate Glava 7

10 Sistemi zasnovani na BP
Baza podataka – podaci na disku Baza podataka Aplikacija X Aplikacija Y Aplikacija Z Data Base Management System Glava 7

11 Sistemi zasnovani na BP
Baza podataka – podaci na disku Baza podataka Porudžbine Naplate Plate Data Base Management System Podaci o porudžbinama Podaci o kupcu Podaci o proizvodima Podaci o zaposlenima Glava 7

12 Modelovanje baza podataka
Modeli su čovjekovo sredstvo pojednostavljivanja problema i njegovo posmatranje samo sa stanovišta bitnih za ciljeve analize Generički tipovi modela: realni fizički model narativni grafički (simbolički) matematički (formalni) model Glava 7

13 Modelovanje baza podataka
Strukturno modelovanje (subjekat-objekat) 2. Objektno orijentisano modelovanje (sve su objekti) Entitet (objekat): sve što se može jednoznačno odrediti, identifikovati i razlikovati u realnom sistemu - STUDENT Glava 7

14 Modelovanje baza podataka
Izlaz1 Relan sistem Ulaz Cilj svakog modela je da učini da je: Izlaz1 ≈ Izlaz2 Programi za upravljanje Baza podataka Programi za izvještavanje Izlaz2 Informacioni sistem Glava 7

15 Modelovanje baza podataka
Svaki entitet ima svoje osobine – atribute i vrijednosti atributa Domen atributa: skup svih mogućih vrijednosti koje atribut može poprimiti (slično tipu promenljive u programiranju) Primarni ključ: jedan/više atributa čija vrijednost jednoznačno određuje primjerak entiteta PRIMJER: entitet STUDENT može imati više atributa STUDENT (BI, Ime, Prezime, Smijer,...) BI Glava 7

16 Modelovanje baza podataka
U realnom sistemu objekti su u međusobnoj interakciji Modelovanje podataka: MOV – modeli objekata i veza (Entiti Relationship) - modeli podataka (BP) BP je model podataka iz realnog sistema: preslikava odnose između objekata posmatranja primjenjuje skupove i preslikavanja elemenata skupa Primer: A B u BP preslikavanja se nazivaju kardinalnosti: (označava koliko elemenata 1. skupa ima u 2. i obrnuto) 1:1; 1:N; N:1; N:M Glava 7

17 Modeli baza podataka 1. Hijerarhijski model: jednostavna struktura, brz pristup, podaci redundantni, teža modifikacija 2. Mrežni model: minimalna redundantnost, kompleksna struktura 3. Relacioni model BP: podaci u seriji 2-D tabela u međusobnoj relaciji preko spoljnih K 4. Objektni model: objekti-veze posmatraju se zajedno kao jedan objekat Opšti cilj modela BP: olakšati smještanje podataka i dobijanje inform. Osnovne razlike modela BP: načini uspostavljanja veza između relacija (notacije) ograničenja nad podacima i vezama Glava 7

18 Primjer: Relacione BP Tab1 Tab2 Tab3 Glava 7

19 Anatomija baza podataka
Baze podataka se sastoje od: Bita, organizovanih u bajtove, koji čine stringove itd. Polja (fields) – niz bajtova koji reprezentuje informaciju Slog (records) ili zapis - niz polja koji zajedno opisuju jedan primjerak objekta (“entiteta”) Datoteka (files) – niz slogova koji opisuju različite objekte ili relaciona tabela u relacionoj BP Baza podataka tipično sadrži: više relevantnih datoteka – relacionih tabela Glava 7

20 Primjer: Anatomija baza podataka
Glava 7

21 Primer: Relacione baze podataka
Polje Slog Tabela Glava 7

22 Osnovni pojmovi modela objekti-veze
U modelu objekti-veze (MOV) objekat je elemenat : klase osoba, mjesta, fizičkih objekata, događaja, koncepata može se vidjeti, dodirnuti ili drugačije osjetiti ima svojstva i ponašanja o čemu se skladište podaci Tipovi objekata klasifikuju se u: osobe - radnici, klijenti, prodavci, studenti i dr. mjesta - skladišta, zgrade, sobe i dr. stvari - proizvod, vozilo, opremu, videotraku i dr. događaje - porudžbina, plaćanje, račun, aplikacija, rezervacija... Glava 7

23 Osnovni pojmovi modela objekti-veze
Atribut: osobina ili karakteristika objekta. Tip podatka: definiše klasu podataka koja se može skladištiti u taj atribut. Domen atributa: definiše koje vrijednosti može da ima jedan atribut. Difoltna vrijednost: uskladištena za dati atribut ukoliko je korisnik ne promijeni. Primjer: difoltna vrednost PK - NOT NULL Glava 7

24 Osnovni pojmovi modela objekti-veze
Jedinstveni ključ: jedinstveno identifikuje svaki objekat svaki objekat mora da ima jedinstveni ključ po jedinstvenom ključu se objekat traži u BP Kandidati za ključ: objekat može imati više od jednog ključa Primjer: RADNIK se može jedinstveno identifikovati preko: JMB, šifre zaposlenog ili adrese. Primarni ključ – PK (PRIMARY KEY): kandidat za ključ koji najčešće jedinstveno identifikuje objekat u datom kontekstu. Glava 7

25 Osnovni pojmovi modela objekti-veze
Složeni primarni ključ (PK) - grupa atributa koja jedinstveno identifikuju objekat. Primjer: VIDEO KASETA (ŠIFRA_KASETE, ŠIFRA_NASLOVA, BROJ_KOPIJE) Složeni PK: ŠIFRA_NASLOVA, BROJ_KOPIJE Alternativni ključevi: svi drugi kandidati za ključ koji nisu izabrani za PK Difoltna vrednost PK: NOT NULL ne smije biti prazno polje, ne može identifikovati objekat Glava 7

26 Osnovni pojmovi modela objekti-veze
Spoljni ključ - FK (Foreign key): atribut (grupa) jednog objekta definisana nad istim domenom koristi se za povezivanje jednog sa PK drugog objekta FK objekta 2 je PK objekta 1 sa kojim je objekat 1 u vezi, ili je dio atributa PK objekta 1 koji sam nije PK PRIMJER 1: U relaciji KLIJENT - PORUDŽBINA, PK KlijentID, se prenosi u objekat PORUDŽBINA gde postaje njegov FK PRIMJER 2: U relaciji RADNIK (ŠIFRA_RAD, ŠIFRA_ODJEL, ...) – složeni PK, a SIFRA_ODEL FK u relaciji ODELJENJE (NAZIV_OD, ŠIFRA_OD,....) Glava 7

27 Osnovni pojmovi modela objekti-veze
Relacije objekata: objekti su uvek u nekoj vezi sa drugim objektima. Kardinalnost definiše preslikavanje E E2 i E E1: ističe ulogu objekta i veze definiše minimalni i maksimalni broj događaja jednog objekta u konkretnoj relaciji sa drugim objektom (1:1, 1:N, N:1, N:M) pošto su sve relacije dvosmjerne, mora se definisati za oba smjera Glava 7

28 Osnovni pojmovi modela objekti-veze
PRIMJER semantike kardinalnosti: 1. preslikavanje: min. 1, max. 1 radnik radi u odeljenju 2. preslikavanje: odeljenje zapošljava min. 0, max M radnika Radnik (1,1) (0,M) Odeljenje Radi Događaj Glava 7

29 Primjer: Martin-ova notacija kardinalnosti (MOV)
Glava 7

30 Primjer: UML notacija MOV
Unified Modelling Language je standardni grafički jezik za modelovanje objektno-orjentisanog softvera Poslovni informacioni sistemi

31 Relacija zaposleni-odjelenje
Primjer: Osnove baza podataka Relacija zaposleni-odjelenje Kardinalnosti ZapID Prezime OdelenjeID Ime JMBG ZAPOSLENI ODELENJE Radi u (1,M) (1,M) DatumZap NazivOdel Plata OdelenjeID Adresa Glava 7

32 BP: Elektronska kartoteka
Operacije nad bazama podataka: CREATE – kreiranje relacija (tabela) INSERT – unos podataka DELETE – brisanje podataka UPDATE – izmjena podataka SELECT - Upit (Query): nalaženje zapisa koji zadovoljava unaprijed postavljene kriterijume GRANT – dodjela privilegija (nad kojim podacima, koje operacije) SORTIRANJE - rearanžiranje zapisa (alfabetski ili numerički) ŠTAMPANJE - izvještaja, oznaka i različitih formulara, uređena lista selektovanih zapisa i polja laka za čitanje i razumijevanje Glava 7

33 Primer logičkog i fizičkog modela podataka
Poslovni informacioni sistemi

34 Normalizacija baza podataka
Anomalije u održavanju BP: problemi operacija održavanja BP ponavljanje operacija više puta logičko dodavanje se ne može izvršiti izbacivanje jednog logičkog skupa podataka dovodi do neželjenog izbacivanja drugih podataka Teorija relacione BP: obezbjeđuje kriterijume za određivanje stepena ranjivosti tabele na logičke nekonzistentnosti i anomalije normalizacija BP dovodi BP u normalnu formu (1-6) Glava 7

35 Normalne forme (NF) baze podataka
NF je primjenljiva na individualne tabele: cijela BP je u NF, ako su sve njene tabele u NF - nije uvijek Dobro dizajnirana tabela može biti u prvom pokušaju u 3NF ako je tabela u 3NF vrlo je vjerovatno da je i u 5NF NF iznad 3NF obično ne zahtijeva ekstra troškove jer tabela u 3NF ne zahtijeva modifikaciju da se zadovolje ovi zahtjevi NF1-3 : svi ne-ključni atributi treba da budu zavisni od primarnog ključa (Pk) NF4 i 5: odnose se na relacije N:M i 1:N između atributa 6NF: obuhvata razmatranja relevantna za privremene BP Glava 7

36 JEZIK STRUKTUIRANIH UPITA
SQL (Structured Query Language ): savremeni programi za upravljanje BP podržavaju standardizovani jezik za programiranje složenih upita raspoloživ u mnogim sistemima za upravljanje BP programeri i sofisticirani korisnici ne moraju da uče novi jezik kada rade na novom sistemu GUI omogućava point-and-click upite: izoluje korisnika od kompleksnosti jezika upita Glava 7

37 Upiti za pretragu WWW (Web) baza
U cilju nalaženja online članaka o novim metodama za recikliranje tonera laserskih štampača, može se upotrijebiti sistem za Web pretragu kao što je npr Google Glava 7

38 Upiti za pretragu WWW (Web) baza
Kada pritisnete “Search” dugme, pretraživač daje listu odgovora uređenu po relevantnosti Glava 7

39 Upiti za pretragu WWW (Web) baza
Selektovanje bilo kog linka uzrokuje prikazivanje odgovarajuće web stranice Glava 7

40 Baze podataka: Elektronska kartoteka
Softver za specijalizovane baze podataka: namijenjen za memorisanje specifičnih podataka Geografski informacioni sistemi (GIS): obuhvataju geografske i demografske podatke u vidu elektronskih mapa Elektronski personalni organizator/pomoćnik (PIM/PDA) - automatizuje neke ili sve od sledećih funkcija: adresar/telefonski imenik, kalendar zakazanih sastanaka lista obaveza, obaveštenja različite prirode Priručni (Handheld) računari: mogu da razmjenjuju informacije pomoću aplikacija kao što su iCalendar koja radi i na PCs i na Mekintošu Glava 7

41 Elektronska kartoteka
Glava 7

42 Sistem upravljanja bazama podataka -DBMS
Fajl menadžer: omogućava korisniku rad sa jednim fajlom istovremeno Sistem za upravljanje bazama podataka (Database management system - DBMS): manipuliše podacima u velikim skupovima fajlova omogućava krosreferenciranje između fajlova može se koristiti interaktivno ili direktno kontrolisati iz nekog drugog programa Glava 7

43 DBMS - Šta čini bazu podataka relacionom?
Za većinu korisnika relaciona BP je: program koji omogućava međusobno povezivanje tabela promjene u jednoj tabeli izazivaju automatske promjene u ostalim Za stručnjake iz oblasti računarstva relacione BP su: tehnička definicija osnovne strukture podataka (relaciona algebra – preslikavanje skupova, Dekartov proizvod) pravila koja specificiraju kako se manipuliše podacima Struktura relacionih BP şe zasniva na relacionom, matematičkom modelu koji kombinuje podatke u tabelama Glava 7

44 Formalna definicija strukture relacionog modela
Skup elemenata x,y,z,...,v označava se sa: S={x,y,z,...,v} Skup sa navođenjem osobina koje svaki elemenat mora zadovoljiti: S={x|P(x)}, gde je P(x) uslov koji x mora zadovoljiti. Dekartov proizvod skupova: D1x D2x ...xDn=skup svih mogućih uređenih n-torki tako da je d1€D1, d2 €D2, ...dn €Dn Relacija –R definisana na n skupova je podskup Dekartovog proizvoda onih n-torki tih n skupova koje zadovoljavaju zadatu relaciju (uslove). Primer: Neka je za skupove A ={1,2,3,4} i B ={4,6,8} zadata relacija R AxB= {(a,b)|a=b/2}, biće: R= {(1,4), (1,6), (1,8), (2,4), (2,6), (2,8), (3,4), (3,6), (3,8), (4,4), (4,6), (4,8)}= = {(2,4), (3,6), (4,8)}, posle primjene datog uslova (relacije). Poslovni informacioni sistemi

45 DBMS Baza je relaciona kada su datoteke u međusobnim relacijama, kao npr. Student ID polje u datoteci Student Glava 7

46 DBMS Klijent/server računarstvo obuhvata dvosmjerno komuniciranje izmedju aplikacije koja radi na “klijent" i "server" PC-u Glava 7

47 “Cilj je neposredno posjedovanje informacija”
DBMS Primjena klijent/server pristupa bazama podataka Mrežno računarstvo (greed computing): klijent/server pristup velikim serverima BP prednost jednostavnih PC korisničkih interfejsa zadržavaju pristup BP smještenim na velikim serverima Pretraga baza podataka po podacima (Data Mining): otkrivanje i izdvajanje skrivenih prediktivnih informacija iz baze podataka koristi statističke metode i tehnologiju vještačke inteligencije: locira trendove i karakteristične oblike u podacima, koji bi se inače previdjeli uobičajenim SQL upitima BP “Cilj je neposredno posjedovanje informacija” Bill Gates Glava 7

48 DBMS Baze podataka i Web:
Informacije su dostupne preko Intraneta i Interneta HTML - jezik za konstrukciju HTTP Web stranica nije za upite baza podataka XML- noviji, moćniji jezik za opis podataka olakšava pristup bazama podataka Web baze podataka: evoluirale u pravcu direktorijuma direktorijumi su srce mnogih CRM/ERP sitema CRM (Customer Relationship/Resaurce Management) - sistemi za upravljanje odnosima sa kupcima: sw sistemi za upravljanje informacijama o kupcima ERP (Enterprise Resource Planing) - sistem za upravljanje cijelim preduzećem We recommend viewing “Internet and the Flow of Data" (PH_02_05.swf) here. You can find this media asset on the Instructor Resource Center CD-ROM or online at Glava 7

49 Primjer: DBMS za e-poslovanje
Server BP Glava 7

50 Slojevita arhitektura RBP
Velike BP često sadrže stotine relacionih tabela Sistem za upravljanje bazama podataka (DBMS): oslobađa korisnike od kompleksnog unutrašnjeg rada BP daje informacije i naredbe za obavljanje datog zadatka Raznolikost BP: Glava 7

51 Trendovi u RBP Blokovska obrada (Batch processing):
korisnik akumulira transakcije i uvodi u sistem u velikim blokovima u cilju izvršavanja primjenjuje se za obradu velikog broja transakcija odjednom Obrada u realnom vremenu (Real-Time computing): obezbjeđuje trenutni pristup informacijama Interaktivna obrada: zamjenjuje blokovsku obradu u većini primjena korisnik interaktivno radi sa podacima u BP preko terminala, gleda i mijenja vrednosti online u realnom vremenu Glava 7

52 Rad sa bazama podataka Izaberite odgovarajući alat za posao
Razmišljajte kako da dobijete informacije prije nego što ih smjestite u računar Počnite sa planom i pripremite se da ga promjenite Baze podataka su toliko dobre koliko su dobri podaci Pažljivo sastavljajte upite Ukoliko ne uspijete iz prvog pokušaja, probajte drugi pristup Glava 7

53 Ostale baze podataka Objektno orjentisane baze podataka - ODBMS:
čine konstrukciju i upotrebu baza podataka fleksibilnijom memorišu se softverski objekti - procedure zajedno sa podacima često se koriste zajedno sa OO programskim jezicima (SQL:1999 , Python, Java, C#, Visual Basic .NET, C++...) proširuje OO programski jezik sa: transparentno trajnim podacima, kontrolom konkurentnog rada, oporavkom podataka, združenim upitima i drugim kapacitetima... Multimedijalne baze podataka: indeksi za slike, mape, video i druge multimedijalne fajlove Glava 7

54 Ostale baze podataka BP sa prirodnim jezikom
omogućavaju postavljanje upita na prirodnom jeziku za buduće baze podataka - više vještačke inteligencije Omogućava korisniku postavljanje pitanja o računarima na Engleskom ili nekom drugom prirodnom jeziku Glava 7

55 Lični podaci u BP- sve o vama!
Računari i privatnost Lični podaci u BP- sve o vama! Više od specijalizovanih marketinških BP sadrže preko 2 milijarde imena (2005.) Ove BP sadrže godine, prihode, religijsku pripadnost... Zaštita od povrede privatnosti nije eksplicitno garantovana brojnim ustavima u svijetu (američkim, našim i dr.) Vode se žestoke debate o tome šta je pravo na privatnost Pravo na privatnost proizilazi iz nekih drugih ustavnih garancija: Državni zakoni daju formu zaštite privatnosti Većina tih zakona je pisana prije mnogo godina Većina zemalja EU već imaju jake zakone o zaštiti privatnosti U u SAD ukradeno > identiteta i > 3 miliona brojeva socijalnih karti, (85% su online krađe) Glava 7

56 Ugroženost lične privatnosti pojačavaju i druge IKT:
Računari i privatnost Ugroženost lične privatnosti pojačavaju i druge IKT: Mreže: mogućavaju prenošenje ličnih podataka bilo gdje i bilo kad Primjer: Microsoft Passport, deo .NET tehnologije: može opciono da sakuplja u centralnoj BP: lozinke, brojeve kreditnih kartica ostale informacije o potrošačima Tehnologija za monitorisanje radnih mjesta: omogućava menadžerima da saznaju više nego ikad do sada o radnim navikama i ponašanju zaposlenih Glava 7

57 Računari i privatnost Kamere za nadzor:
sve više se koriste za otkrivanje saobraćajnih i drugih prekršaja, sa bazom fotografija može da posluži za lociranje kriminalaca i drugih osoba Osmatrački sateliti: praktično omogućava praćenje bilo koje osobe na planeti Mobilni telefoni: poseduju tehnologiju za otkrivanje i slanje podataka o poziciji osobe Glava 7

58 Pravo na privatnost Vaš lični broj je vaš i nemojte ga davati svakom
Recite “ne” direktnim e-mejlovima i telefonskim pozivima putem kojih se distribuiraju vaše lične privatne informacije Budite upoznati sa vašim elektronskim pravima Podržavajte organizacije koje se bore za prava na privatnost Glava 7

59 Zaključak Baze podataka omogućavaju korisnicima da brzo i efikasno memorišu, organizuju, dobiju, komuniciraju i upravljaju velikom količinom informacija Baze podataka omogućavaju korisnicima pogled na podatke na više različitih načina, sortiranje po bilo kom kriterijumu, štampanje izveštaja, poštanskih adresa i ostalih štampanih materijala Sistemi za upravljanje bazama podataka (DBMSs) mogu da rade sa više izvora podataka odjednom, krosreferencirajući informacije između fajlova, ako je to potrebno Glava 7

60 Zaključak 1 Današnji trend baza podataka je daleko od velikih centralizovanih baza podataka kojima mogu pristupiti samo profesionalci Organizacija se kreće ka klijent/server pristupu koji omogućava korisniku pristup podacima smještenim na serverima unutar organizacijske računarske mreže Akumulacija podataka od strane vladinih agencija i preduzeća predstavlja rastući rizik u ugrožavanju privatnosti Iako ima i legitimnih razloga za njihovu upotrebu, postoji veliki potencijal za njihovu zloupotrebu Glava 7

61 HVALA NA PAŽNJI! Glava 7


Download ppt "INFORMATIKA 7. UVOD U BAZE PODATAKA 22.9.2018 Glava 7."

Similar presentations


Ads by Google