Semestrální práce do předmětu 36SQL 2005/2006

Návrh databáze a implementace procedur v PL/SQL

Karel Podvolecký

Březen 16, 2006

Prohlášení o pravosti

Prohlašuji, že jsem tuto práci tvořil sám za použití informací z praxe a z přednášek předmětu 36SQL

Odborný článek

Odborny clanek: Na koleji bydlí studenti. Někteří studenti jsou členy klubu. Studenti mají počítače, notebooky, tiskárny. Když chce být student připojen k síti, musí být členem klubu. Aby mohl být členem klubu, musí platit příspěvky každý semestr. Ale členové klubu, kteří se o klub starají, mají výhodu a příspěvky platit nemusí. Takový člen ale něco pro klub dělá, takže se například stará o chod serveru, nebo pomáhá ostatním členům v případě nouze.
Členové klubu mohou využívat i jiných služeb, než jen připojení k internetu. Mohou posílat emaily, komunikovat pomocí IM, sledovat televizi, tisknout si materiály do školy, apod. V případě posílání emailů chtějí mít členové možnost mít více emailových aliasů. Aby to ale chodilo, tak někteří členové (technici) se musí o tyto služby starat. Když nějaký člen porušuje pravidla, je možné mu udělit trest, třeba odpojením, nebo jen "strašícím emailem". Záleží na síle přestupku. O to a taky o informování o novinkách v klubu se starají take technici. A nakonec bychom chtěli mít uložené všechny změny, které se v databázi budou provádět, aby bylo možné vysledovat, kdo co udělal.

Model databáze

PL/SQL rozšíření

Pomocí procedurálního rozšíření bych implementoval:

Změna:

Protože došlo ke změně z hlediska aplikace napojené na tuto databázi, není možné udělat plánované zapouzdřeni DML operací do balíčku. Místo toho budou implementovány tyto funkce:

Skripty pouštějte v tomto pořadí:

  1. create skript
  2. fill skript
  3. dotazovaci skript

Výsledky dotazovacího skriptu: