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:
- Programski jezik C
- Programski jezik Java
- Organizacija relacionih baza podataka, rad RSUBP (konkretno, DB2)
- 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.
- Programiranje C/SQL aplikacija sa ugnežđenim statičkim SQL naredbama.
- Rad sa kursorima.
- Programiranje C/SQL aplikacija sa ugnježđenim dinamičkim SQL naredbama.
- Transakcioni rad.
- Rad u višekorisničkom okruženju.
- Programiranje Java aplikacija sa dinamičkim izvršavanjem SQL naredbi (JDBC).
- Hibernate.
Teorijski deo završnog ispita (prag 50%)
- Načini korišćenja baza podataka u višim programskim jezicima; ugrađeni SQL
- Dinamički ugrađeni SQL
- Direktni pozivi DB2 funkcija (CLI)
- ODBC; JDBC; zapamćene procedure
- Transakcije: pojam, konkurentno izvršavanje, zaključavanje i katanci
- ACID svojstva transakcija, nivoi izolovanosti
- Pad i oporavak transakcija
- Objektno-relaciono mapiranje: osnove
- Hibernate: konfigurisanje baze podataka, metode preslikavanja klase na tabele
- Hibernate: trajno čuvanje kolekcija i veza
- Hibernate: jezik HQL
- Administracija baza podataka
Materijali sa časova vežbi
- “Programiranje Db2 Baza Podataka”, Ajzenhamer Nikola, Vulović Ana, Bukurov Anja
-
Razna uputstva
- Instalacija DB2 11.5 za Linux (64-bit)
- Instalacija Data Studio 4.1.3 za Linux (64-bit)
- Kreiranje baza MSTUD i VSTUD
- Prilagođavanje skripta za prevođenje SQC aplikacija za DB2 11.1 i 64-bitni sistem
- Podešavanje okruženja za Windows OS (64-bit)
- Uputstvo za pravljenje JDBC Java projekta u Data Studio alatu
- Video lekcija - Rad u alatu IBM Data Studio 4.1.3
- Skriptovi za kreiranje baza MSTUD i VSTUD
- 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.
Napomena: Svi delovi knjige koji nisu navedeni ispod nisu obrađivani na časovima vežbi i neće biti na praktičnim proverama znanja
- Poglavlja 1 i 2 (bez sekcije 2.2.8)
- Sekcije 2.2.8, 3.1 i 3.2
- Sekcije 3.3 i 3.4
- Sekcije 4.1, 4.2, 4.3 i 4.4
- Sekcije 5.1, 5.3, 5.4 i 5.5
- Prekid u nastavi
- Poglavlje 6
- Sekcije 8.1, 8.2, 8.3.1, 8.3.2, 8.3.3, 8.3.4, 8.3.5 i 8.3.6
- Sekcije 8.3.7, 8.3.8 i 8.3.9
- Sekcija 9.1
- Sekcije 9.2, 9.3 i 9.4
- Poglavlje 10
- Poglavlje 11
- Poglavlje 12
- Priprema za ispit