Prezentacija RDBMS

Embed Size (px)

Citation preview

PANEVROPSKI UNIVERZITET APEIRON FAKULTET POSLOVNE INFORMATIKE

Predmet RDBMS (SQL administracija & CASE alati) Click RELACIONI MODEL BAZA PODATAKA to edit Master subtitle style

Predmetni nastavnik: Prof. dr Zoran . Avramovi, dipl.in.elek. Januar, 2012. godine

Kandidat: Saa Blagojevi 83-11/VNI

4/22/12

Uvod

Baza podataka je softverska konstrukcija namjenjena za pohranjivanje, analizu i pretraivanje grupe srodnih i povezanih podataka Baza podataka sastoji se od jedne ili vie (dvodimenzionalnih) tabela koje meusobno mogu biti povezane. Svaka tabela uva istovrsne podatke (npr. podatke o nekoj osobi, predmetu i sl.). Svaki red u tabeli predstavlja jedan slog u tabeli (najmanja grupa podataka u bazi koja u potpunosti opisuje neki od koncepata koje baza modelira), a svaka kolona jedno od polja unutar tog sloga. Slog se u literaturi jo ponegdje naziva i entitet, a polje se naziva atribut. Skup svih moguih vrijednosti nekog atributa naziva se domenom tog atributa. Svaki slog tabele se moe jedinstveno identificirati putem jedne ili kombinacijom vrijednosti nekog od polja tog sloga. To polje ili kombinaciju polja tada nazivamo primarni dio ili osnovni klju. U jednoj tabeli moe postojati vie polja ili kombinacija polja koji mogu biti kao primarni klju. Pored toga to primarni klju ima ulogu jedinstvenog identificiranja sloga on igra ulogu i u povezivanju tabela.

4/22/12

TerminologijaTerminologija - RDB Relaciona DB Relacija Atribut Instanca (n-torka) Kardinalnost relacije Stepen relacije Domen Terminologija - tabele Skup tabela Pojedinana tabela Naziv kolone u tabeli Red podataka u tabeli Broj redova u tabeli Broj kolona u tabeli Skup dozvoljenih vrijednosti za podatke u kolonama4/22/12

Organizacija podataka

Da bi postigli dobro kreiranu bazu podataka, podatke bi trebalo organizovati tako da su lako dostupni i da omoguavaju lako odravanje baze podataka. Treba odrediti koji e podaci ulaziti u bazu podataka, zatim koji e se podaci smjestiti u odreene tabele meu kojima e biti uspostavljen odnos, te kakav je odnos meu tim podacima. Potrebno je smanjiti mogunost koliko je mogue da se isti podatak zapisuje vie puta (redundacija), jer viestrukim zapisivanjem nastaju problemi ouvanja stvarne, jedinstvene vrijednosti svih podataka pri auriranju. Potrebno je upravljati smjetanjem podataka i ouvanja tih podataka od namjernih i nenamjernih unitenja tj. da ne doe do gubitka integriteta podataka. Neke podatke treba zatititi od toga da ih neovlateni korisnici ne mijenjaju to se zove tajnost ili privatnost podataka.

4/22/12

Kreiranje baze podatakaU svakodnevnom ivotu da bi poeli neto praviti, kreirati potrebno je da unaprijed odredimo dizajn, nacrt. Pri kreiranju baze podataka, takoe prethodno trebamo organizovati podatke, odrediti ciljeve. Ciljevi dizajniranja/kreiranja: eliminisati suvine podatke omoguiti brzo pronalaenje pojedinanih podataka sauvati jednostavno odravanje baze podataka Kljune aktivnosti pri kreiranju baze podataka su: Modeliranje aplikacije Definisanje podataka neophodnih za aplikaciju Organizovanje podataka u tabelama Uspostavljanje meusobnih veza izmeu tabela Uspostavljanje zahtjeva indeksiranja i vrednovanja podataka Izrada i snimanje svih potrebnih upita u vezi sa aplikacijama

4/22/12

Relacioni model baza podataka

Arhitektura najveeg broja sistema baza podataka odgovara prijedlogu ANSI/SPARC studijske grupe Amerikog nacionalnog instituta za standarde, i poznata je kao ANSI arhitektura. Ova arhitektura predstavljena je hijerarhijom apstrakcija, pri emu svaki nivo hijerarhije ukljuuje specifini nain predstavljanja, reprezentaciju, objekata, odnosa meu objektima i operacija nad objektima. Najnii nivo ANSI arhitekture je unutranji nivo. On je najblii fizikoj reprezentaciji baze podataka, koja u raunarskom sistemu jedina zaista postoji. Zbog toga se unutranji nivo esto i zove nivo fizike baze podataka. Sledei nivo ANSI arhitekture je konceptualni (logiki) i predstavlja nain na koji se podaci iz fizike baze podataka predstavljaju korisniku u optem sluaju. Najvii nivo ANSI arhitekture je spoljanji nivo koji predstavu o podacima iz baze prilagoava potrebama specifinih korisnika ili grupa korisnika.

4/22/12

Relacioni model baza podataka

Globalna ANSI arhitektura sistema baza podataka moe se predstaviti shemom na slici

4/22/12

Relacioni model baza podataka

Reprezentacija koja se nalazi na srednjem, konceptualnom nivou ANSI hijerarhije zove se model podataka. Modelom podataka predstavlja se logika struktura svih podataka u bazi i skup operacija koje korisnik moe izvriti nad tim podacima. To znai da se na konceptualnom nivou mogu vidjeti svi podaci iz fizike baze podataka, samo to je njihova reprezentacija pogodnija za korisnika od fizike (na viem je nivou apstrakcije). Pojedini korisnici ili grupe korisnika mogu imati svoja sopstvena specifina gledanja na model podataka (npr. iz razloga zatite ili udobnosti), pa se pogledi (podmodeli, spoljanji nivo hijerarhije) nalaze iznad modela u hijerarhiji apstrakcija. Isti podaci iz fizike baze podataka (i sa konceptualnog nivoa), na ovom nivou mogu se raznim korisnicima predstaviti na razne naine, dok se postojanje nekih podataka moe od nekih korisnika i sakriti.

4/22/12

Relacioni sistem za upravljane bazama podataka

v

v

Za realizaciju koncepta baze podataka pored odgovarajue hardverske opreme potrebno je obezbjediti i programsku podrku (software), to jest zbirku programa koja predstavlja sistem za upravljanje bazom podataka (DBMS - Data Base Management System). DBMS u optem sluaju ima dvije osnovne funkcije: Prva je da memorie i odrava podatke koji izraavaju svojstva posmatranih objekata (entiteta). Ova funkcija se obavlja pomou jezika za definisanje podataka i strukturu podataka (DDL - Data Definition Language). Druga funkcija omoguava kontrolisan pristup do memorisanih podataka i prikazivanje podataka na zahtjev korisnika. Za sprovoenje ove funkcije koristi se jezik za manipulaciju podacima (DML - Data Manipulation Language).

4/22/12

Relacioni sistem za upravljane bazama podataka

Relacioni sistem za upravljanje bazom podataka (RDBMS - Relation Data Base Management System) omoguava obavljanje najrazliitijih operacija nad relacijama i kombinovanje relacija da bi korisniku obezbjedio odgovore na sva pitanja koja imaju smisla s obzirom na sadraj baze podataka. Osniva relacione teorije E.F.Codd, jo 1985. godine, definisao je 12 strogih pravila koja mora zadovoljiti RDBMS da bi s pravom nosio epitet relacioni. Osnovni princip na kojem se zasnivaju pravila glasi: Svaki sistem koji tvrdi da je relacioni sistem za upravljanje bazom podataka, ili se tako reklamira, mora biti u mogunosti da u potpunosti upravlja bazom podataka svojim relacionim sposobnostima." Osnovna komponenta sistema za upravljanje relacionim bazama podataka koju korisnik vidi jeste relacioni upitni jezik. To je sredstvo kojim korisnik ostvaruje komunikaciju sa relacionom bazom podataka, kojim izraava i zadovoljava sve zahtjeve vezane za podatke u bazi.

4/22/12

Relaciona AlgebraRelaciona algebra spada u kategoriju formalnih upitnih jezika imperativnog karaktera. ini je skup operatora za rad sa relacijama, a rezultati operacija relacione algebre takoe su relacije. Relacionu algebru ini skup od 8 operacija koje se nazivaju osnovnim, ali su samo 5 od njih elementarne, dok se preostale 3 mogu izvesti iz njih. Pored osnovne podjele na elementarne i izvedene, operacije relacione algebre mogu se prema broju operanada (relacija koje uestvuju u operaciji) klasifikovati na unarne (1 operand) i binarne (2 operanda). Uz to, postoji i podjela na tradicionalne skupovne i posebne relacione operacije.

4/22/12

Relaciona Algebra

