Prezentacija RDBMS

  • Published on
    19-Jul-2015

  • View
    72

  • Download
    0

Embed Size (px)

Transcript

<p>PANEVROPSKI UNIVERZITET APEIRON FAKULTET POSLOVNE INFORMATIKE</p> <p>Predmet RDBMS (SQL administracija &amp; CASE alati) Click RELACIONI MODEL BAZA PODATAKA to edit Master subtitle style</p> <p>Predmetni nastavnik: Prof. dr Zoran . Avramovi, dipl.in.elek. Januar, 2012. godine</p> <p>Kandidat: Saa Blagojevi 83-11/VNI</p> <p>4/22/12</p> <p>Uvod </p> <p>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.</p> <p>4/22/12</p> <p>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</p> <p>Organizacija podataka </p> <p>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.</p> <p>4/22/12</p> <p>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</p> <p>4/22/12</p> <p>Relacioni model baza podataka</p> <p>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.</p> <p>4/22/12</p> <p>Relacioni model baza podataka</p> <p>Globalna ANSI arhitektura sistema baza podataka moe se predstaviti shemom na slici</p> <p>4/22/12</p> <p>Relacioni model baza podataka</p> <p>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.</p> <p>4/22/12</p> <p>Relacioni sistem za upravljane bazama podataka</p> <p> v</p> <p>v</p> <p>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).</p> <p>4/22/12</p> <p>Relacioni sistem za upravljane bazama podataka</p> <p>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.</p> <p>4/22/12</p> <p>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.</p> <p>4/22/12</p> <p>Relaciona Algebra</p> <p>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.</p> <p>4/22/12</p> <p>Relaciona Algebra</p> <p>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</p> <p>4/22/12</p> <p>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</p> <p>4/22/12</p> <p>Relaciona Algebra</p> <p>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.</p> <p>4/22/12</p> <p>Relaciona Algebra</p> <p>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.</p> <p>4/22/12</p> <p>Relaciona Algebra</p> <p>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.</p> <p>4/22/12</p> <p>Relaciona AlgebraSpajanje (simbol &gt;&lt; ) 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</p> <p>4/22/12</p> <p>Relaciona Algebra</p> <p>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</p> <p>4/22/12</p> <p>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.</p> <p>4/22/12</p> <p>Sistemski tretman NULL vrijednosti </p> <p>-</p> <p>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.</p> <p>4/22/12</p> <p>Neprekidan pristup dinamikom katalogu relacionog modela</p> <p>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.</p> <p>4/22/12</p> <p>Auriranje pogleda</p> <p>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.</p> <p>4/22/12</p> <p>Fizika nezavisnost</p> <p>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 neko...</p>