1 uvod baze podataka
TRANSCRIPT
Internacionalni Univerzitet u Novom Pazaru Departman za prirodno-tehnike nauke
Baze podataka 2011/2012
Uvod u Baze podatakaProf.dr Leonid StoimenovElektronski fakultet, Univerzitet u Niu1
Uvod u baze podataka - Pregled
1
Osnovni pojmovi
ta je Podatak, informacija? ta je Baza podataka? ta je Sistem za upravljanje bazama podataka? ta je Aplikacija nad bazom podataka? ta je Sistem baza podataka?
2
Konvencionalna obrada i obrada zasnovana na bazama podataka Sistem baza podataka Kategorizacija korisnika baza podataka Istorijat baza podataka Prednosti i nedostaci
Podatak i informacija
1
Podatak (lat. datum deo informacije, eng. Data)
Jednostavna neobraena izolovana injenica koja ima neko znaenje i koja se obrauje i uva na raunaru Podaci su znakovni prikaz injenica i pojmova koji opisuju svojstva objekata
Obrada podataka proces prevoenja podataka u informacije Informacija (lat. Informare, eng. Information) - rezultat analize i organizacije podataka na nain da daje/generie novo znanje Znanje ...
(Vetaka inteligencija, sistemi zasnovani na znanju nije predmet ovog kursa!)
3
Mudrost ...
Konvencionalni sistemi
1
Tradicionalni pristup (sistem zasnovan na datotekama engl. File-based system)
Ad hoc pristup: datoteka ili skup datoteka podataka potrebnih za definisanu aplikaciju Razvijaju se programi koji obrauju podatke iz datoteka Svaki program definie sopstvene podatke i upravlja tim podacima
Obrada podataka (engl. Data Processing) esto se koristi pojam Automatska obrada podataka (AOP)
pojedine aplikacije jednog informacionog sistema (IS) meusobno nezavisne i kod koje se za svaku aplikaciju kreiraju i odravaju posebne datoteke sa svim potrebnim podacima
4
Obrada zasnovana na datotekamaAplikacioni program prodajeUnos podataka i tampanje izvetajaProdaja Rutine za rukovanje datotekama Definicije datoteka
1
Datoteke prodaje
Aplikacioni program nabavkeUnos podataka i tampanje izvetaja Nabavka5
Rutine za rukovanje datotekama Definicije datoteka
Datoteke nabavke
Osnovne karakteristike sistema zasnovanog na datotekama
1
Definicija podataka je ugraena u aplikacioni program
poeljno je da bude odvojena i nezavisna
Ne postoji kontrola pristupa podacima, osim one koju vre aplikacioni programi
poeljna potpuna kontrola pristupa podacima i to nezavisno od konkretnog aplikacionog programa
6
Prednosti i nedostaci konvencionalne obrade
1
Prednosti
Nedostaci
Jednostavnost projektovanja i realizacije
Nepovezanost aplikacija Ponavljanje podataka Neusaglaenost (nekonzistentnost) podataka vrsta povezanost programa i podataka
Programi za obradu podataka zavise od naina struktuiranja podataka Promena strukture podataka zahteva promenu programa
Ograniena mogunost zajednikog korienja podataka Ograniena raspoloivost podataka Neadekvatna realizacija oporavka od pada sistema Posledice: Obrada podataka je skupa7
Reenje problema: baza podataka
1
Baza podataka treba da obezbedi:
Nezavisnost struktura podataka od programa koji ih obrauju, Nezavisnost programa od struktura podataka; Minimalnost ponavljanja podataka; Da obrada podataka nije vezana za programski jezik opte namene, ve za vii upitni jezik; Korienje baze podataka od strane veeg broja korisnika.
8
ta je baza podataka?
1
Baza podataka (engl. Data Base, Database):Integrisana kolekcija podataka o nekoj organizaciji
Primer organizacija: kompanija, banka, fakultet, grad, biblioteka, supermarket
Primer: Fakultetska baza podatakaObuhvata podatke o:
Entitetima objekti realnog svetastudijski programi, studenti, predmeti, uionice
Vezama meu ovim entitetima,student slua predmet, predmet se izodi u uionici, predmet pripada studijskom programu
9
Baza podataka kao kolekcija podataka
1
Baza podataka predstavlja kolekciju povezanih podataka organizovanih u logike celine predstavljene tabelama. Skup podataka pripremljen tako da se mogu jednostavno koristiti, tj. pregledati, pretraivati, sortirati, uporeivati, itd., ali i menjati. Podaci u bazama podataka su organizovani u dvodimenzionalne tabele ili relacije Relacione baze podataka
Skup relacija/tabela Tabela moe da ima vie kolona, gde svaka kolona predstavlja neku osobinu ili atribut. Vrste tabele ine konkretni podaci, odnosno konkrente vrednosti osobina/atributa nekog objekta.
10
Podaci u bazi podataka
1
Dvodimenzionalna tabela (slika: tabela Student)
Kolone - osobine tj atributi objekta realnog sveta Vrste predstavlja jedan slog podataka o nekom objektuIme Petar Milan Jovan Prezime Petrovi Milanovi Jovanovi Indeks 1111 2222 3333 MBR 123456 654321 345612
Redosled podataka u tabeli nije relevantan Nema duplikata ili je njihov broj minimalan11
Podaci u bazi podataka
1
Dvodimenzionalna tabela (slika: tabela Radnik) Redosled podataka u tabeli nije relevantan Nema duplikata ili je njihov broj minimalan
12
Baza podataka kao aspekt realnog sveta
1
Sluajni skup podataka nije baza podataka!! Baza podataka se projektuje i gradi za specifinu namenuNamenjena je konkretnim korisnicima za konkretne namene
Baza podatakapredstavlja neki aspekt realnog sveta organizacije tzv minisvet deo realnog sveta za koji je neophodno uvati i obraivati podatke
Baza podataka za Fakultet podaci o studentima, ispitima, nastavnicima
Promene u minisvetu utiu na bazu podatakaPromena u nastavnim planovima utie na bazu podataka
Promene u podacima Promene u tabelama
13
Baze podataka: vie posla?
1
Relacione baze podataka su na prvi pogled komplikovanije od konvencionalnog pristupa Ipak, prednosti su znaajne
pre svega minimizacija redundanse podataka, kao i ouvanje kompleksnih veza izmeu podataka
Relaciona baza podataka predstavlja osnovu za korisnike forme i izvetaje Vie drugaijih poslova administracija, odravanje podataka...
14
Relaciona baza podataka primer veza izmeu podataka
1
Podaci o ADVISERu su povezani sa STUDENTom preko AdviserData
15
Relacione baze podataka primer reavanja problema auriranja podataka
1
Dodata nova vrsta ne zahtevaju se podaci o STUDENTu Promenjen podatak podaci ostaju konzistentni
Obrisana vrsta ne gube se podaci o ADVISERu
16
ta je sistem za upravljanje bazama podataka?
1
Sistem za upravljanje bazama podataka (engl. Data Base Management System, DBMS) Softverski sistem koji omoguava definisanje, kreiranje i manipulisanje bazom podataka
Definisanje: Specificiranje tipova podataka, struktura i ogranienja za podatke koje treba memorisati u bazi podataka Kreiranje: Proces memorisanja podataka na nekom medijumu koji kontrolie DBMS Manipulisanje: Postavnjanje upita bazi podataka da bi se nali specifini podaci, auriranje baze podataka da bi se unele promene nastale u mini svetu i generisanje izvetaja na osnovu podataka memorisanih u bazi podataka
17
ta je aplikacija baze podataka?
1
Aplikacija baze podataka (engl. Database application, DB application)
Program koji interaguje sa bazom podataka u toku svog izvrenja
Interakcija programa i baze podataka se obavlja preko DBMS-a Program alje zahteve DBMS-u i DBMS vraa programu odgovor na ovaj zahtevDBMSBaza podataka
DB aplikacija
18
ta je sistem baze podataka?
1
Sistem baze podataka (engl. Database System) Kolekcija aplikacionih programa koji interaguju sa bazom podataka, DBMS i baza podataka
Sistem baze podataka
DB aplikacija
DBMS
Baza podataka
19
Obrada zasnovana na bazama podatakaSistem baze podataka
1
Unos podataka i tampanje izvetajaProdaja Aplikacioni programi prodaje Unos podataka i tampanje izvetaja Nabavka Aplikacioni programi nabavke
DBMS
Baza podataka
20
Uproena struktura sistema baze podatakaKorisnici / Programeri Sistem baza podataka Aplikativni programi /Upiti
1
Softver za obradu upita/programa
Softver za pristup memorisanim podacima
DBMS
Memorisane definicije baze podataka (Meta podaci)21
Memorisana baza podataka
Prilaz zasnovan na bazama podataka
1
Baza podataka
Deljiva kolekcija logiki povezanih podataka i definicija tih podataka, projektovana sa ciljem da zadovolji informacione potrebe neke organizacije Podaci su deljivi Baza podataka sadri i podatke i njihove definicije (opisi, eme) Definicije podataka se nalaze u katalogu sistema (renik sistema) i nazivaju se meta podaci Definicije podataka su odvojene od aplikacionih programa Podaci su logiki povezani (entiteti, atributi, veze)
Vane odrednice
22
Svojstva prilaza zasnovanog na BP
1
Opisi podataka i ogranienja nad podacima (tzv. meta podaci) su sastavni deo sistema baze podataka Opisi se nalaze u sistemskom katalogu koji je dostupan i DBMS-u i korisnicima kojima je potrebno poznavanje strukture baze podataka Nezavisnost programa i podataka Opisi podataka su u DBMS katalogu i nezavisni su od programa za pristup podacima
23
Komponente DBMS okruenja- Operacioni podaci - Meta podaci Podaci
1
Hardver- Raunari - Mree raunara
Softver- DBMS - Aplikacije - OS
Procedure Osoblje
Procedure Instrukcije i pravila za projektovanje i korienje baze podataka - Logovanje na DBMS - Korienje mogunosti DBMS-a - Korienje aplikacionih programa
24
Uloge u okruenju baza podataka (osoblje)
1
Administrator podataka i administrator baze podatakaData Administrator (DA) Database Administrator (DBA) Projektant logike baze podataka Projektant fizike baze podataka aplikacioni programer Sluajni korisnici Naivni ili parametarski korisnici Napredni ili Sofistini korisnici
Projektant baze podataka (eng. Database Designer)
Inenjer razvoja aplikacija (eng. Application Developer)
Krajnji korisnici (eng. End-Users)
25
Administrator podataka
1
Odgovoran je za menadment podataka kao resursa, ukljuujui:Planiranje, razvoj i odravanje standarda, politike i procedura Konceptualno i logiko projektovanje baze podataka
Njegov zadatak je da obezbedi DB podrku za ostvarenje postavljenih ciljeva korporacije za koju radi
26
Administrator baze podataka
1
Odgovoran je za fiziku realizaciju sistema baze podataka, ukljuujui:
Fiziko projektovanje i implementaciju baze podataka Sigurnost i integritet Odravanje sistema u radnom stanju Obezbeenje odgovarajuih performansi aplikacija za potrebe korisnika (monitoring i reorganizacija, po potrebi)
27
Glavni zadaci DB i DBADA
1
Uestvuje u stratekom planiranju IS-a Utvruje dugorone ciljeve Namee standarde, politiku i procedure Utvruje zahteve za podacima Razvija konceptualni i ligiki projekat baze podataka Razvija i odrava zajedniki model podataka Koordinira razvoj sistema Orijentisan je ka menadmentu DBMS nezavistan
DBA
Evaluira nove DBMS-e Izvrava planove radi ostvarenja ciljeva Namee standarde, politiku i procedure Implementira zahteve za podacima Razvija logiki i fiziki projekat baze podataka Implementira fiziki projekat baze podataka Nadzire i kontrolie bazu podataka Orijentisan je ka tehnici DBMS zavistan
28
Korisnici baze podataka
1
Akteri na sceni
Akteri iza scene
Administrator baze podataka Projektanti baze podataka Aplikacioni programeri Sistem analitiari Krajnji korisnici Sluajni Naivni Napredni
Projektanti DBMS-a Inenjeri razvoja DBMS-a Operateri Osoblje za odravanje sistema baze podataka
29
Krajnji korisnici
1
Krajnji korisnici su lica iji posao zahteva pristup bazi podataka radi pretraivanja, auriranja i generisanja izvetaja Vrste krajnjih korisnika
Sluajni korisnici povremeno pristupaju bazi podataka, njihovi zahtevi su vrlo promenjivi i nisu unapred definisani
Za njih se projektuju posebni upitni jezici i dodatna softverska pomagala
Naivni (parametarski) korisnici auriraju bazu podataka i koristei standardne upite dobijaju potrebne podatke iz baze podataka
Primer ovih korisnika su slubenici na alterima Ovi korisnici uvek obavljaju istu obradu nad bazom podataka i za njih se razvijaju posebne DB aplikacije
Napredni (sofistiki) korisnici imaju znanje o DBMS-u tako da mogu formulisati vrlo sloene zahteve
Primer takvih korisnika su inenjeri, naunici, istraivai, analitiari
30
Tipovi sistema baza podataka
1
Single-user:
Podrka samo za jednog korisnika u isto vreme Single-user baza podataka na personalnom raunaru Podrka za vie korisnika u isto vreme Multi-user baza podataka za mali broj korisnika ili jedno odeljenje preduzea Multi-user baza podataka koja podrava veliki broj korisnika ili celo preduzee/organizaciju
Desktop:
Multi-user:
Workgroup:
Enterprise:31
Tipovi sistema baza podatakaKlasifikacija po lokaciji: Centralizovane:
1
Podaci su na jednoj lokacijiPodaci mogu biti na vie lokacija
Distribuirane:
Po nainu korienja: Transakcione (ili produkcione):
Podrka za day-to-day operacije preduzea
Data warehouse:
32
uva podatke koji se koriste za generisanje informacija potrebnih za strateke odluke. esto sadre istorijske podatke i imaju drugaiju strukturu
Prednosti DBMS-a
1
Nezavisnost podataka
Aplikacioni programi su nezavisni od reprezentacije i naina memorisanja podataka DBMS nudi aplikaciji apstraktni pogled na podatke
Efikasan pristup podacima
DBMS koristi posebne tehnike za efikasno memorisanje i pretraivanje podatakaDBMS kontrolie integritet podataka koristei ogranienja koja je definisao projektant baze podataka DBMS nadgleda pristupne privilegije korisnika, tako da svaki korisnik moe videti samo podatke za koje poseduje pristupne privilegije Kada su podaci deljivi centralizovana administracija podataka donosi znaajno poboljanje Za to je zaduen administrator baze podataka DBMS upravlja konkurentnim pristupom podacima od strane vie korisnika DBMS ima ugraene mehanizme oporavka baze podataka od razliitih neispravnosti
Integritet i bezbednost podataka
Administracija podataka
Konkurentni pristup i oporavak
Krae vreme razvoja aplikacija
DBMS ima ugraene razliite funkcije za rad sa podacima to aplikacionim programerima znaajno olakava zadatak razvoja aplikacije DBMS nudi interfejs iz jezika visokog nivoa ka bazi podataka
33
Nedostaci DBMS-a
1
Sloenost Veliina Trokovi za DBMS Dodatni trokovi za HW Trokovi konverzije Performanse Vei uticaj neispravnosti
34
Istorijat DBMS-a - 1.deo
1
60-tih godina 20-tog vekaprojekat Apollo, na inicijativu predsednika KenedijaRezultat ovog projekta je GUAM (Generalized Update Access Method)
Sredinom 60-tihIBM je prihvatio GUAM ideju i razvio IMS (Information Management System) to je hijerarhijski DBMS
Sredinom 60-tih godinaGeneral Electric je razvio IDS (Integrated Data Store) to je mreni DBMS
Prvi DBMS opte namene koga je projektovao Charles Bachman, prvi dobitnik Turing-ove nagrade koju dodeljuje ACM (ekvivalent Nobelove nagrade za Raunarske nauke) Bachman je nagradu dobio za rad u oblasti baza podataka
1967. je formirana, u okviru CODASYL-a, Database Task Group (DBTG) koja je uradila standard za DBMS:1969 draft report 1971 final report
35
Istorijat DBMS-a - 2.deo
1
1970. E.F.Codd iz IBM Research Lab je predloio relacioni model Prvi komercijalni relacioni DBMS su proizvedeni krajem 70-tih i poetkom 80-tih godina 20-tog veka:
Projekat System R (IBM) krajem 70-tih (SQL) DB2 i SQL/DS (IBM) 80-tih Oracle (Oracle Corporation) 80-tih
Danas postoji na hiljade relacionih DBMS-ova za mainframe i PC okruenja:
INGRES (Computer Associates) INFORMIX, DB2 (IBM) Office Access, Visual FoxPro (Microsoft) InterBase, JDataStore (Borland) R:Base (R:Base Technologies)
36
Istorijat DBMS-a - 3.deo
1
1976. Chen je predloio ER model 1979. Codd je predloio proirenu verziju relacionog modela RM/T i 1990. RM/V2 koji se ubraja u semantike modele podataka 90-tih godina 20-tog veka Objektno-orijentisani DBMS (OODBMS) i Objektno-relacioni DBMS (ORDBMS) Poetak ovog veka
Postrelacione BP XML native BP
... Relacione baze podataka + nove tehnologije
37
Potencijalna pitanja iz ove lekcije
1
Definiite bazu podataka i DBMS. Definiite sistem baze podataka a ta aplikacija nad BP. Po emu se baza podataka razlikuje od datoteke? Zato se u konvencionalnim sistemima javlja redundanca? Zato je redundanca u podacima tetna? Po emu se DB prilaz razlikuje od tradicionalnih fajl sistema? Kojoj grupi krajnjih korisnika pripada Internet korisnik? Kakvu odgovornost ima administrator baze podataka? Kakvu odgovornost ima projektant baze podataka? Navedite 2 prednosti i 2 mane korienja DBMS-a.38