Restrikcija (simbol ) je elementarna, unarna i posebna operacija koja iz polazne relacije po zadatom kriterijumu izdvaja podskup torki. Kriterijum je neki logiki izraz koji je izraunljiv nad svakom torkom. Dobijena relacija ima istu strukturu kao i polazna.

4/22/12

Relaciona Algebra

Projekcija (simbol ) je elementarna, unarna i posebna operacija koja iz polazne relacije po zadatom skupu atributa formira novu relaciju kao skup torki nad tim atributima. Zadati skup atributa mora biti podskup skupa atributa polazne relacije, a vrijednosti atributa u torkama nastale relacije odgovaraju onima u torkama polazne relacije. Primjenom operacije projekcije mogue je da vie n-torki polazne relacije daje iste vrijednosti.Poto rezultat operacije mora biti relacija, uzima se samo jedna rezultantna relacija

4/22/12

Relaciona AlgebraUnija (simbol U ) je elementarna, binarna i skupovna operacija koja iz dvije polazne relacije formira novu koja sadri sve torke koje se nalaze u bilo kojoj ili eventualno u obije polazne relacije. Ova operacija nije mogua izmeu bilo koje dve relacije, nego samo izmeu onih koje zadovoljavaju uslove: - eme relacija imaju isti broj atributa; - atributi ema relacija redom odgovaraju jedni drugim po znaenju i tipu (ne mora po nazivu) Navedeni uslovi se nazivaju: unijska kompatibilnost Svaka n-torka koja je prisutna u obje relacije pojavljuje se samo jednom u rezultantnoj

4/22/12

Relaciona Algebra

Razlika (simbol ) je elementarna, binarna i skupovna operacija koja iz dvije polazne relacije formira novu koja sadri sve torke prve relacije koje se ne nalaze u drugoj relaciji. Ova operacija je mogua samo izmeu unijski kompatibilnih relacija.

4/22/12

Relaciona Algebra

Presjek (simbol ) je izvedena, binarna i skupovna operacija koja iz dvije polazne relacije formira novu koja sadri sve torke prve relacije koje se nalaze i u drugoj relaciji. Ova operacija je mogua samo izmeu unijski kompatibilnih relacija.

4/22/12

Relaciona Algebra

Dekartov proizvod (simbol ) je elementarna, binarna i skupovna operacija koja iz dvije polazne relacije formira novu, sa torkama dobijenim tako to se svaka torka iz prve relacije redom "spoji" sa svakom torkom druge relacije, pri emu ema nastale relacije sadri redom sve atribute polaznih relacija.

4/22/12

Relaciona AlgebraSpajanje (simbol >< ) je izvedena, binarna i posebna operacija koja iz dvije polazne relacije formira novu, sa torkama dobijenim u dva koraka: - svaka torka iz prve relacije redom se spaja sa svim torkama iz druge relacije; - iz tako dobijenih torki izdvajaju se one koje zadovoljavaju zadati uslov P. Prethodna definicija dozvoljava proizvoljni uslov P, pod uslovom da je izraunljiv za svaku n-torku nakon Dekartovog proizvoda

4/22/12

Relaciona Algebra

Dijeljenje (simbol / ) je izvedena, binarna i posebna operacija koja predstavlja najsloeniju operaciju relacione algebre. Operacija deljenja daje one vrednosti X u r koje u kombinaciji sa Y pokrivaju skup vrednosti zadat relacijom s. Dijeljenje se ne moe izvesti sa proizvoljnim tabelama Za A/B potrebno je da se svi atributi relacije B nalaze u relaciji A

4/22/12

Predstavljanje podatakaSvi podaci u relacionoj bazi predstavljaju se na logikom nivou na jedinstven nain - preko vrijednosti u tabelama. Pod pojmom svi podaci podrazumjevaju se podaci koje je korisnik definisao i unio u bazu bez obzira na to da li je rije o: - osnovnim podacima (koji se odnose na vrijednosti atributa), - tzv. meta-podacima (kojima su definisani nazivi tabela, kolona i dr.), ili - definiciji razliitih pravila kao to su pravila integriteta.

4/22/12

Sistemski tretman NULL vrijednosti

-

