INFORMATIKA 7. UVOD U BAZE PODATAKA 22.9.2018 Glava 7
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 22.9.2018 Glava 7
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 22.9.2018 Glava 7
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 ... 22.9.2018 Glava 7
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 22.9.2018 Glava 7
Osnove baza podataka Računarski sistem: 22.9.2018 Glava 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 22.9.2018 Glava 7
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 22.9.2018 Glava 7
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 22.9.2018 Glava 7
Sistemi zasnovani na BP Baza podataka – podaci na disku Baza podataka Aplikacija X Aplikacija Y Aplikacija Z Data Base Management System 22.9.2018 Glava 7
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 22.9.2018 Glava 7
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 22.9.2018 Glava 7
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 22.9.2018 Glava 7
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 22.9.2018 Glava 7
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 22.9.2018 Glava 7
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 22.9.2018 Glava 7
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 22.9.2018 Glava 7
Primjer: Relacione BP Tab1 Tab2 Tab3 22.9.2018 Glava 7
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 22.9.2018 Glava 7
Primjer: Anatomija baza podataka 22.9.2018 Glava 7
Primer: Relacione baze podataka Polje Slog Tabela 22.9.2018 Glava 7
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... 22.9.2018 Glava 7
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 22.9.2018 Glava 7
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 e-mail adrese. Primarni ključ – PK (PRIMARY KEY): kandidat za ključ koji najčešće jedinstveno identifikuje objekat u datom kontekstu. 22.9.2018 Glava 7
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 22.9.2018 Glava 7
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,....) 22.9.2018 Glava 7
Osnovni pojmovi modela objekti-veze Relacije objekata: objekti su uvek u nekoj vezi sa drugim objektima. Kardinalnost definiše preslikavanje E1 E2 i E2 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 22.9.2018 Glava 7
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 22.9.2018 Glava 7
Primjer: Martin-ova notacija kardinalnosti (MOV) Glava 7 22.9.2018
Primjer: UML notacija MOV Unified Modelling Language je standardni grafički jezik za modelovanje objektno-orjentisanog softvera 22.9.2018 Poslovni informacioni sistemi
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 22.9.2018 Glava 7
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 22.9.2018 Glava 7
Primer logičkog i fizičkog modela podataka 22.9.2018 Poslovni informacioni sistemi
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) 22.9.2018 Glava 7
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 22.9.2018 Glava 7
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 22.9.2018 Glava 7
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 22.9.2018 Glava 7
Upiti za pretragu WWW (Web) baza Kada pritisnete “Search” dugme, pretraživač daje listu odgovora uređenu po relevantnosti 22.9.2018 Glava 7
Upiti za pretragu WWW (Web) baza Selektovanje bilo kog linka uzrokuje prikazivanje odgovarajuće web stranice 22.9.2018 Glava 7
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 22.9.2018 Glava 7
Elektronska kartoteka 22.9.2018 Glava 7
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 22.9.2018 Glava 7
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 22.9.2018 Glava 7
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). 22.9.2018 Poslovni informacioni sistemi
DBMS Baza je relaciona kada su datoteke u međusobnim relacijama, kao npr. Student ID polje u datoteci Student 22.9.2018 Glava 7
DBMS Klijent/server računarstvo obuhvata dvosmjerno komuniciranje izmedju aplikacije koja radi na “klijent" i "server" PC-u 22.9.2018 Glava 7
“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 22.9.2018 Glava 7
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 www.computerconfluence.com. 22.9.2018 Glava 7
Primjer: DBMS za e-poslovanje Server BP 22.9.2018 Glava 7
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: 22.9.2018 Glava 7
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 22.9.2018 Glava 7
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 22.9.2018 Glava 7
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 22.9.2018 Glava 7
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 www.freeanswers.com Omogućava korisniku postavljanje pitanja o računarima na Engleskom ili nekom drugom prirodnom jeziku 22.9.2018 Glava 7
Lični podaci u BP- sve o vama! Računari i privatnost Lični podaci u BP- sve o vama! Više od 15.000 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 2011. u SAD ukradeno >250 000 identiteta i > 3 miliona brojeva socijalnih karti, (85% su online krađe) 22.9.2018 Glava 7
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 22.9.2018 Glava 7
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 22.9.2018 Glava 7
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 22.9.2018 Glava 7
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 22.9.2018 Glava 7
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 22.9.2018 Glava 7
HVALA NA PAŽNJI! 22.9.2018 Glava 7