Baze podataka Baze podataka Sistem baza podataka Sistem
Baze podataka
Baze podataka Sistem baza podataka ◦ Sistem baza podataka sadrži 4 osnovne komponente: korisnici, aplikacija nad bazom podataka, sistem za upravljanje bazama podataka (Database Management System - DBMS), i baza podataka.
Baze podataka Komponente sistema baza podataka
Baze podataka Šta je baza podataka? Baza podataka predstavlja kolekciju međusobno povezanih podataka koji su organizovani u tabele i druge strukture podataka, a koriste za jednu ili više aplikacija. Osnovna namena baze podataka je da bude skladište za podatke. Podaci mogu biti različitog tipa, tekstualni, numerički, slike, audio i video zapisi i sl.
Baze podataka Iz „definicije" baze podataka vidi se da je ona kolekcija međusobno povezanih podataka organizovanih u tabele. Podaci u bazama podataka su organizovani u dvodimenzionalne tabele. Tabela može da ima više kolona, gde svaka kolona predstavlja neku osobinu ili atribut. Vrste tabele čine konkretni podaci, odnosno konkrente vrednosti osobina/atributa nekog objekta.
Baze podataka Koje će tabele da sadrži baza podataka zavisi od problema za koji treba realizovati bazu podataka. Postupak izbora i definisanja tabela za bazu podataka je deo procesa modeliranja odnosno izgradnje modela podataka. Model podataka je detaljno objašnjen u sekciji nakon sekcije o DBMSu.
Baze podataka Međusobna povezanost podataka je ono po čemu se baza podataka razlikuje u odnosu na fajl sisteme (datoteke) i programe za unakrsna izračunavanja ko što je Excel. Baza podataka sadrži i tzv. metapodatke, odnosno podatke o samoj strukturi baze podataka.
Baze podataka Sistem za upravljanje bazama podataka (DBMS) DBMS obično nudi: ◦ Jezik za opis podataka (eng. Data Definition Language - DDL), koji omogućava korisnicima definisanje tipa i strukture podataka, kao i ograničenja nad podacima memorisanim u bazi podataka (CREATE TABLE naredba). ◦ Jezik za manipulaciju podacima (eng. Data Manipulation Language - DML), koji omogućava korisnicima umetanje, ažuriranje, brisanje i pretraživanje podataka iz baze podataka (SELECT, INSERT INTO, UPDATE naredbe).
Baze podataka ◦ Jezik za definisanje načina memorisanja podataka (eng. Storage Definition Language - SDL), koji se koristi za specificiranje interne šeme baze podataka. ◦ Kontrolisani pristup bazi podataka, što uključuje različite funkcije i mehanizme za pristup podacima u bazi podataka
Baze podataka Funkcije DBMS-a DBMS treba da obezbedi sledeće funkcije za kontrolisani pristup podacima u bazi podataka: ◦ Sigurnosni sistem, koji onemogućava pristup bazi podataka neautorizovanim korisnicima (sigurnosni servisi), odnosno samo autorizovani korisnici mogu da koriste podatke u skladu sa definisanim privilegijama (autorizacioni servisi)
Baze podataka ◦ Integritetni sistem, koji održava konzistentnost podataka u bazi podataka, odnosno da se sve promene dešavaju u skladu sa definisanim pravilima. ◦ Sistem za kontrolu konkurencije, koji dopušta deljivi pristup podacima iz baze podataka, tj da se obezbedi korektno ažuriranje podataka kada više korisnika pokušava istovremeno da vrši ažuriranja. ◦ Sistem za kontrolu oporavka baze podataka, koji omogućava rekonstrukciju prethodnog konzistentnog stanja u slučaju neke hardverske ili softverske neispravnosti.
Baze podataka ◦ Katalog kome korisnici mogu pristupati, koji sadrži opis podataka koji su memorisani u bazi podataka. ◦ Podrška za transakcije, koja obezbeđuje korektno izvršavanje niza transakcija koje mogu biti međusobno zavisne; transakcija je skup operacija upisa i čitanja iz baze podataka koji se tretira kao celina tj ima svoj početak i kraj. ◦ Razne korisničke funkcije, kao što su import, eksport podataka, statističke analize, funkcije za nadgledanje, . . .
Baze podataka Izbor DBMS-a Postoji veliki broj proizvođača DBMS-a različitih performansi, namenjeni različitim segmentima tržišta. Tipovi sistema baza podataka: ◦ Knjigovodstvene aplikacije (sistemi za upravljanje dokumentima, sistemi za banke, i sl) ◦ Modere Web aplikacie koje obezbeđuju složenu funkcionalnost u distribuiranom okruženju (on-line kupovine, raze socijalne mreže i sl. )
Baze podataka ◦ personalni sistemi baza podataka (npr. aplikacija za evidenciju kucnih troskova gde BP koristi jedan samo korisnik Personalni sistem baza podataka
Baze podataka ◦ enterprise sistemi baza podataka (npr. velika kompanija, ima sistem baza podataka sa velikim količinama informacija. Enterprise sistem baza podataka
Baze podataka Modeli podataka U procesu razvoja baze podataka formira se model realnog sistema. Postoji mnogo različitih mogućnosti da se modelira sistem. Deo modela sistema koji se odnosi na podatke naziva se model podataka.
Baze podataka Relacioni model podataka Najpopularniji i najrasprostranjeniji model podataka danas Relacija, kao osnovni koncept relacionog modela je zapravo matematička relacija, i ima jednostavnu reprezentaciju u obliku dvodimenzionalne tabele sa podacima. Ovaj model daje osnovu za jezik visokog nivoa za pristup podacima
Baze podataka U fazi projektovanja baze podataka treba najpre prepoznati objekte realnog sveta (entiteti) za koje treba čuvati podatke i prepoznati njihove atribute. Izabrani entiteti će u bazi podataka biti predstavljeni tabelama. Zbog toga pogledajte pažljivo navedene objekte pošto mogu da vam budu dobar vodič kod izbora entiteta! Svaki objekat, odnosno entitet, poseduje neka svojstva.
Baze podataka Svojstva ili atributi objekta će biti predstavljena kolonama u odgovarakućoj tabeli. Objekti međusobno mogu biti povezani različitim odnosima odnosno relacijama. Izborom objekata, definisanjem njihovih svojstava i prepoznavanjem veza između objekata, izvršili smo modeliranje dela realnog sveta koji predstavlja naš problem!
Baze podataka Atributi su zajedničke osobine koje poseduju svi entiteti jednog skupa entiteta. Pošto se entiteti odnosno objekti realnog sveta predstavljaju relacijom, atributi predstavljaju svojstva te relacije. Svaka relacija predstavlja skup torki, gde se svaka torka odnosi na konkretan entitet iz skupa entiteta. U tabelarnom prikazu relacije, vrste tabele su podaci o konkretnim entitetima, odnosno torke
Baze podataka Domen atributa je skup vrednosti koje neki atribut može uzimati. Svaki domen atributa se definiše: tipom podataka, dužinom podataka i opsegom vrednosti. Relacija se u bazi podataka predstavlja dvodimenzionalnom tabelom, gde vrste odgovaraju pojedinim slogovima, a kolone atributima. Atributi se mogu pojavljivati u bilo kom redosledu u tabeli. Redosled vrsta tabele takođe nije bitan. Svaka tabela, kao i svaka kolona u tabeli imaju ime.
Baze podataka NULL Vrednosti atributa DBMS dozvoljava da atribut nema dodeljenu vrednostm što podrazumeva korišćenje tzv NULL vrednosti. NULL vrednost može da ima dva značenja: ◦ Vrednost atributa za posmatrani entitet ne postoji ili još uvek nije poznata. ◦ Vrednost atributa za posmatrani nije primenjiva.
Baze podataka Relacioni model Baza podataka Relacija Tabela Torka Vrsta Atribut Kolona Domen atributa Tip podatka kolone Šema relacije Opis tabele Ekvivalentni skup pojmova
Baze podataka Svojstva relacije Relacija ima sledeća svojstva: ◦ Svaka relacija ime koje se razlikuje od imena svih ostalih relacija u šemi relacione baze podataka, ◦ Svaka ćelija tabele (određena vrstom i kolonom) kojom je relacija predstavljena sadrži samo jednu atomičnu (prostu) vrednost, ◦ Svi atributi jedne relacije imaju različito ime, ◦ Sve vrednosti jednog atributa su iz istog domena, ◦ Sve torke relacije su različite, tj. u relaciji ne postoje duple torke,
Baze podataka ◦ Redosled atributa u relaciji nema značaja, i ◦ Redosled torki u relaciji teoretski nema značaja, ali praktično redosled torki u relaciji može uticati na efikasnost pristupa torkama! Primer: RADNIK predstavlja skup radnika nekog preduzeća (entiteta, tj objekata iz realnog sveta).
Baze podataka Zadatak 1 Izbor relacija ◦ Ako je neophodno projektovati bazu podataka koja se odnosi na preduzeće, prepoznati entitete i njihova svojstva, koje ćete predstaviti relacijama u relacionom modelu, odnosno tabelama u bazi podataka.
Baze podataka RADNIK LIME SSL PREZIME MBR DATRODJ POL PLATA ADRESA Ivana S Gocić 123456 15 -10 -87 Ž 17000 Niška 4 Milan I Savić 234567 01 -03 -57 M 32000 Humska 2 Ana P Rodić 666777 03 -12 -50 Ž 27000 Savska 34 Pera K Kostić 555333 31 -12 -53 M 43000 Čairska 3 SEKTOR NAZIV SBROJ Projektovanje 40 Razvoj Proizvodnja 50 60
Baze podataka Zadatak 2 Domeni atributa ◦ Identifikovati domene atributa relacije RADNIK iz prethodnog primera. Atribut LIME PREZIME POL Značenje Skup mogućih imena osoba Skup mogućih prezimena osoba Skup mogućnih matičnih brojeva Maticni Broj radnika Moguće vrednosti za datume Datum Rodjenja rođenja zaposlenih u preduzeću Pol radnika PLATA Plata. Radnika ADRESA Adresa. Radnika MBR DATRODJ Domen Imena Osoba Prezime Osoba Definicija domena Niz karaktera, dužine do 15. Celi brojevi, napr. opsega 0 -9 Datum, opseg, od 01 -JAN-44 nadalje Karakter (1), vrednost M i Ž Broj, opseg od min. LD do 40000. 00, gde je Moguće vrednosti plata radnika min. LD minimalni republički lični dohodak Moguće adrese radnika preduzeća Niz karaktera (30)
Baze podataka Ključevi relacije U relacionom modelu podataka atribut ili skup atributa čije vrednosti predstavljaju identifikator entiteta (torke u relaciji) nazivamo ključem relacije. Takvi atributi se nazivaju ključni atributi. Ako relacija ne poseduje atribut ili skup atributa koji je identifikuju, tada se uvodi specijalni identifikacioni atribut - ključ surogat, koji se obično označava sa ID.
Baze podataka Terminologija Ključ ◦ Pošto su sve torke relacije različite, u relaciji mora postojati atribut ili skup atributa (tzv kompozitni ključ – ključ od više atributa), nazvani relacioni ključevi ili ključevi relacije, koji na jedinstven način identifikuje svaku torku relacije. Primarni ključ ◦ Ključ kandidat koji je odabran da na jedinstven način identifikuje torke unutar relacije.
Baze podataka Ključ surogat ◦ Identifikator koji je dodat relaciji kao primarni ključ, zato što relacija nema odgovarajući atribut ili skup atributa koji može biti primarni ključ relacije. Spoljni ključ / Strani ključ ◦ Atribut ili skup atributa jedne relacije koji se uparuje sa ključem kandidatom neke druge ili iste relacije. Važan za ostvarivanje međusobnih veza između tabela!!!
Baze podataka Zadatak: Ključ relacije ◦ Identifikovati primarne ključeve relacija RADNIK i SEKTOR iz prethodnog primera.
Baze podataka Rešenje: ◦ Primarni ključ u relaciji SEKTOR je broj sektora, odnosno atribut SBROJ, zato što na jedinstven način identifikuje svaki sektor u preduzeću ◦ U relaciji RADNIK primarni ključ je očigledno matični broj radnika. ◦ U relaciji RADNIK atributi BRSEK i MATBRS su spoljni ključevi. Prvi je primarni ključ u matičnoj relaciji SEKTOR, a drugi je primarni ključ u relaciji RADNIK. Relacija SEKTOR ima spoljni ključ MATBRR koji je primarni ključ u relaciji RADNIK. U relaciji SEKTOR atribut NAZIV je ključ kandidat (ako važi pravilo da u preduzeću ne postoje dva ili više sektora sa istim imenima)
Baze podataka Relacioni integritet Već smo ukazali da se za svaki atribut u relaciji vezuje određeni domen. Radi se o domenskim ograničenjima (eng. domain constraints), kojima se ograničava skup dozvoljenih vrednosti atributa relacije. Postoje još dva pravila integriteta, poznata kao integritet entiteta (eng. entity integrity) i referencijalni integritet (eng. referential integrity), koja ograničavaju ili zabranjuju pojave određenih torki u relaciji.
Baze podataka Ograničenja Integritet entiteta ◦ Nijedan atribut primarnog ključa bazne relacije ne sme imati NULL vrednost. Referencijalni integritet ◦ Ako postoji neki spoljni ključ u relaciji, njegova vrednost mora biti jednaka vrednosti ključa kandidata neke torke u matičnoj relaciji ili njegova vrednost mora biti NULL. ◦ Referencijalni integritet je važan kod definisanja međusobnih veza između tabela.
Baze podataka Na primer, pomenuta veza između relacija RADNIK i SEKTOR (odnosi se na radnike koji rade u nekom sektoru): RADNIK : SEKTOR X: Y Najpre posmatramo jednog radnika i određujemo sa koliko sektora je on u vezi. Pošto jedan radnik može da radi samo u jednom sektoru, kardinalnost sa strane sektora je 1: RADNIK : SEKTOR X: 1
Baze podataka Nakon toga posmatramo jedan sektor i određujemo sa koliko radnika je u pomenutoj vezi. Jedan sektor može da ima više radnika, pa je kardinalnost sa strane radnika u ovoj vezi N: RADNIK : SEKTOR N: 1 Veze tipa 1: 1 i 1: N se jednostavno definišu dodavanje stranog ključa. Komplikovanija situacija je ako je veza između dve relacije više-na-više, odnosno M: N.
Baze podataka Predstavljanje šema relacione baze podataka Uobičajena konvencija za predstavljanje relacione šeme je dijagram relacije. Svaka relacija se predstavlja jednim izduženim pravougaonikom koji ima onoliko ćelija koliko je atributa u relaciji. Ime relacije se ispisuje iznad pravougaonika, a imena atributa u ćelijama, pri čemu ostaje pravilo da se primarni ključ podvlači, a da se spoljni ključevi pišu italikom.
Baze podataka
BAZE PODATAKA
1. PODACI I INFORMACIJE · Informaciona tehnologija omogućava kvalitetnu obradu i prenos informacija bez obzira na njihovu količinu i strukturu. · INFORMATIO (latinski)- pojam, poruka, skup spoznaja, predstava. · INFORMACIJA je apstraktni pojam, da bi mogli praktično da je upotrebimo mora biti prikazana preko realnih elemenata ( brojevi, slova, vrednosti fizičkih veličina). · Fizičko predstavljanje informacije naziva se podatak. · Informacija je značenje koje čovek pripisuje podacima u skladu sa opštim dogovorima. - Informacije predstavljaju činjenice o pojmovima kao što su ljudi, predmeti, pojave itd.
STRUKTURA INFORMACIJA PRIMER: Informacija o pojmu UČENIK Petar Petrović je ime i prezime učenika, IV-2 je odeljenje, Gimnazija u Pirotu je naziv škole koju učenik pohađa, a ulica Srpskih vladara je adresa gde učenik stanuje. - Informacija se sastoji iz najmanje dva dela podatka i konteksta. - - Važno je znati i na koji način su predstavljeni podaci - - Informacija o nekom pojmu ( prilagodjena za automatsku obradu ) 1 Kontekst 2 Podaci 3 Način predstavljanja podataka - Kontekst informacije - lista veličina čije vrednosti opisuju dati pojam. Takva lista veličina naziva se opis logičkog zapisa ili logičkog sloga. - U klasičnoj obradi podaci se čuvaju odvojeno od konteksta, kontekst u programima, a podaci u datotekama ( diskete, trake, diskovi )
Kod fizičkog zapisa podataka razlikujemo tri nivoa logičkih jedinica 1 Polje ( najmanja logička jedinica podatka. Ima svoje ime, svoju vrednost i način predstavljanja) 2 Logički zapis ili slog ( skup polja koja se odnose na isti pojam) 3 Logička datoteka ( skup logičkih zapisa ) - Ovo je najočiglednije kod organizacije podataka u tabele.
2. POJAM BAZE PODATAKA Pod organizacijom podataka podrazumeva se logičko predstavljanje i povezivanje podataka 1. Konvencionalan ili klasičan nažin organizacije - organizacija podataka u datoteke 2. Baze podataka - organizacija u vidu integrisanih podataka Glavni nedostaci klasičnog organizovanja (zbog dupliranja podataka) 1. Raste broj grešaka u procesu obradade 2. Zbog nepouzdanih podataka, nepouzdane su i odluke zasnovane na njima 3. Rastu troškovi obrade podataka 4. Raste vreme odgovora računarskog sistema. Baza podataka predstavlja osnovu za dobijanje informacija Baza podataka je veći skup međusobno povezanih datoteka Softver pomoću koga se upravlja podacima i obezbe|uje pristup do njih naziva se Sistem za upravljanje bazom podataka DBMS ( Data Base Management System) Aplikacioni programi pišu se korišćenjem jezika za manipulaciju podacima (DML- Data Manipulation Language)
Veze između podataka , relacije Veze između dve vrste atributa naziva se asocija Binarna relacija R B 1 x B 2 definiše dve asocijacije izmedju skupova B 1 i B 2 i to : 1. Direktnu Ad : B 1 B 2 2. Inverznu Ai : B 2 B 1 Preslikavanje je par asocija (Ad i Ai) 1. Preslikavanje tipa 1: 1 2. Preslikavanje tipa 1: n 3. Preslikavanje tipa n: n
Da bi baza podataka mogla efikasno da se koristi, mora se sprovesti postupak stvaranja stabilnih struktura podataka koji se naziva NORMALIZACIJA. Stepen u kome su podaci grupisani u stabilne strukture naziva se NORMALNA FORMA Kod projektovanja baze podataka vrlo su bitna prva tri koraka normalizacije, odnosno dovo|enje relacija u prvu, drugu i treću normalnu formu.
Relacija se nalazi u prvoj normalnoj formi ako ne sadrži grupe podataka koje se ponavljaju. Relacija se nalazi u drugoj normalnoj formi ako svi njeni atributi, koji nisu kandidati za primarni ključ, potpuno zavise od primarnog ključa, pod uslovom da se relacija već nalazi u prvoj normalnoj formi. Relacija se nalazi u trećoj normalnoj formi ako se nalazi u drugoj normalnoj formi i ako ni jedan od atributa koji nisu kandidati za primarni ključ nije prenosno zavisan od primarnog ključa.
3. VRSTE BAZE PODATAKA Definisani odnosi izme|u podataka u bazi odre|uju globalnu logičku strukturu baze. Postoje četiri logičke strukture baze podataka: 1. Hijerarhijska, 2. Mrežna, 3. Relaciona, i 4. Objektna.
3. 1. HIJERARHIJSKE BAZE PODATAKA Hijerarhijske baze podataka zasnivaju se na hijerarhijskim strukturama podataka koje imaju oblik stabla. Primer kao na slici: 1 2 7 3 8 4 9 5 10 6 11 12 13 Od ključa nadre|enog segmenta može da zavisi jedan, nijedan ili više podre|enih segmenata, a podre|eni segmenat može da ima samo jedan nadre|eni segment. Hijerarhijskom strukturom dobro se može prikazati odnos tipa (1: n)
3. 2. MREŽNE BAZE PODATAKA Mrežne baze podataka zasnivaju se na mreži podataka povezanih tako da ne postoje ni osnovni ni podre|eni segmenti. Primer mrežne strukture dat je na sledećoj slici: PREDMET STUDENT PREDMET Student 1 Student 2 PREDMET Student 3 PREDMET Student 4 Student 5 U mrežnoj strukturi ne postoje nedostaci koje ima hijerarhijska struktura i odnos (n: n) može se uspešno predstaviti. Mrežna struktura može se dobiti kombinacijom hijerarhijskih struktura. Mrežna struktura znatno smanjuje dupliranje podataka.
3. 3. RELACIONE BAZE PODATAKA U slučaju složenih veza izme|u podataka, predstavljanje mrežnom ili hijerarhijskom strukturom postaje znatno otežano. Sve veze koje se prikazuju hijerarhijskom ili mrežnom strukturom mogu se prikazati i tabelama. Tabele imaju sledeće osobine: 1. Ne postoje grupe koje se ponavljaju i svaka rubrika tabele predstavlja jedan podatak. 2. U jednoj koloni postoji samo jedna vrsta podataka. 3. Redovi se razlikuju me|u sobom, 4. Kolone imaju svoj naziv.
Ime relacije Domeni Redovi Relaciona baza podataka sastoji se od relacija. Relacioni pristup zasnovan je na relacionoj matematici. Primer sa slike mogao bi se prikazati kao: UČENIK (lični broj, ime, odeljenje), pri čemu je Učenik-naziv relacije, podaci u zagradi-nazivi domena a podvučeni podaci su ključevi
Kreiranje baze podataka Predpostavimo da je potrebno obraditi podatke o učenicima koji su polagali maturski ispit u jednoj školi.
Prvo treba utvrditi zavisnost izmedju polja u tabeli, odnosno da ustanovimo koja polja su zavisna od kojih polja. Ako možemo da odredimo vrednost nekog polja na osnovu vrednosti nekog drugog polja, onda za takvo polje kažemo da je zavisno od onog drugog polja. Kreiramo sledeće tabele: Maturanti ( id_broj, prezime, adresa, odeljenje) Predmet (predmet, ispitivač) Ocene (id_broj, predmet, ocena)
- Slides: 58