Potpuno relacioni sistem za upravljanje bazom podataka obavezno sistemski podrava predstavljanje informacija koje nedostaju u bazi, upotrebom tzv. Null vrijednosti, nezavisno od tipa podataka. Null vrijednost je specifian indikator razliit od praznog niza karaktera ili niza blankova i razliit od nule ili bilo kog drugog broja. RDBMS obezbeuje jedinstvenu prezentaciju Null vrijednosti, a na taj nain i jednostavno rukovanje tim vrijednostima. Vrijednost Null moe biti potencijalna vrijednost svake kolone bez obzira na njen tip, osim u sluaju kad se izriito zahtjeva da vrijednosti u nekoj koloni ne smiju biti nedefinisane (dodatno ogranienje No Null). Izuzetak predstavljaju kolone primarnog kljua koje, kao identifikatori zapisa u tabeli, ne smiju uzeti Null vrijednost.

4/22/12

Neprekidan pristup dinamikom katalogu relacionog modela

Relacioni sistem posjeduje katalog (rijenik) podataka koji se na logikom nivou predstavlja na isti nain kao i sami podaci, tako da ovlaeni korisnici mogu primenjivati jedinstveni relacioni jezik za pretragu ovih metapodataka. Pod pojmom "katalog" podrazumijeva se direktorij u kojem se nalaze sistemske definicije podataka. Uvidom u katalog podataka moe se saznati koje kolone posjeduju odreene tabele, koja su ogranienja definisana, kao i druge informacije koje se odnose na sistemske tabele. U sluaju distribuiranih baza podataka, katalog treba da sadri podatke o lokaciji svakog djela baze. Katalog nazivamo dinamikim zbog injenice da definicije podataka koje se mogu vidjeti odgovaraju upravo tekuem stanju u bazi podataka. Bez obzira na to koji korisnik, na kojoj lokaciji, ili u kom djelu opisa baze napravi neku izmjenu, novo stanje e biti dostupno za itanje svim ovlaenim korisnicima. Veoma je vana injenica da pravo pristupa opisu baze imaju samo za to ovlaeni (autorizovani) korisnici.

4/22/12

Auriranje pogleda

Relacioni sistem posjeduje efikasan algoritam za auriranje svih pogleda koji se teorijski mogu aurirati. Rezultat ovog algoritma smjeta se u katalog (rijenik) baze podataka. Pogledi predstavljaju virtuelne relacije koje fiziki ne postoje ali se u svakom drugom smislu ponaaju kao relacije. Moe se rei da su to izvedene tabele nad kojima je mogue definisati upite kao i nad bilo kojim postojeim tabelama u bazi. Pogled se ponaa kao dinamiki prozor kroz koji se gledaju relacije baze i putem kojeg je mogue vriti promjene koje e se automatski reflektovati na relacijama baze. Svaki put kada korisnik ita podatke kroz pogled, sistem formira rezultujui skup slogova na osnovu definicije pogleda i podataka u tabelama baze. Rezultujui skupovi slogova, odnosno posebne kopije podataka koji se vide kroz pogled, ne uvaju se u sistemu, ve se samo u katalogu baze uvaju definicije pogleda. Pod auriranjem pogleda podrazumjevaju se operacije brisanja i dodavanja slogova, kao i modifikovanje postojeih slogova.

4/22/12

Fizika nezavisnost

Relacioni sistemi u obavezi su da zadovolje pravilo fizike nezavisnosti ija je sutina u sljedeem: aplikacioni program i aktivnosti na terminalima ostaju neizmjenjeni kada se promjeni fizika organizacija baze ili fiziki metod pristupa podacima. Aplikacije i programi rukuju podacima iskljuivo na semantikom i logikom nivou. Sama fizika organizacija podataka predstavlja internu stvar sistema i ima uticaja jedino na performanse (brzinu pristupa podacima, odziv sistema). Neophodno je da u sistemu postoji otra granica izmeu logikog modela podataka i fizikog razmjetaja podataka na mediju. Kreiranje i brisanje indeksa nad nekom tabelom iz baze, ne smije imati uticaja na logiku strukturu programa i naredbi. Kod nerelacionih sistema za upravljanje bazom podataka sami programi bi morali pretrpjeti izmjene u zavisnosti od postojanja indeksa nad odreenim tabelama.

4/22/12

Logika nezavisnost

Kada se na tabelama baze izvre izmjene koje ne izazivaju gubljenje podataka ili logika oteenja, aplikacioni programi i aktivnosti na terminalima ostaju logiki neoteeni. Ukoliko RDBMS ispunjava uslov auriranja pogleda onda e bez problema moi da zadovolji i pravilo logike nezavisnosti. Logika, kao i fizika nezavisnost, za posljedicu imaju jednu veoma vanu prednost koju relacioni sistemi pokazuju u odnosu na nerelacione. Prednost se sastoji u tome to greke u poetnom dizajnu modela podataka nemaju teke posljedice i dozvoljavaju naknadne korekcije. Projektanti u tom smislu mogu da bez prevelikog opterenja kreiraju inicijalne modele podataka, a da ih kasnije, ak i u poodmakloj fazi implementacije aplikacije, ponovo dorauju i prilagoavaju novim zahtjevima.

