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:
- Přidání integritního omezení, když uživatel dostane trest, aby se tento trest týkal pouze jeho počítačů.
- Automatické generování nové IP adresy z tabulky INTERFACE.
- Vytvoření package pro manipulaci s databází a umožnit tím logování veškerých změn v databázi do tabulky LOGOVANI.
- Vytvořit integritní omezení pro výlučný vztah ISA vztahu SITOVE_ZARIZENI (SERVER, POCITAC, JINE ).
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:
- Přidání integritního omezení, kdy není možné přidat příspěvek zpětně, tj. datum jeho zaplacení musí být v období daného semestru.
Skripty pouštějte v tomto pořadí: