Sadržaj se učitava...
mdi-home Početna mdi-account-multiple Djelatnici mdi-script Studiji mdi-layers Katedre mdi-calendar-clock Raspored sati FOI Nastava search apps mdi-login
Fizičko oblikovanje baza podataka
Physical Design of Databases
2020/2021
5 ECTSa
Informacijsko i programsko inženjerstvo 1.3 (IPI)
Informatika u obrazovanju 1.3 (IUO)
Organizacija poslovnih sustava 1.3 (OPS)
Baze podataka i baze znanja 1.3 (BPBZ)
Katedra za teorijske i primijenjene osnove informacijskih znanosti
RI
2. semestar
Osnovne informacijemdi-information-variant Izvođači nastavemdi-account-group Nastavni plan i programmdi-clipboard-text-outline Model praćenjamdi-human-male-board Ispitni rokovimdi-clipboard-check-outline Rasporedmdi-calendar-clock Konzultacijemdi-account-voice
Izvođenje kolegija
Cilj kolegija
Ovaj kolegij daje znanja koja upotpunjuju znanja potrebna za cjelovito razumijevanje sustava za upravljanje bazama podataka (SUBP), njihovog rada i načina na koji su u praksi izvedeni. Ovaj kolegij koristi znanja iz mnogih drugih kolegija, kao što su Baze podataka 1, Algoritmi, Strukture podataka itd. te se prirodno nadovezuje na njih u posebnom kontekstu. Znanja koja se ovdje daju studentu upućuju ga u način rada jednog progamskog sustava koji se po zastupljenosti na računalu svrstava na drugo mjesto, odmah iza operacijskih sustava. SUBP je prilično složen sustav koji u sebi sadrži različite aspekte koji mu omogućuju efikasan rad. S mnogim od tih aspekata, koji se javljaju u većini danas poznatih SUBP, student će se upoznati tijeklom ovog kolegija. Ovaj kolegij nije korsitan samo onima koji se kane baviti razvojem SUBP, jer se pretpostavlja da je takvih ipak u populaciji studenata manje, nego svima onima koji žele kvalitetno koristiti neki od postojećih SUBP, jer im omogućuje da razumiju mogućnosti i ograničenja sustava s kojim rade, a koja su dana zbog objektivnih teorijskih poteškoća, kao i kritike sustava u kojem rade zbog neadekvatnih rješenja koja taj sustav nudi, te izbor za njihovu potrebu najboljeg SUBP. Također, kolegij ima i druge ciljeve. Studentima koji se kane baviti znanstvenim radom na polju informacijskih znanosti, a posebice na polju baza podataka, daje drugi i drugačiji uvid u svijet baza podataka, njegovu nižu, fizičku razinu, te algoritme koji omogućuju deklarativni rad koji je danas kod SUBP-a uobičajen.
Preduvjeti
Kolegij nema definirane preduvjete
Norma kolegija
Predavanja
30 sati
Vježbe u praktikumu
30 sati
Nastavnik Uloga na kolegiju Oblik nastave Tjedana Sati Grupa
Lovrenčić Alen Nositelj Predavanja 15 2 1
Schatten Markus Suradnik Vježbe u praktikumu 15 2 2
Sadržaj predavanja
  • Uvod
    Pojam SUBP. Povijesni razvoj SUBP. Fizička, konceptualna i vanjska razina SUBP. Jezici za rad s bazama podataka. Relacijski model. Tablice i atributi.
  • Diskovi i datoteke
    Upravljanje prostorom na disku. Upravljanje spremnicima. Zapisi. Zapisi fiksne i varijabilne duljine. Stranice. Stranice varijabilne i fiksne duljine. Datoteke. Indeksi. Sistemski katalozi SUBP. Sortiranje u sekundarnoj memoriji. Sortiranje spajanjem i ocjena složenosti.
  • Organizacija datoteka i objekata baze podataka
    Heap datoteke. Sortirane datoteke. Hash datoteke. Izbor sustava datoteka. Reprezentacija relacijskih objekata. Zapisi. Zapisi fiksne duljine. Zaglavlja zapisa. Blokovi. Zapisi varijabilne duljine. Promjene na zapisima.
  • Linearni indeksi
    Sekvencijalne datoteke. Gusti i rijetki indeksi. Primarni isekundarni indeksi. Kompozitni indeksi. Indeski s udvostručenim ključevima. B+-tree indeksi. Organizacija B-tree indeksa. Pretraživanje B+-tree indeksa. Dodavanje vrijednosti u B+-tree indeks. Brisanje vrijednosti iz B+-tree indeksa. Ocjena složenosti operacija u B+tree indeksu.
  • Indeski temeljeni na Hash tablicama
    Indeksi bazirani na Hash tablicama. Statičko hashiranje. Proširivo hashiranje. Dodavanje u proširivu Hash tablicu. Brisanje iz proširive Hash tablice. Ocjena složenosti operacija na proširivom Hash indeksu. Linearno hashiranje. Dodavanje elemenata u linearnu Hash tablicu. Brisanje elemenata iz linearne hash tablice. Ocjena složenosti operacija na linearnoj Hash tablici.
  • Indeksi za višedimenzionalne podatke
    Kocke podataka. Grid datoteke. Pretraživanje grid datoteka. Ubacivanje vrijednosti u Grid datoteke. Ocjena složenosti operacija na Grid datotekama. R-stabla. Operacija na R-stablima. Ocjena složenosti operacija nad R-stablima. Indeksne bitmape.
  • Upiti
    Relacijska algebra. Operatori selekcije, projekcije, prirodnog spoja, Θ-spoja. Kartezijski produkt. Skupovni operatori – unija, razlika, presjek. Eliminacija višestrukih redaka. Grupiranje i agregacija. Sortiranje. Pregledavanje tablice. Sortiranje tijekom pregledavanja. Složenost pregledavanja.
  • Upiti (cont.)
    Jednofazni algoritmi za relacijske operatore. Selekcija slučaj – bez indeksa, nesortirani podaci. Selekcija – bez indeksa, sortirani podaci. Selekcija – B+-tree indeks. Selekcija – hash indeks. Projekcija bazirana na sortiranju. Projekcija bazirana na hashiranju. Projekcija i indeksi.
  • Upiti (cont.)(2)
    Prirodni spoj – ugnježdene petlje. Spoj pomoću sortiranja spajanjem. Spoj pomoću hashiranja. Unija i razlika pomoću sortiranja. Unija i razlika pomoću hashiranja. Dvofazni algoritmi temeljeni na sortiranju. Dvofazni algoritmi temeljeni na hashiranju. Algoritmi temeljeni na indeksima. Višefazni algoritmi
  • Optimizacija i prevođenje upita
    Parsing upita. Sintaksna analiza. Stabla prijevoda. Planovi upita. Zakoni poboljšanja upita. Zakoni komutativnosti i asocijativnosti. Zakoni za selekciju. Odgurivanje selekcija. Zakoni za spojeve i produkte. Zakoni za izbacivanje duplih redaka. Zakoni vezani uz grupiranje i agregaciju.
  • Optimizacija upita (cont.)
    Unaprjeđivanje plana upita. Grupiranje asocijativnih i kumulativnih operatora. Statistika vođena od SUBP. Procjena cijene plana. Procjena veličine izlaza. Procjena veličine međurezultata. Procjena veličine projekcije. Procjena veličine selekcije. Procjena veličine spoje. Spojevi s više uvjeta. Spojevi većeg broja relacija.Procjena drugih operatora.
  • Optimizacija upita (cont.)(2)
    Heuristike za smanjenje cijene plana. Lijevi i desni argument spoja i njihova razlika. Stabla spajanja. Algoritam za optimizaciju redoslijeda spajanja temeljen na dinamičkom programiranju. Algoritam za optimizaciju redoslijeda spajanja temeljen na metodi pohlepe. Kreiranje završnog plana upita. Odabir metode selekcije. Odabir metode spajanja. Prosljeđivanje za unarne operatore. Prosljeđivanje za binarne operatore.
  • Konkurentnost u SUBP
    Koncept transakcija. Serijski i serijalizabilni planovi. Zaključavanje. Implementacija zaključavanja i otključavanja. Deadlockovi. Razrješavanje deadlockova pronalaženjem ciklusa u usmjerenom matematičkom grafu. Prevencija deadlockova. Problem livelockova. Planiranje zaključavanja. Dvofazno zaključavanje. Dijeljeni i ekskluzivni ključevi. Inkrementalni ključevi. Problem fantomskih zapisa.
  • Konkurentnost u SUBP (cont.)
    Kontrola konkurentnosti u stablastim indeksima. Osiguravanje konkurentnosti pomoću vremenskih znamki i snimaka baze podataka. Problem prljavih podataka. Povezivanje zaključavanja i vremenskih znamki. Tranaskcije koje čitaju nepotvrđene podatke. Serijalizabilnost pogleda. Razrješavanje deadlockova pomoću vremenskih znamki. Vrlo dugačke transakcije. Problemi dugačkih transakcija. Sage. Kompenzacija transakcija.
  • Oporavak od pada sustava
    Logovi. Druge strukture podataka za oporavak baze podataka. Protokol logiranja pisanjem unaprijed. Rad s kontrolnim točkama. Faza analize. Faza ponavljanja transakcija. Faza brisanja nezavršenih transakcija. Oporavak medija. Zrcaljenje medija. RAID5 diskovi.