4/22/12

Integritetska nezavisnost

Sva pravila integriteta definiu se u okviru definicije baze podataka i uvaju se u katalogu podataka, a ne u aplikacionim programima. Integritet podataka djeli se na 4 kategorije: Integritet entiteta podrazumijeva da svaka vrijednost primarnog kljua mora biti jedinstvena na nivou cijele relacije. Osim toga, mora biti ispunjen uslov da ni jedna stavka u koloni primarnog kljua ne smije imati NULL vrednost. Integritet domena odreuje skup dozvoljenih vrijednosti kolone. Odravanje integriteta domena postie se navoenjem dozvoljenog tipa podataka, dozvoljenog formata za unos podataka, ili zadavanjem skupa moguih vrijednosti. Referencijalni integritet odraava definisane odnose (relacije) meu tabelama kada se u njih dodaju ili se iz njih briu zapisi. Korisniki integritet omoguava definisanje specifinih poslovnih pravila. Naime, za bazu podataka mogu postojati dodatna ogranienja, formirana na osnovu odreenih pravila poslovanja, koja definiu vaee podatke u bazi.

4/22/12

Integritetska nezavisnost

RDBMS treba da obezbjedi definisanje svih navedenih kategorija integriteta pod jezikom relacionih podataka. Kada se pravila integriteta jednom definiu ona spreavaju upis podataka koji ne zadovoljavaju te definicije (nekonzistentni podaci). U sluaju promjene pravila integriteta dolazi do izmjene jednog ili vie iskaza ogranienja u katalogu podataka, ali logika struktura programa i aktivnosti na terminalima ostaju neizmenjeni. Jedino mogue sredstvo za uvanje integriteta baze podataka, kod postojeih relacionih sistema, je korienje tzv. okidaa (Triggers). Okida je pokreta procedure koja se automatski poziva kad god doe do dodavanja, auriranja ili brisanja podataka u tabeli. Okida je objekat baze koji se uva u katalogu podataka i svaki je pojedinano pridruen jednoj tabeli, pri emu se navodi koje od operacija dodavanja, auriranja ili brisanja izazivaju njegovo izvrenje.

4/22/12

Distribuciona nezavisnostU zavisnosti od toga koliko primjeraka vrijednosti logikih objekata iz baze postoji i na koliko lokacija se oni nalaze, razlikujemo dva tipa arhitekture sistema baze podataka: 1. centralizovani sistem, i 2. distribuirani sistem U centralizovanom sistemu baza podataka je skup logikih objekata i njihovih vrijednosti, gdje postoji samo jedan primjerak vrijednosti svakog logikog objekta baze. U distribuiranom sistemu vrijednost nekog logikog objekta moe imati vie primjeraka, memorisanih u vie lokalnih baza, na razliitim lokacijama. E.F.Codd je definisao distribucionu nezavisnost RDBMS-a kao njegovu sposobnost da aplikacioni programi i aktivnosti na terminalima ostanu logiki neoteeni: - kada se prvi put uvede distribucija podataka, (sistem je prvobitno upravljao samo nedistribuiranim podacima, a onda je dolo do njihove distribucije) - kada se podaci predistribuiraju (sistem je ve upravljao distribuiranim podacima, ali je dolo do promjene njihovog rasporeda)

4/22/12

Distribuciona nezavisnost

Relacioni sistem koji je distribuciono nezavisan omoguava da jedna transakcija rukuje podacima sa vie udaljenih sistema, a da korisnik pri tome ima utisak da se sve odvija u okviru lokalnog sistema. Ova osobina daje veliku mo naredbama jezika podataka na visokom nivou, koje mogu unutar jedne komande kombinovati podatke sa razliitih mjesta.

4/22/12

Zakljuak

Relacioni model podataka se zasniva na strogoj matematikoj teoriji Olakana je njegova implementacija na raunarski sistem Softverski paketi za manipulaciju relacionim BP su meusobno slini Relacioni model omoguava:

Definisanje podataka Definisanje pravila za ouvanje integriteta podataka Manipulaciju podacima uz odreena pravila

4/22/12

Hvala!Click to edit Master subtitle style

4/22/12