Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 6

Sistem baza podataka je sistem zapisivanja i cuvanja slogova tj.

informacija
Komponente:
-podaci
-hardver
-softver
-korisnici

SUBP (DBMS) - sistem za upravljanje bazom podataka se nalazi izmedju sacuvanih


podataka u bazi i korisnika.
Korisnici sistema baza podataka se mogu podeliti na:
-aplikativni programeri (odgovorni su za pisanje programa u nekom jeziku koji
pristupaju bazi preko SUBP)
-krajnji korisnici (pristupaju bazi preko neke aplikacije koju su napravili
programeri)
-administratori (DA koji odlucuje koji ce se cuvati podaci u bazi i postavlja
pravila odrzavanja i rada baze)

Entitet je objekat o kome cuvamo informacije u bazi podataka


Odnosni se mogu posmatrati kao posebna vrsta entiteta (student i predmet su
povezani preko entiteta ispit)

Model podataka je apstraktna definicija objekata i operatora koji cine apstraktnu


masinu sa kojom korisnik komunicira
Objekti dopustaju modeliranje strukture podataka, a operatori koji se primenjuju
nad objektima dopustaju modeliranje ponasanja

RBP se zasniva na formalnoj teoriji koja se zove relacioni model podataka, osobine
su:
-podaci se predstavljaju kao n-torke (ili samo torke) u relacijama (ili kao redovi
u tabelama)
-obezbedjeni su operatori koji se primenjuju nad torkama relacije

Prednosti rada sa bazom podataka:


-podaci se mogu deliti izmedju postojecih aplikacija, mogu se dodavati nove
aplikacije koje koriste bazu bez njene izmene
-smanjuje se redudandnost podataka, podaci se ponavljaju samo dovoljan broj puta
zbog efikasnosti rada
-uklanjanjem redudandnosti eliminise se nekonzistentnost, ne desava se da se neki
podatak promeni a njegova kopija ne
-podrska za rad sa transakcijama (transakcija-logicka jedinica posla nad bazom,
sastoji se od jedne ili vise operacija, atomicnost-ili su sve operacije izvrsene
ili nije nijedna)
-odrzavanje integriteta tj. tacnost informacija u bazi, postize se definicijom
pravila koja vaze u svakom trenutku
-primena zastite podataka, nivoi sigurnosti ko sta moze da vidi, menja...
-balansiranje izmedju konfliktnih zahteva, podaci moraju da budu u strukturi koja
je zadovoljavajuca za sve korisnike a ne samo za neke
-primena standarda, od internacionalnih, industrijskih do onih definisanih od
strane vlasnika baze

Nezavisnost podataka je otpornost aplikacije na promene fizicke reprezentacija


podataka i pristupnih tehnika
Pojmovi koje bi DBA mogao da izvrsi su:
-sacuvano polje je najmanja jedinica podataka koja moze da se cuva
-sacuvani slog je skup sacuvanih polja
-sacuvana datoteka je skup svih trenutno postojecih pojava sacuvanih slogova istog
tipa
Neki aspekti sacuvanih reprezentacija koji mogu da budu predmet promena od strane
DBA:
-reprezentacija brojcanih podataka
-reprezentacija znakovnih podataka
-jedinice za brojcane podatke
Mora se obezbediti mogucnost sirenja baze bez negativnog uticaja na postojece
aplikacije i njihovog menjanja

Relacioni model se opisuje sa:


-aspekt strukture (svi podaci u bazi se korisniku prikazuju iskljucivo u obliku
relacija)
-aspekt integriteta (tabele zadovoljavaju ogranicenja (kljucevi...))
-aspekt obrade (operatori raspolozeni korisnicima za obradu relacija su takvi da
izvode relacije iz relacija)

Domen (tip podataka) predstavlja skup svih mogucih vrednosti


U sistemima postoje ugradjeni tipovi podataka ali korisnik moze da doda svoje
tipove

Relacija nad skupom n domena postoji ako se sastoji od zaglavlja i tela gde vazi:
-zaglavlje je skup n atributa (imena kolona) koji se dodaju na imena n domena
-telo je skup od m n-torki gde se na n-ti atribut dodaje vrednost iz n-tog domena
m je kardinalnost, n je stepen relacije
Bitne osobine relacije su:
-nema ponovljenih torki
-torke su neuredjene u relaciji, od vrha ka dnu
-atributi su neuredjeni u relaciji, sleva na desno
-svaka torka sadrzi tacno jednu vrednost za svaki atribut, ako relacija zadovoljava
ovu osobinu kaze se da je normalizovana, da je u prvoj normalnoj formi
Relacija i tabela se razlikuju po tome da:
-tabela moze da sadrzi duplirane redove dok relacija ne moze da sadrzi duple torke
-redovi u tabeli su uredjeni od vrha ka dnu, dok za relaciju to ne vazi
-kolone u tabeli su uredjene u redosledu sleva na desno, dok za relaciju to ne vazi
Definicija relacije relation {lista atributa odvojenih zarezima}
Atribut je par oblika ime atributa ime domena
RBP je skup relacija, relaciona sema je opis strukture relacija

