Programiranje baza podataka (2019/2020)


Informacije o kursu

Profesor: Vesna Marinković
Asistenti: Nikola Ajzenhamer, Anja Bukurov

Termini u kojima držim časove vežbi:

Dan Satnica Učionica Grupa
Utorak 13h - 16h 718 3I2 (GR2), 3I2 (GR3)
Četvrtak 14h - 17h 718 3I1 (GR3), 3I2 (GR1)

Fokus ovog kursa je na izučavanju strategija za dizajn i implementaciju aplikacija koje koriste relacione baze podataka za trajno skladištenje podataka. Zbog toga, neka osnovna poznavanja narednih koncepata su neophodna:

  1. Programski jezik C
  2. Programski jezik Java
  3. Organizacija relacionih baza podataka, rad RSUBP (konkretno, DB2)
  4. SQL jezik za upravljanje podacima u relacionim bazama podataka

Svi ovi koncepti se obrađuju na kursevima u okviru studija.

U ovoj školskoj godini neće biti predispitnih obaveza, već će se svih 100 poena osvajati na završnom ispitu. Praktični deo ispita vredi 60 poena, a teorijski deo ispita 40 poena.

Praktični deo završnog ispita (prag 50%)

Za više detalja, pogledati sekciju “Organizacija tema iz knjige po nastavnim sedmicama” ispod.

  1. Programiranje C/SQL aplikacija sa ugnežđenim statičkim SQL naredbama.
  2. Rad sa kursorima.
  3. Programiranje C/SQL aplikacija sa ugnježđenim dinamičkim SQL naredbama.
  4. Transakcioni rad.
  5. Rad u višekorisničkom okruženju.
  6. Programiranje Java aplikacija sa dinamičkim izvršavanjem SQL naredbi (JDBC).
  7. Hibernate.

Teorijski deo završnog ispita (prag 50%)

  1. Načini korišćenja baza podataka u višim programskim jezicima; ugrađeni SQL
  2. Dinamički ugrađeni SQL
  3. Direktni pozivi DB2 funkcija (CLI)
  4. ODBC; JDBC; zapamćene procedure
  5. Transakcije: pojam, konkurentno izvršavanje, zaključavanje i katanci
  6. ACID svojstva transakcija, nivoi izolovanosti
  7. Pad i oporavak transakcija
  8. Objektno-relaciono mapiranje: osnove
  9. Hibernate: konfigurisanje baze podataka, metode preslikavanja klase na tabele
  10. Hibernate: trajno čuvanje kolekcija i veza
  11. Hibernate: jezik HQL
  12. Administracija baza podataka

Materijali sa časova vežbi

  • Preuzimanje:
    • OneDrive (Napomena: vodite računa da ste prijavljeni na OneDrive servis pre nego što pokušate da preuzmete VM, jer u suprotnom može izbaciti "grešku" da nemate privilegije da pristupite.)
  • Veličina na disku: 29.8 GB
  • Napravljena za: Oracle VM Virtualbox (Windows, Linux, OSX)
  • Kredencijali za prijavljivanje:
    • korisničko ime: student
    • lozinka: abcdef
  • Lubuntu 64-bit, DB2 SUBP 11.5, Java 8 i Hibernate 5.4.
  • Napomene: Ova verzija VM se koristi za polaganje praktičnog kolokvijuma i praktičnog dela ispita, te se preporučuje njeno korišćenje. Alternativa je korišćenje starije verzije VM, koja zauzima manje prostora na disku, a čije su informacije navedene u nastavku.

  • Preuzimanje:
  • Veličina na disku: 8 GB
  • Napravljena za: VMWare (Windows, Linux)
  • Kredencijali za prijavljivanje:
    • korisničko ime: student
    • lozinka: abcdef
  • OpenSUSE 32-bit, DB2 SUBP 10.5, Java 7 i Hibernate 5.1.
  • Napomene: Ova verzija VM se koristila do 2019/2020. akademske godine. Iako se i ona može koristiti za potrebe kursa, ipak se preporučuje korišćenje VM iznad, jer je sistem dosta zastareo kao i veliki broj aplikacija koji je instaliran na njemu. Sami kodovi bi trebalo da rade i na ovoj VM bez značajnijih izmena u kodu. Najveća razlika je u skriptovima za prevođenje C/SQL programa. Verzije skriptova za ovaj sistem se mogu pronaći u direktorijumu sa materijalima na Desktopu.