Uvod u Baze Podataka Milo Stojmenovi Pregled Istorija
Uvod u Baze Podataka Miloš Stojmenović
Pregled • • • Istorija Baza Podataka Šta je baza podataka ? Tabele, relacije SQL Data Mining
Istorija Baza Podataka • Unos Podataka • Ažuriranje • Sortiranje • Upit (Select)
Šta je Baza Podataka? • Skup povezanih tabela • Integrisana kolekcija informacije o sistemu, kompaniji, žitovnoj sredini itd. – Organizovana po potrebama korsinika • Database Management System (DBMS) je softver koji: – Pravi – Održava i ažurira podatke – Kontroliše pristup podacima
Poznate Baze Podataka • Bookings. com • Autotrader. com • Cheap. OAir. com
Šta je Baza Podataka? • Baza podataka (skup povezanih tabela) je organizovana na spefičan način: • Kolone se zovu atributi • Redovi se zovu rekordi • Ime tabele oznacava jednu vrstu entiteta koja sadrzi atribute I rekorde • Primer (univerzitet) ima tabele: – – ‘Studenti’ ‘Profesori’ ‘Predmeti’ ‘Upis’
Tabela Studenata • Sadrži atribute: Br. Ind, Ime, Prezime, Datum Upisa JMBG • Sadrži rekorde (redove) za svakog studenta 7
Tabela Profesora • Sadrzi atribute: Ime, Prezime, JMBG, Br. Prof, adresa kabineta… • Sadrzi rekorde (redove) za svakog profesora • + na početku sadrži veze sa drugim tabelama 8
Tabela Predmeta • Sadrži atribute: Ime, Br. Prof, Termin, Amfiteatar • Sadrzi rekorde (redove) za svaki predmet 7. 10. 2020. 9
Tabela Upisa • Sadrzi atribute: Br. Ind, Br. Predmeta, Datum • Sadrzi rekorde (redove) za svakog upisanog studenta • Datum registracije u ovoj tabeli nije jednak datumu registracije u tabeli studenata 10
Povezivanje Baze • Primarni ključ u datoj tabeli jedinstveno određuje vrstu (red) • Strani ključ u tabeli je primarni ključ u drugoj tabeli • Nema svaka tabela strani ključ, ali skoro uvek ima primarni ključ
Modelovanje • Svaki red (rekord) u tabeli ima jasno definisan odnos sa ostalim redovima u drugim tabelama • 1: 1 – Jedan muž za jednu ženu – U sistemu gde postoji tabela muževa, i tabela žena, bilo bi uparivanje 1: 1 (nadamo se) • 1: N – Jedan predmet ima više studenta – Jedan profesor ima više predmeta • N: M – (Više na više) – Više studenata mogu da se upišu na više predmeta
Odnosi podataka među tabelama • Svaki predmet predaje samo jedan profesor • Svaki profesor može da predaje više predmeta Predmeti Profesori • Svaki student može da pohađa više predmeta • Svaki predmet može da prihvati više upisanih studenata Studenti Predmeti Profesori
Upiti u bazu (SQL) • Structured Query Language • SQL je veza izmedju tabela i aplikativnog softvera – CREATE – kreiranje relacija (tabela) – INSERT – unos podataka – DELETE – brisanje podataka – UPDATE – izmena podataka – SELECT - Upit (Query): nalaženje zapisa koji zadovoljava unapred postavljene kriterijume – GRANT – dodela privilegija (korisnici, nad kojim podacima, koje operacije) 14
Vrsta upita u bazu (SQL) • Kako se zove profesor sa Br. Prof = 1003? • Gde je kancelarije profesora Grubora? • Kada se održava predavanje iz baze podataka? • Ko se upisao 02/10/2010? • Koje predmete drži profesor Stojmenović? • Ko je upisao Poslovnu informatiku (imena)? • Koje predmete je izabrala Nada Petrović? • Kako se zovu Nadini profesori? 15
SQL Select Komanda • Bazama se postavljaju upiti na osnovu 3 ključne reči: SELECT, FROM & WHERE • Kako se zove profesor sa Br. Prof = 1003? • SELECT Ime, Prezime • FROM Profesori • WHERE ID = 1003 – Odgovor je ‘Dragan Markovic’
Gde je kancelarije profesora Grubora? • SELECT Adr. Kancelarije • FROM Profesori • WHERE Prezime = ‘Grubor’ – Odgovor je ‘Danijelova 32’ • Select je rezultat koji tražimo • From je tabela iz koje tražimo • Where je uslov koji mora da se ispuni
Kada se održava predavanje baze podataka? • Isto kao u prethodnom primeru, ali se ovog puta biraju podaci iz druge tabele • SELECT Termin • FROM Predmeti • WHERE Ime = ‘baze podataka’ – Odgovor = ‘četvrtak 9: 00 - 12: 00 h’
Ko se upisao 02/10/2010? • SELECT Br. Ind, Datum • FROM Upis • WHERE Datum > #10/1/2010# AND Datum < #10/3/2010#;
Koje predmete drži profesor Stojmenović • SELECT Br. Predmeta, Predmet. Ime, Profesor. Ime, Prezime • FROM Predmeti, Profesori • WHERE Prezime = ‘Stojmenovic’ AND Profesori. Br. Prof = Predmeti. Br. Prof
Ko je upisao Poslovnu informatiku (imena)? • SELECT Ime, Prezime • FROM Studenti • WHERE Studenti. Br. Ind = Upis. Br. Ind AND Upis. Br. Predmeta = Predmeti. Br. Predmeta AND Predmeti. Ime = ‘Poslovna Informatika’
Koje predmete je izabrala Nada Petrović? • SELECT Br. Predmeta, Predmeti. Ime • FROM Predmeti • WHERE Predmeti. Br. Predmeta = Upis. Br. Predmeta And Upis. Br. Ind = Studenti. Br. Ind And Studenti. Prezime = 'Petrovic’ And Studenti. Ime = 'Nada'
Kako se zovu Nadini profesori? • SELECT Ime, Prezime • FROM Profesori • WHERE Profesori. Br. Prof = Predmeti. Br. Prof AND Predmeti. Br. Predmeta = Upis. Br. Predmeta AND Upis. Br. Ind = Studenti. Br. Ind AND Student. Ime = ‘Nada’ AND Studenti. Prezime = ‘Petrovic’
Zasto ne treba sve podatke staviti u jednu veliku tabelu? • Tabele - svi podaci u jednoj tabeli – Dobro: • Jednostavno, za mali broj rekorda i atributa – Loše: • Redudansa • Teškoće kod promena • Anomalije ažuriranja • Sporija pretraga 7. 10. 2020. 24
Data Mining • Walmart: • • 200 miliona kupaca nedeljno Preko 8, 900 radnji 60 razlicitih brenda 15 Drzava 2 Miliona zaposlenih Fiskalna godina 2011 prodaja: $419 Milijardi Svakodnevna analiza jako velike baze podataka obezbedjuje uvid u trendove prodaje • Koji se proizvodi prodaju, gde, kada, kakve veze to ima sa temperaturom napolje… 7. 10. 2020. 25
Web i BP Upiti za pretragu Web baza 7. 10. 2020. 26
Web i BP Google je “vratio” 40, 000 rezultata 7. 10. 2020. 27
Data Mining • Otkrivanje novih informacija na osnovu čitavog rudnika podataka – Šeme ili pravila koja mogu da se iskoriste • Šeme se ne mogu naći uz pomoć raznih upita – Preveliki skup podataka za ručnu analizu • Zasnivano na: – Veštačkoj inteligeniciji, Mašinskom učenju – Statistici – Matematici
Data Mining: Vrste Očekivanih Rezultata • Nakon analize podataka se očekuje neki novi zakljucak koji može da se primeni • Pravila Asocijacije – Kupuje pelene -> kupuje puno piva • Sekvencijalne šeme – Kupi kuću -> kupi nameštaj nakon par meseci • Klasifikacija kupaca – Veliki potrošač, bargain-conscience, …) • Zašto firme rade Data Mining? – Povećani profit – Razne druge primene
Data Mining Ciljevi • Pronalaženje šema radi predviđanja budućnosti • Pomaže u formiranju velikih grupa ili kategorija – Kupaca, pacijenata, bolesti… • Karakteristike grupe nam pomažu da odredimo gde novi član pripada – Da li ispunjava uslove mušterija za izdavanje kredita
Primene Data Mining-a: Operateri • Telekom operateri prikupljaju podatke o Našim – plaćenim/neplaćenim računima – interakcijama sa operaterom (žalbama) – posetama web stranica – generalnim interakcijama sa bilo čim • Da bi predvideli ko želi da menja operatera • Rizične osobe dobijaju primamljive ponude da ostanu sa istim operaterom!
Primene Data Mining-a: Maloprodaja • Maloprodaja (poznavanje mušterija) • Firme dele mušterije po: – Recency, Frequency, Monetary • • Kad su poslednji put kupovali Koliko često kupuju Koliko troše u svakoj kupovini Mušterija koja troši malo, a često će dobiti drugačije promocije – od one koja troši puno, ali retko
Primene Data Mining-a: Maloprodaja • Promocije vezane za lojalnost se nude mušterijama koji kupuju često ali troše malo – Benzinske pumpe – Supermarketi • Promocije vezane za povratak mušterije se nude onima koji puno troše ali retko – Kockarnice – Telekom operateri – Npr: bolja usluga ili niža cena se nudi (ili i jedno i drugo)
Primene Data Mining-a: E-Commerce • Firme prate naše ponašanje na internetu, trendove kupovine, i pretrage • Na osnovu toga nude promocije • Amazon je poznat po vezivanju proizvoda: – Druge mušterije koje su kupile X takođe su bile zainteresovane za Y • Sajtovi za rezervaciju hotela jure mušterije koje su pretraživali određene destinacije – Nude slične ponude, ili podsećaju da se kompletira rezervacija
Primene Data Mining-a: Supermarketi • Prave profil svake mušterije na osnovu broja kreditne kartice • Pokušavaju da predvide šta treba kupcima u datom trenutku – na osnovu istorijata navike kupovine – na osnovu promene u navikama kupovine • je napravio meru koja procenjuje da li je mušterija trudna
Primene Data Mining-a: Milicija • Milicija prikuplja podatke radi predviđanja potencijalnih napada/ilegalnih aktivnosti • Odluka o pretresu automobila na graničnom prelazu se donosi na osnovu: – Godine I tipa automobila – Broj I starost putnika – Istorijata prelazaka granica • Odluka o ozbiljnosti pretnje ili dojave se isto određuje pomoću data mininga
Primene Data Mining-a: Medicina • Otrkivanje trovanje krvi (sepse) na vreme • Sepsa je najopasniji ubica pacijenata u Američkim bolnicama – Ubija 28 -50% zaraženih pacijenata – Ubija više ljudi od raka prostate, raka dojke, i Side zajedno • Sepsa se teško dijagnozira na vreme – Pacijent ima dobre šanse za oporavak ako se utvrdi sepsa na vreme – Teške se utvrđuje na vreme
Primene Data Mining-a: Medicina • Puno podataka zna o svakom pacijentu u bolnici • Detaljno se prati život pacijenta – Otkucaj srca, temperatura, itd. . . • Istraživanje simptoma sepse je dobar kandidat za Data Mining • Dr. Zoran Obradović učestvuje u projektu koji se bavi ovom temom
- Slides: 38