36SQL - semestralni prace
Vypracoval: Jan Saidl
Datum: 9.4.2004


Nazev:
   Anketni system

Zadani:
   Cilem teto semestralni prace je vytvorit proceduralni rozsireni anketniho systemu, ktery vznikl jako semestralni prace pro predmet 36DBS. Jelikoz semestralni prace pro predmet 36DBS byla vytvorena v mySQL, ktere neumoznuje pouziti trigeru a procedur. Prenesl jsou pouze schema a data do prostredi skolni databaze ORACLE.

Upravy schematu databaze:
  • Do Entity Anketa_ankety jsem vlozit atribut Stav, ktery urcuje stav ankety (rozpracovana, otevrena, uzavrena)


Databaze:


Proceduralni rozsireni:
  • Nova integritni omezeni:
    • Rozpracovana anketa (Anketa_ankety.Stav = 1): nesmi se hlasovat
    • Otevrena anketa (Anketa_ankety..Stav = 2): nesmi se pridavat odpovedi a otazky
    • Uzavrena anketa (Anketa_ankety.Stav = 3): nesmi se pridavat odpovedi a otazky a nesmi se hlasovat
  • Trigery na smazání
    • Ankety
    • Otazky
  • Statistika ankety, vrati vypis jednotlivych otazek a procentualni zastoupeni jenotlivych odpovedi.


Vypracovani (implementace Oracle):
  • Trigery - skript na vytvoreni trigeru hlidajici struktury otazek a odpovedi anket.
  • Test trigeru - skript testujici trigery nad tabulkami anket.
  • Vypis - vypis testu trigeru.
  • Knihovna Anketa - knihovna Anketa obsahuje procedury pro hlasovani a vypis statistik.
  • Test knihovny - skript testujici procedury knihovny Anketa.
  • Vypis - vypis testu knihovny Anketa.