Sadržaj seminara/vježbi
  • Seminari
    Seminarski radovi iz ovog kolegija obrađuju nove metode koje se javljaju u SUBP-ovima, te nepokrivena područja vezana uz tematiku. Također, oni mogu biti vezani uz kritiku načina implementacije pojedinih teorijskih koncepata kod SUBP s kojim se studenti koriste. Ovaj samostalni rad studenata vrlo je bitan kako bi studenti stekli pojam o području, o stvarnom SUBP i o razlikama između teorijskih načela i prakse. Stoga seminarski radovi znatno utječu na studentovu krajnju ocjenu iz kolegija.
  • Vježbe
    Laboratorijske vježbe iz ovog kolegija temelje se na izgradnji pojedinih algoritama vezanih uz baze podataka u programskom jeziku
Ishodi učenja kolegija
  • Dizajniranje efikasne baze podataka korištenjem adekvatne organizacije objekata baze podataka
  • Optimiziranje rada baze podataka izborom efikasne organizacije fizičkih objekata baze podataka
  • Optimiziranje rada baze podataka izborom efikasnog sustava zaključavanja i pisanjem transakcija koje izbjegavaju zastoja sustava zbog međusobnog zaključavanja
  • Razumijevanje tehnika i algoritama rada sustava za upravljanje bazama podataka
  • Razumijevanje tehnika zaštite baze podataka od pada sustava i oporavka baze podataka, te dizajn efikasne strategije zaštite baze podataka od pada sustava
  • Sudjelovanje u pobljšanju i izradi novih svojstava otvorenih sustava za izgradnju baza podataka
