780 likes | 1.47k Views
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.
E N D
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 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.
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), 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).
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 Ekvivalentni skup pojmova
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,
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).
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 • SEKTOR
Baze podataka • Zadatak 2 • Domeni atributa • Identifikovati domene atributa relacije RADNIK iz prethodnog primera.
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 nepostoje 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 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.
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 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.
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. 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)
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
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.