Neki operatori koji se primenjuju nad relacijama su:


-projekcija (izdvaja pojedinacne atribute)
-restrikcija (selekcija, izdvaja pojedinacne torke iz relacije)

Zatvorenje relacionih sistema je osobina da kad se primene relacioni operatori nad


relacijom dobija se relacija
Iz ovoga sledi postojanje ugnjezdenih relacionih izraza

AND T U F OR T U F NOT MAYBE

T T U F T T T T T F T F
U U U F U T U U U U U T
F F F F F T U F F T F F

Skup atributa cije vrednosti jedinstveno odredjuju n-torku u relaciji se zove


primarni kljuc relacije
Veza izmedju dve relacije se moze postaviti pomocu stranog kljuca nad atributima
jedne relacije kojim oznacavamo da vrednosti u tim atributima mogu biti samo one
koje se javljaju u baznoj relaciji sa kojom zelimo da se povezemo

Relacioni model se sastoji od:


-otvorenog skupa skalarnih tipova (ukljucujuci i tip logickih vrednosti boolean)
-generatora relacionih tipova i njihove odgovarajuce interpretacije
-mogucnosti definisanja relacionih promenljivih za generisane relacione tipove
-operacije relacione dodele kojom se dodeljuju relacione vrednosti definisanim
relacionim promenljivim
-otvorenog skupa opstih relacionih operatora (relaciona algebra) za izvodjenje
relacionih vrednosti iz drugih relacionih vrednosti

Arhitektura baza podataka koja je predlozena od strane ANSI/SPARC studijske grupe


za sisteme za upravljanje podacima sastoji se od:
-unutrasnji nivo (kako se cuvaju podaci u sistemu)
-konceptualni nivo (kako se podaci prikazuju korisniku)
-spoljasnji nivo (nacin kako korisnik vidi podatke)
Postoje samo jedni konceptualni izgled kojim se izrazava apstraktna reprezentacija
podataka i unutrasnji izgled koji predstavlja kako se interno cuvaju podaci
Spoljasnjih izgleda ima vise i oni predstavljaju apstraktno predstavljanje delova
baze koji su vidljivi odredjenim korisnicima
Konceptualni i spoljasnji nivoi se definisu pomocu pojmova orijentisanih korisniku,
unutrasnji se zove nivo implementacije jer se definise pomocu pojmova orijentisanih
masinama
Spoljasnji nivo je korisnicki nivo, korisnici mogu biti programeri ili krajnji
korisnici
Programer aplikacije za izrazavanje zahteva nad podacima ima na raspolaganju
maticni jezik u koji se ugradjuje jezik podataka (DSL) koji je kombinacija dva
podjezika DDL i DML
Krajnji korisnici koriste upitni jezik, primer je SQL
Konceptualni nivo predstavlja informacioni kontekst celokupne baze podataka u
obliku koji je nezavisan od nacina na koji se podaci cuvaju na fizickom nivou
Unutrasnji nivo je reprezentacija baze podataka na niskom nivou, sastoji se od
pojava razlicitih tipova unutrasnjih slogova cije su karakteristike definisane
unutrasnjom semom i zapisane pomocu unutrasnjeg DDL
Pored ova 3 nivoa arhitektura sistema baza podataka obuhvata i preslikavanja
izmedju nivoa:
-jedno konceptualno/unutrasnje preslikavanje
-vise spoljasnje/konceptualnih preslikavanja

Osnovni koraci u pristupu bazi podataka su:


-korisnik zadaje zahtev za pristupom koristeci jezik podataka (SQL)
-SUBP prihvata zahtev i analizira ga
-da bi odredio potrebne operacije SUBP proverava spoljašnju šemu korisnika,
od#govarajuce poljašnje/konceptualno preslikavanje, konceptualnu šemu, konceptual-
no/unutrašnje preslikavanje i definiciju sacuvane baze podataka;
-SUBP izvršava potrebne operacije (tj. zahtev korisnika) nad bazom podataka
U funkcije koje obavlja SUBP ubrajaju se i:
-definisanje podataka
-obrada podataka
-optimizacija izvrsavanja upita
-obezbedjivanje zastite i integriteta podataka
-formiranje recnika podataka
-obezbedjivanje sto efikasnijeg rada
-korisnicki interfejs ka sistemu baza podataka

Svrha sistema baze podataka je da podrzi razvoj i izvrsavanje aplikacija koje rade
sa bazom podataka, takav sistem ime dve komponente:
-server (to je u sustini SUBP sa obezbedjenim osnovnim funkcijama)
-klijent (to su razne aplikacije koje koriste isti interfejs za davanje zahteva
serveru)

Utility programi se prave da olaksaju DBA razlicite admin poslove, dele se na:
-spoljasnje (aplikacije specijalne namene koje rade na spoljasnjem delu sistema)
-unutrasnje (programi koji rade na unutrasnjem delu sistema, moraju biti deo
servera i obezbedjuje ih proizvodjac SUBP)
Primeri utility programa:
-LOAD (rutina koja obezbedjuje pravljenje inicijalne verzije baze podataka iz reg
datoteka)
-UNLOAD/RELOAD (rutine koje obezbedjuju cuvanje cele ili dela baze podataka i
ponovo ucitavanje iz rezervne kopije)
-programi za racunanje raznih statistika
-programi za analizu statistika