Ishodi učenja programa
  • Primijeniti etička načela, zakonsku regulativu i norme koje se koriste u struci
  • Analizirati i procijeniti uvjete za primjenu suvremenih informacijskih i komunikacijskih tehnologija (ICT), savjetovati druge u primjeni iste te u zadanom kontekstu odrediti utjecaj primjene na pojedinca, organizaciju i društvo.
  • Modeliranje problema iz područja informacijskih i poslovnih sustava korištenjem matematičkih metoda, metoda razvoja informacijskih sustava i koncepata planiranja, upravljanja i poslovanja
  • Primijeniti, utvrditi uvjete za primjenu, savjetovati i u zadanom kontekstu donositi odluke vezane uz rješavanje problema iz područja informacijskih i poslovnih sustava
  • Analizirati i ocijeniti učinkovitost uvođenja i korištenja ICT (programskog rješenja i pripadajuće opreme) za konkretne problemske domene informacijskih i poslovnih sustava
  • Procijeniti i preporučiti programska rješenja za konkretne problemske domene informacijskih i poslovnih sustava
  • Voditi interdisciplinarni tim i raditi u takvom timu
  • Predstaviti i popularizirati suvremena trendove u informatici u stručnim i laičkim krugovima
  • Unaprijediti metode komuniciranja i komunikaciju s klijentima, korisnicima i kolegama na verbalan i pisani način uz primjenu odgovarajuće terminologije uključujući i sposobnost komunikacije o struci na stranom jeziku
  • Unaprijediti i primijeniti metode stručnog rada pronalaženjem i vrednovanjem suvremenih izvora znanja
  • Valorizirati stručnu literaturu na hrvatskom i stranom jeziku
  • Razviti vlastite planove i planove drugih članova tima u upravljenju karijerom u struci i vlastitih poduzetničkih poduhvata s obzirom na potrebe poslovnog okruženja
  • Planirati proces cjeloživotnog osobnog i profesionalnog razvoja i definirati optimalne individualne strategije učenja
  • Projektirati, planirati, izraditi i uvesti svaki poslovni složeni informacijski sustav i/ili voditi projektni tim u slučaju kada na tim poslovima mora biti uključen veći broj stručnjaka
  • Razumjeti poslovni sustav organizacije i u suradnji s poslovnim stručnjacima optimalizirati njezine poslovne procese te izraditi strateški plan primjene ICT-a
  • Oblikovati softversku arhitekturu složenog informacijskog sustava, odabrati i postaviti odgovarajuću tehnološku platformu i programirati najsloženije dijelove složenog sustava
  • Primijeniti metode planiranja i upravljanja poslovanjem uz pomoć ICT u osnovnim vertikalnim područjima primjene ICT
  • Utvrditi uvjete za primjenu, savjetovati i u zadanom kontekstu donositi odluke vezane uz ključne aspekte primjene i razvoja informacijske tehnologije (programiranje, algoritmi, strukture podataka, baze podataka i znanja)
  • Utvrditi uvjete za primjenu, savjetovati i u zadanom kontekstu donositi odluke vezane uz suvremene tehničke koncepte i prakse u informacijskim tehnologijama (arhitektura računala, operacijski sustavi, mreže računala)
  • Utvrditi uvjete za primjenu, savjetovati i u zadanom kontekstu donositi odluke vezane uz metode i koncepte planiranja, upravljanja organizacijom i obračuna poslovanja
  • Analizirati uvjete za primjenu, savjetovati i u zadanom kontekstu donositi odluke vezane uz metodološke pristupe razvoju organizacijskih i informacijskih sustava
  • Analizirati uvjete za primjenu, savjetovati i u zadanom kontekstu donositi odluke za primjenu koncepata elektroničkog poslovanja podržanih odgovarajućim arhitekturama informacijskih sustava (klasične ili distribuirane)
  • Osmisliti projekt učinkovitog unapređenja poslovne tehnologije poslovnog sustava uz korištenje suvremenih ICT te realizirati takav projekt vlastitim razvojem ili izborom prikladnog standardnog softvera
  • Odabrati i primijeniti odgovarajuće sigurnosne mehanizme pri projektiranju i izgradnji informacijskog sustava
  • Odabrati i primijeniti metode i tehnike razvoja informacijskih i programskih sustava u suvremenim razvojnim okolinama
  • Utvrditi uvjete za primjenu, savjetovati, procijeniti učinak i donositi odluke vezane uz procese, metode i tehnologije upravljanja IT uslugama i resursima te podrške i pružanja različitih vrsta usluga vezanih uz ICT
  • Objasniti stručnoj i općoj publici informatička rješenja za unapređenje poslovne tehnologije
  • Analizirati i valorizirati atribucije (atribute) objekata poslovnog sustava te postaviti formalni model objektnog sustava kao temelj izgradnje informacijskog sustava
  • Izgraditi informacijski sustav temeljen distribuiranim komponentama kao i na autonomnim i međusobno kompetitivnim izvorima znanja i razriješiti konflikte koji se javljaju među izvorima znanja
  • Primijeniti metode i tehnike izgradnje digitalnih arhiva i dugotrajnog pohranjivanja podataka
  • Primijeniti metode i tehnike pretraživanja i klasifikacije informacija
  • Prepoznati kritične procese i klase podataka poslovnog sustava, izgraditi formalni model procesa i klasa te ga optimizirati i ponuditi prijedloge poboljšanja poslovnog sustava
  • Modelirati poslovna pravila, poslovne podatke kao i pravila za izvođenje transakcijskih podataka koji nisu eksplicitno zadani
  • Modelirati i izgraditi sustav izvođenja analitičkih podataka iz transakcijskih metodama rudarenja i drugim metodama, te izgradnje skladišta podataka u koja se ti podaci pohranjuju
  • Modelirati i izgraditi sustave poslovne inteligencije temeljene na skladištima podataka, kao i njihovo pretraživanje korištenjem metoda višedimenzionalnih kocaka podataka (OLAP)
  • Izgraditi računalni sustav za pohranu podataka i znanja korištenjem suvremenih alata za izradu baza podataka, baza znanja i semantici podataka
  • Izgraditi i optimizirati bazu podataka i bazu znanja primjenom odgovarajućih strategija organizacije podataka i sigurnosti informacijskog sustava
  • Modelirati raspodjelu podataka prema mjestu korištenja podataka, izgraditi sustav replikacije baze podataka i izgraditi distribuiranu bazu podataka
  • Modelirati i izgraditi sustave temeljene na znanju, kao što su višeagentni sustavi, deduktivni sustavi (uključujući i ekspertne sustave), semantički Web sustavi, neuralne mreže itd.
  • Procijeniti potrebe za strategijskim i upravljačkim promjenama u organizacijama
  • Primijeniti metode upravljanja životnim ciklusom informacijskog sustava organizacije
  • Primijeniti metode korporacijskog upravljanja i strategijskog menadžmenta uz potporu informacijske tehnologije
  • Razviti i validirati sustav mjerenja organizacijske učinkovitosti uz primjenu odgovarajućih programskih alata
  • Analizirati tržište primjenom informacijsko-komunikacijskih tehnologija
  • Analizirati poslovne procese i preporučiti primjenu odgovarajuće informacijske i komunikacijske tehnologije za unapređenje poslovnih procesa
  • Organizirati sustav vođenja u javnoj upravi uz primjenu informacijske tehnologije
  • Razviti elemente kontinuuma strategijskog upravljanja: misiju, organizacijske vrijednosti, viziju, strateške ciljeve
  • Analizirati potrebu za e-poslovanjem i primijeniti koncepte e-poslovanja
  • Procijeniti spremnost organizacije za uvođenje suvremenih ERP sustava i definirati projekt uvođenja istih
  • Razumjeti povijesni aspekt edukacijskih sustava, društvenu uvjetovanost odgojno-obrazovne prakse i diferenciranost suvremenih odgojno-obrazovnih koncepcija
  • Poznavati organizaciju sustava odgoja i obrazovanja te ustroj odgojno-obrazovnog procesa na svim razinama
  • Razumjeti odrednice djelovanja i ponašanja ljudske jedinke i grupnu dinamiku (razrednog odjeljenja, timova, kolektiva …)
  • Organizirati nastavni proces
  • Artikulirati nastavni sat primjenjujući primjerene nastavne metode i oblike rada, didaktičke principe i nastavna sredstva
  • Voditi pedagošku dokumentaciju, ispitivanje,ocjenjivanje i vrednovanje u skladu s zakonskom regulativom i kriterijima osobne i profesionalne etičnosti
  • Poučavati učenike primjeni različitih oblika učenja, samovrednovanju i samoreguliranom učenju
  • Upravljati razrednim odjeljenjem, i surađivati s roditeljima i drugim strukturama unutar i izvan odgojno-obrazovne institucije
  • Analizirati građu računala, suvremene računalne arhitekture te primijeniti ta znanja u dizajnu obrazovnog informacijskog sustava, kao i u nastavi
  • Primijeniti principe proceduralnog programiranja, izgradnje struktura podataka i algoritama
  • Interpretirati povijest informatike i računarstva
  • Analizirati i usporediti računalne Web i desktop alate za prezentaciju informacija i primijeniti ih u nastavi
  • Formulirati problem iz realnog svijeta u smislu problemskog zadatka u informatici te ga znati riješiti i rješenje evaluirati
  • Analizirati, preporučiti, implementirati i koristiti sustave za e-učenje u skladu s metodičkim i pedagoškim principima
  • Izvoditi proces poučavanja u multikulturalnim i multietničkim sredinama i drugim posebnim uvjetima (treća dob, centri izvrsnosti …)
  • Osmisliti postupke za upravljanje procesom učenja i poučavanja u rizičnim situacijama
  • Predstavljati informatička znanja i vještine kao učinkovite instrumente za podupiranje integracijskih procesa
  • Predstavljati nastavnicima mogućnosti korištenja informatike u odgojno-obrazovnom procesu
  • Preispitivati, strukturirati i restrukturirati svoja osobna i profesionalna iskustva (razvijati refleksivnu praksu)
  • Koristiti stečena znanja o vizualnom oblikovanju i sadržajima u ostvarivanju kreativnih vizualnih projekata pri radu s računalom.
  • Modelirati postojeće vizualne sadržaje za potrebe konkretnih osobnih (ili učeničkih) računalnih radova (web dizajn, grafički dizajn, dizajn multimedija,…).
  • Koristiti vještine učenja potrebne za cjeloživotno učenje i nastavak obrazovanja na diplomskom studiju.
  • Upoznati Nacionalni okvirni kurikulum. Upoznati metodologiju izradbe školskog i nastavnog kurikuluma. Upoznati primjenu nastavnog kurikuluma u praksi.
Osnovna literatura
  • Ramakrishnan, R. Database Management Systems. McGraw-Hill, 1998.
  • Garcia-Molina, H.; Ullman, J.D.; Widom, J.: Database System Implementation. Prentice-Hall, 2000.
Dopunska literatura
  • Ullman, J.D.; Widom, J. First Course in Database Systems. Prentice-Hall, 2001.
  • Atzeni, P.; De Antonellis, V. Relational Database Theory. The Benjamin/Cummings, 1993.
  • Aho, A.; Hopcroft, J.; Ullman, J.D. Algorithms and data structures. Addison-Wesley, 1983.
  • van Leeuwen, J. Handbook of Theoretical Computer science. Elsevier and MIT Press, 1990.
  • Knuth, D.E. The art of Computer programming: Searching and Sorting. Addison-Wesley, 1973.
Slični kolegiji
Redoviti studenti Izvanredni studenti
izvanredni rok
Datum: 24.04.2024.
Vrijeme: 16:00
Opis: Na Fakultetu
U kalendaru ispod se nalaze konzultacije predmetnih nastavnika, no za detalje o konzultacijama možete provjeriti na profilu pojedinog predmetnog nastavnika.
2024 © Fakultet organizacije i informatike, Centar za razvoj programskih proizvoda