1 / 58

Baze podataka

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.

aram
Télécharger la présentation

Baze podataka

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Baze podataka

  2. 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.

  3. Baze podataka Komponente sistema baza podataka

  4. 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.

  5. 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 dvodimenzionalnetabele. • 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.

  6. 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. 

  7. 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.

  8. Baze podataka • Sistem za upravljanje bazama podataka (DBMS) • DBMS obično nudi: • Jezik za opis podataka (eng. Data Definition Language - DDL), kojiomoguć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).

  9. 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

  10. 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)

  11. 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.

  12. 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,...

  13. 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.)

  14. Baze podataka • personalni sistemi baza podataka (npr. aplikacija za evidenciju kucnih troskova gde BP koristi jedan samo korisnik Personalni sistem baza podataka

  15. Baze podataka • enterprise sistemi baza podataka (npr. velika kompanija, ima sistem baza podataka sa velikim količinama informacija. Enterprise sistem baza podataka

  16. 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.

  17. 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

  18. 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.

  19. 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!

  20. 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

  21. 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.

  22. 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.

  23. Baze podataka Ekvivalentni skup pojmova

  24. Baze podataka • Svojstva relacije • Relacija ima sledeća svojstva: • Svaka relacija ima 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,

  25. Baze podataka • Redosled atributa u relaciji nemaznač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).

  26. 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. 

  27. Baze podataka RADNIK • SEKTOR

  28. Baze podataka • Zadatak 2 • Domeni atributa • Identifikovati domene atributa relacije RADNIK iz prethodnog primera.

  29. 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.

  30. 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.

  31. 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!!!

  32. Baze podataka • Zadatak: • Ključ relacije • Identifikovati primarne ključeve relacija RADNIK i SEKTOR iz prethodnog primera.

  33. 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 nepostoje dva ili više sektora sa istim imenima)

  34. 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.

  35. Baze podataka Ograničenja • Integritet entiteta • Nijedan atribut primarnog ključa bazne relacije nesme 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.

  36. 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

  37. 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.

  38. Baze podataka Predstavljanje šema relacione baze podataka • Uobičajena konvencija za predstavljanje relacione šeme je dijagram relacije. • Svaka relacija se predstavlja jednim izduženim pravougaonikomkoji 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.

  39. Baze podataka

  40. BAZE PODATAKA

  41. 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.

  42. 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 )

  43. 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.

  44. 2. POJAMBAZEPODATAKA • Pod organizacijom podataka podrazumeva se logičko predstavljanje i povezivanje podataka • Konvencionalan ili klasičan nažin organizacije - organizacija podataka u datoteke • Baze podataka - organizacija u vidu integrisanih podataka • Glavni nedostaci klasičnog organizovanja (zbog dupliranja podataka) • Raste broj grešaka u procesu obradade • Zbog nepouzdanih podataka, nepouzdane su i odluke zasnovane na njima • Rastu troškovi obrade podataka • 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)

  45. Veze između podataka , relacije • Veze između dve vrste atributa naziva se asocijacija • Binarna relacija R B1x B2 definiše dve asocijacije izmedju skupova B1 i B2 i to : • Direktnu Ad : B1  B2 • Inverznu Ai : B2  B1 • Preslikavanje je par asocijacija (Ad i Ai) • 1. Preslikavanje tipa 1:1 • 2. Preslikavanje tipa 1:n • 3. Preslikavanje tipa n:n

  46. 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.

  47. 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.

More Related