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
2023/2024
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.4 (BPBZ)
Baze podataka i baze znanja 1.3 (BPBZ)
Informacijsko i programsko inženjerstvo 1.4 (IPI)
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. 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
Novaković Miljenko Suradnik Vježbe u praktikumu
Vježbe u praktikumu
14
14
2
2
1
1
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.
  • Organizacija datoteka i objekata baze podataka
    Heap datoteke. Sortirane datoteke. Hash datoteke. Reprezentacija relacijskih objekata. Blokovi. Segmenti i ekstenti.
  • Linearni indeksi
    Operacije nad indeksima. Gusti i rijetki indeksi. Primarni isekundarni indeksi. Kompozitni indeksi. Višeslojni indeksi.
  • Stablasti indeksi
    B-tree indeksi. Organizacija B-tree indeksa. Operacije na B-tree indeksima. Ocjena složenosti operacija u B-tree indeksu.
  • Indeksi temeljeni na Hash tablicama
    Indeksi bazirani na Hash tablicama. Statičko hashiranje. Operacije nad statičkim hash indeskima. Proširivo hashiranje. Operacije nad proširivim hash indeksom. Linearno hashiranje. Operacije nad linearnim hash indeksima.
  • Indeksi za višedimenzionalne podatke
    Kocke podataka. Rešetkasti datoteke. Operacije nad tešestkasnim indeksima. R-stabla. Operacije nad R-stablima. Bitmap indeksi. Operacije nad bitmap indeksima. GiST i GIN indeksi. Operacije nad GiST i GIN indeksima. Indeksi u Key-Value SUBP. Indeksiranje u grafovskim bazama podataka.
  • 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.
  • 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.
  • Upitni algoritmi
    Jednoprolazni algoritmi za relacijske operatore. Dvoprolazni algoritmi. Algoritmi temeljeni na sortiranju. Algoritmi temeljeni na hashiranju. Algoritmi temeljeni na indeksima. Izravni pristup podatcima. Key-Value pristup. Pristup tepeljen na relaciji. Pristup temeljen na listi. Pristup temeljen na skupu. Pristup temeljen na redu. Algoritmi pretraživanja u grafovskim bazama podataka.
  • 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. Procjena složenosti upitnog plana.
  • 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.
  • 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
  • Dizajnirati efikasnu bazu podataka korištenjem adekvatne organizacije objekata baze podataka.
  • Optimizirati rad baze podataka izborom efikasne organizacije fizičkih objekata baze podataka.
  • Optimizirati rad baze podataka izborom efikasnog sustava zaključavanja i pisanjem transakcija koje izbjegavaju zastoja sustava zbog međusobnog zaključavanja.
  • Upotrijebiti tehnike i algoritame rada sustava za upravljanje bazama podataka.
  • Upotrijebiti tehnike zaštite baze podataka od pada sustava i oporavka baze podataka, te dizajn efikasne strategije zaštite baze podataka od pada sustava.
  • Sudjelovati u poboljš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
  • Procijeniti uvjete za primjenu suvremenih informacijskih i komunikacijskih tehnologija (IKT), savjetovati druge u primjeni IKT-a te u zadanom kontekstu odrediti utjecaj na pojedinca, organizaciju i društvo.
  • Modelirati probleme iz područja informacijskih i poslovnih sustava korištenjem matematičkih metoda, metoda razvoja informacijskih sustava i koncepata planiranja, upravljanja i poslovanja
  • Analizirati uvjete, donositi odluke, savjetovati druge te primijeniti odluke u zadanom kontekstu rješavanja problema iz područja informacijskih i poslovnih sustava
  • Vrednovati učinkovitost uvođenja i korištenja programskih rješenja i pripadajuće infrastrukture za konkretne problemske domene
  • Voditi interdisciplinarni tim i raditi u takvom timu te razviti planove upravljanja karijerom za sebe i članove tima uključujući elemente cjeloživotnog učenja i razvoj kompetencija poduzetnosti
  • Svrsishodno komunicirati na hrvatskom i stranom jeziku, unaprijediti komunikaciju sa svim dionicima (klijentima, korisnicima i kolegama) uz primjenu odgovarajuće terminologije uključujući popularizaciju suvremenih informatičkih trendova i tema
  • Primijeniti odgovarajuće metode i tehnike projektiranja, planiranja, razvoja i uvođenja složenog informacijskog sustava u suvremenim razvojnim okolinama
  • Optimizirati procese poslovnog sustava organizacije u suradnji sa stručnjacima odabirom metoda i koncepata planiranja, upravljanja organizacijom i analize poslovanja
  • Oblikovati softversku arhitekturu složenog informacijskog sustava, odabrati i postaviti njegovu odgovarajuću tehnološku platformu i sigurnosne mehanizme te programirati dijelove složenog sustava
  • Utvrditi uvjete za primjenu ključnih informacijskih tehnologija, procijeniti njihov učinak i u zadanom kontekstu donositi odluke i davati savjete vezano uz upravljanje IT uslugama i resursima
  • Analizirati uvjete za primjenu, savjetovati i u zadanom kontekstu donositi odluke vezane uz metodološke pristupe razvoju organizacijskih i informacijskih sustava
  • Osmsliti projekt učinkovitog unapređenja poslovnog sustava u osnovnim vertikalnim područjima uz korištenje suvremenih IKT, realizirati takav projekt vlastitim razvojem ili izborom odgovarajućeg standardnog softvera
  • Analizirati objekte poslovnog sustava te postaviti formalni model objektnog sustava kao temelj izgradnje informacijskog sustava.
  • Dizajnirati i izgraditi sustav temeljen na distribuiranim bazama podataka i velikim izvorima znanja korištenjem tehnika izgradnje velikih i distribuiranih podatkovnih sustava i razrješavanja konflikata između kompetitivnih izvora znanja.
  • Izgraditi računalni sustav za pohranu podataka i znanja uključujući digitalne arhive.
  • Predložiti poboljšanja poslovnog sustava temeljem optimiziranog modela poslovnih procesa i poslovnih pravila.
  • Modelirati i izgraditi analitički podatkovni sustav skladišta podataka i višedimenzionalnih kocaka temeljen na postojećem transakcijskom sustavu.
  • Izgraditi i optimizirati model procesa, klasa podataka i poslovnih pravila poslovnog sustava te predložiti poboljšanja poslovnog sustava.
  • Modelirati i izgraditi sustave temeljene na znanju i sustave za podršku u odlučivanju.
  • Identificirati potrebe za strategijskim i upravljačkim promjenama u organizacijama
  • Primijeniti metode upravljanja životnim ciklusom informacijskog sustava organizacije te osmisliti i primijeniti suvremene strategije nastupa na tržištu informatičkih proizvoda i usluga
  • Definirati elemente strategijskog kontinuuma i primijeniti metode strategijskog upravljanja uz potporu informacijsko komunikacijske tehnologije.
  • Razviti i validirati sustav mjerenja organizacijske učinkovitosti uz primjenu IKT
  • Analizirati tržište primjenom informacijsko-komunikacijskih tehnologija
  • Analizirati poslovne procese te preporučiti i primijeniti odgovarajuće informacijske i komunikacijske tehnologije za unapređenje poslovnih procesa
  • Prezentirati razvoj i organizaciju odgojno-obrazovnih sustava, povijest informatike i računarstva, ustroj odgojno-obrazovnog procesa, društvenu uvjetovanost odgojno-obrazovne prakse i primijeniti suvremene odgojno-obrazovne koncepcije
  • Organizirati nastavni proces uključujući i poučavanje upotrebom tehnologije i u kriznim uvjetima te osmisliti postupke za upravljanje procesom učenja i poučavanja uz primjenu odrednica djelovanja i ponašanja ljudske jedinke i dinamike grupe
  • 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 sa 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
  • Primijeniti i sukreirati suvremene računalne sustave u dizajnu obrazovnog informacijskog sustava u nastavi u skladu s pedagoškim i metodičkim principima te ih popularizirati sukladno trendovima i potrebama
  • Primijeniti principe proceduralnog programiranja, interneta, weba, stolnih aplikacija u kontekstu rješavanja problema iz realnog svijeta
  • Formulirati problem iz realnog svijeta u smislu problemskog zadatka u informatici te ga znati riješiti i rješenje evaluirati
  • Izvoditi proces poučavanja u multikulturalnim i multietničkim sredinama i drugim posebnim uvjetima (treća dob, centri izvrsnosti …)
  • Strukturirati i procjenjivati osobna i profesionalna iskustva (razvijati refleksivnu praksu) uključujući cjeloživotno učenje
Osnovna literatura
  • Ramakrishnan, Gehrke: Database Management Systems, Prentice-Hall, (2003.)
  • Garcia-Molina, Ullman, Widom: Database Systems: The Complete Book. Prentice Hall, (2008.)
  • Database Concepts, Oracle Inc. (2021.), https://docs.oracle.com/database/121/CNCPT/toc.htm
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: 27.11.2024.
Vrijeme: 16:00
Opis: Na Fakultetu
izvanredni rok
Datum: 25.04.2025.
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