Distribuirana obrada znaci da se obrada podataka izvrsava na razlicitim racunarima


koji su spojeni u mrezu, postoji vise tipova ali najjednostavniji je gde je SUBP na
jednoj masini a klijenti na drugoj
Pristup podacima na razlicitim masinama se obicno obezbedjuje na dva nacina:
-klijent moze da pristupi vecem broju servera ali u jednom trenutku samo jednom
-klijent moze istovremeno da pristupi vecem broju servera

Manipulativni deo relacionog modela podataka cini skup operatora koji se koriste za
rad sa relacijama
Postoje dva definisana jezika za manipulisanje podacima koji se koriste za
pravljenje relacionog izraza:
-relaciona algebra
-relacioni racun
U relacionom izrazu napisanom na relacionoj algebri se zadaje redosled izvrsavanja
relacionih operatora nad relacijama, dok preko relacionog racuna se opisuju osobine
koja mora da zadovolji relacija koja se dobija kao rezultat

Relaciona algebra se koristi za modeliranje relacija (objekata) smeštenih u


relacionoj bazi podataka i za definisanje upita nad njima
Prva verzija ima 8 operatora:
-projekcija
-restrikcija
-Dekartov proizvod
-unija
-presek
-razlika
-(prirodno) spajanje
-deljenje

Relacioni izraz relacione algebre je kompozicija relacionih operatora i relacija


nad kojima se pirmenjuju operatori
Osobina da su i argumenti i rezultat primene bilo kog relacionog operatora relacije
se naziva relaciono zatvorenje

Osim prvih operatora mozemo prosiriti sa dodatnim operatorima, neki od njih su:
-define alias novo-ime for ime-relacije
-ime-relacije rename X as novo-ime-atributa

Minimalan skup operatora je skup gde nijedan operator ne mozemo definisati preko
nekih drugih:
-restrikcija
-projekcija
-proizvod
-unija
-razlika

Svrha relacione algebre je da omoguci pisanje relacionih izraza koji omogucavaju


sledece:
-definisanje prostora za dohvatanje podataka
-definisnje prostora za ažuriranje podataka
-definisanje pravila integriteta, odnosno ogranicenja koje baza podataka mora da
zadovolji
-definisanje izvedenih relacija
-definisanje pravila zaštite
...

Relaciona kompletnost je osobina da je upitni jezik jednak relacionoj algebri, da


sve svaka relacija predstavljena u relacionoj algebri moze da se predstavi u
upitnom jeziku

Algebarski zakoni:
-zakon asocijacije
-zakon komutacije

Prioritet operatora
-unarni operatori (restrikcija, projekcija)
-times, join
-intersect, divideby
-union, minus

Relacioni racun je zasnovan na predikatskom racunu, imamo dve varijante:


-relacioni racun n-torki
-relacioni racun domena

Osnovna osobina obe varijante relacionog racuna je promenljiva. Promenljiva u


relacionom racunu n-torki se naziva promenljiva n-torki
Promenljiva n-torki je promenljiva cije vrednosti mogu biti torke iz relacije nad
kojom je deklarisana

range of ime-promenljive is relacija

Relacioni izraz u relacionom racunu n-torki ima oblik


promenljiva.ime-atributa [, promenljiva.ime-atributa]*
[where uslovni-izraz]?

U relacionom racunu postoje dva kvantifikatora - egzistencijalni (exists) i


univerzalni (forall)

U relacionom racunu postoji i operator implikacije sa sledecom sintaksom


if uslov1 then uslov2
koji izracunava netacno jedino za vrednosti promenjivih za koje vazi uslov1, ali ne
važi uslov2

U relacionom racunu domena promenljiva se deklariše nad domenom atributa (domenska


promenljiva) umesto nad relacijom
Relacioni racun domena u okviru uslovnog izraza podržava i oblik poredenja koji se
naziva uslov pripadnosti, uslov pripadnosti ima oblik R (lista parova)

Odrzavanje integriteta podataka je od najvece važnosti za RSUBP, zbog cega se u


sistemu definišu pravila (tzv. ogranicenja integriteta) koja se primenjuju na
podatke

Zlatno pravilo glasi:


Nijednoj operaciji ažuriranja nije dozvoljeno da ostavi bilo koju relaciju u stanju
koje narušava bilo koje od ogranicenja te relacije
Prosireno zlatno pravilo glasi:
Nijednoj operaciji ažuriranja nije dozvoljeno da ostavi bilo koju bazu podataka u
stanju u kome se neko od ogranicenja baze podataka izracunava kao netacno
Jedna klasifikacija ogranicenja integriteta je prema tipu, moze biti:
-ogranicenje baze podataka
-ogranicenje relacije
-ogranicenje atributa
-ogranicenje tipa
Posebnu grupu ogranicenja relacije ili baze podatka predstavljaju ogranicenja
prelaza pomocu kojih se zadaju moguci prelazi iz jedne u drugu vrednost

You might also like