SAB

Izvor: SI Wiki
Pređi na navigaciju Pređi na pretragu

Softverski alati baza podataka je izborni predmet u šestom semestru za SI, i u osmom semestru i za SI i za RTI.

Korisne veze

Nastava

Predavanja i vežbe su odvojeni. Na predavanjima se priča teorija koja se tiče implementacija baza podataka i rada s bazama. Na vežbama se radi sa alatima koji posle dolaze na kolokvijumima i laboratorijskim vežbama. Na K1 i K2 se može izaći samo jednom - tokom semestra ili u junskom roku

  • K1 (15p):
    • Predavanja: Transformacija školske u IE notaciju (videi 1-3). Na samom kolokvijumu se pravi šema baze podataka na papiru
  • K2 (20p)
    • Vežbe: Microsoft SQL Server, Transakcioni SQL (procedure, funcije, okidači) (videi 4-5). Na kolokvijumu se na računaru piše uglavnom procedura, ali može da dođe i triger ili funkcija. Kod mora da se prevodi i ocenjuje se pomoću tajnih testova. Javni testovi ne postoje, ali data je baza sa podacima pa mogu da testiraju na osnovu toga
  • K3 (25p):
    • Vežbe: JDBC, povezivanje sa Microsoft SQL Server u Javi (videi 8-9). Na ispitu se piše funkcija u Javi čiji je potpis i opis dat u zadatku. Kod mora da radi i ocenjuje se pomoću tajnih testova. Za spremanje ispita se treba povezati sa Microsoft SQL Server-om iz Jave, što je zapravo najproblematičniji deo. Na samom ispitu je sve namešteno pa nema potrebe da se namešta na licu mesta.

Projekat (20p)

Projekat se, kao i K3 radi u JDBC. U okviru postavke projekta se dobije opis sistema i opis Java interfejsâ koje treba implementirati. Projekat se sastoji od tri koraka - modelovanje sistema, implementacija interfejsâ i testiranje.

1. Modelovanje sistema (preporučeni alat - Erwin data modeler) U okviru postavke je dat samo opis sistema, ne i kako treba da izgleda šema baze podatka pa su studenti slobodni je naprave kako god žele, ona se neće ocenjivati kao takva, samo je bitno da projekat radi. Napravljeni model je najbolje direktno eksportovati u Microsoft SQL Server. Prilikom pravljenja modela treba obratiti pažnju na to koja se polja čuvaju u svakoj tabeli (dato u postavci) i kako tabele zavise jedna od druge.

2. Implementacija interfejsâ (preporučeni alat - IntelliJ/Eclipse) Za svaki bitniji entitet iz modela će biti dat interfejs sa metodama koje treba da se implementiraju, kao i sa njihovim povratnim vrednostima. Većina metoda će biti neke osnovne stvari, poput dodavanja i brisanja, ali u svakom projektu budu jedna ili dve veće metode, za koje je dobro koristiti procedure u Transact SQL-u. Ovde obratiti pažnju da se na vežbama kaže da execute() metoda vraća true ako je izvršavanje iskaza uspešno, međutim to nije tačno. Vraća se true ako upit vraća ResultSet (SELECT upit), a false ako nema rezultat (INSERT, DELETE, UPDATE). Ovo može da napravi probleme jer testovi testiraju samo izlaz metoda.

3. Testiranje (preporučeni alat - IntelliJ) Postoje dve grupe testtova - javni i tajni. Javni su dostupni pre odbrane, a tajni samo na odbrani. Obe grupe testova nose najviše po 10p, ali mogu da se dobiju i parcijalni poeni, do u decimalu. Neko kome prolazi samo deo javnih testova može da ode na odbranu, dobije 0 na tajnim i dalje će imati te poene s javnih testova. Testovi ispisuju koliko poena se dobije iz koje oblasti, ali ne ispisuju koje tačno metode padaju. Ovde je IntelliJ jako koristan jer dekompajlira i tajne i javne testove. Kod iz dekompajliranih testova se može kopirati u main i tako se može videti tačno na kojoj liniji, tj. iz poziva koje metode se baca AssertionError i onda ta metoda popraviti. Veće metode, pomenute u delu 2. se po pravilu ne testiraju u javnim testovima tako da je moguće dobiti 10 poena bez preteranog cimanja.

Odbrana Na samoj odbrani se sedne za kompjuter i pokreću tajni i javni testovi. Modifikacija ne postoji. Student ima oko 1:30h do 1:45h da popravi eventualne greške na tajnim testovima (ili javnim, ali to može da se popravi i kući), nakon čega poziva asistenta koji upisuje poene.

Laboratorijske vežbe

Na predmetu postoje tri laboratorijske vežbe. Na svaku se može izaći samo jednom - tokom semestra ili u julskom roku

  • Lab1 (6p) - 6. nedelja:
    • Vežbe: Modelovanje baze podataka u Erwin alatu, traženje razlika između modela u Erwin alatu (videi 1-3)
  • Lab2 (6p) - 12. nedelja:
    • Vežbe: Microsoft SQL Server korisnici, role, loginovi i privilegije. Dodela i uklanjanje privilegija i mogućnosti korisnicima pomoću SQL-a i GUI-a (video 6)
  • Lab3 (8p) - 14. nedelja:
    • Vežbe: Pravljenje izveštaja u Pentaho alatu. Ovo je program iz 90ih za vizuelizovanje informacija iz baza podataka i nije user-friendly. Kome ovi poeni ne trebaju, topla preporuka je da preskoči lab (video 10)

Ispitni rokovi

Rokovi se ne objavljuju zvanično, ali neki od prethodnih rokova se mogu naći na drajvovima iz odeljka sa korisnim vezama. Sledeći rokovi su sakupljeni na vikiju:

Način ocenjivanja

  • — Bodovi sa prvog kolokvijuma (0-15). Moguće je izaći samo jednom.
  • — Bodovi sa drugog kolokvijuma (0-20). Moguće je izaći samo jednom.
  • — Bodovi sa prve laboratorijske vežbe (0-6). Moguće je izaći samo jednom.
  • — Bodovi sa druge laboratorijske vežbe (0-6). Moguće je izaći samo jednom.
  • — Bodovi sa druge laboratorijske vežbe (0-8). Moguće je izaći samo jednom.
  • — Bodovi sa projekta (0-20). Projekat se može braniti samo jednom.
  • — Bodovi sa ispita (0-25).
  • Ukupni bodovi:
Bodovi
Ocena 5 6 7 8 9 10

Potrebna pomoć

  • Na ovom predmetu fale postavke rokova. Pomozite vikiju pamćenjem/prepisivanjem rokova i postavljanjem na viki.
  • Na ovom predmetu postoje stariji rokovi lošeg kvaliteta. Pomozite vikiju prepisivanjem tih rokova na viki.
    • Javiti se nekom od starijih uređivača vikija kako bi dobili neprepisane rokove.