Minisbírka příkladů k předmětu Databázové systémy
«»
Popis:
1. Úvod
Sbírka je určena studentům oboru Manažerská informatika na Fakultě podnikatelské Vysokého učení technického v Brně. Slouží jako učební pomůcka, kterou je možné si personalizovat dle vlastního uvážení. Na jejím základě pak budou probíhat jednotlivá cvičení z předmětu, při nichž budou postupně řešeny dílčí kapitoly.
V následujících kapitolách si předvedeme základní operace s SQL příkazy nad jednoduchou databází. Pro úspěšné sestrojení příslušných SQL skriptů je nutná znalost odpovídajících teoretických partií databázových systémů.
K jednotlivým úkolům je posléze doporučeno doplnění odpovídajících skriptů pro řešení.
Klíčová slova:
databázové schéma
vytvořené tabulky
triggery
multidimenzionální kostka
absolventi
Obsah:
- Obsah
1. Úvod 1
2. Databázové schéma 2
2.1. Skripty pro vytvoření databáze a tabulek 2
2.2. Naplnění vytvořených tabulek daty 4
3. Zobrazení dat z vytvořených tabulek 7
3.1. Vypište učitele, kteří vyučují předmety spolu s názvy vyučovaného předmětu (jméno, příjmení, název) 7
3.2. Vypište učitele, kteří nevyučují žádný předmět (jméno, příjmení) 8
3.3. Vypište body jednotlivých studentů předmetu s názvem „matematika“ (jméno, příjmení, body) 9
3.4. Vypište všechny studenty, které máme v tabulce Student, těm studentům, kteří konali nějakou zkoušku současně vypište i název předmětu a body 10
3.5. S využitím agregačních funkcí zjistěte počet hodnocení z jednotlivých předmětů (dle názvu), průměrný počet bodů, součet všech udělených bodů, minimum a maximum udělených bodů. 11
3.6. Zobrazte průměrný, minimální a maximální počet bodů z jednotlivých předmětů pro každého studenta, který konal zkoušku, dále počet předmětů ze kterých byl bodován a současně vypište jeho příjmení 12
3.7. Zobrazte celé jména učitelů (jméno a příjmení v jednom sloupci), kteří zapsali body studentům zobrazte také body, název předmetu a celé jméno studenta (jméno a příjmení v jednom sloupci) 13
3.8. Upravte předcházející dotaz (3.7) tak, aby se zobrazila celá jména učitelů, kteří zapsali body studentům se jménem "Jarda" a zamezte výpisu duplicitních záznamů. 14
4. Pohledy 15
4.1. .Vytvořte pohled s názvem Prehled, který bude obsahovat celá jména učitelů (jméno a příjmení v jednom sloupci), kteří zapsali body studentům, včetně bodů, názvů předmětu a celých jmen studentů (jméno a příjmení v jednom sloupci) 15
4.2. Který učitel známkoval, kolik bodů obdržel a z jakého předmětu student Novák 16
4.3. který učitel známkoval, kolik bodů obdržel a z jakého předmětu student Novák a student Pořízek 17
4.4. Kteří studenti obdrželi 60 a více bodů z matematiky a 20 a méně bodů z chemie 18
5. Uložené procedury 19
5.1. Vytvořte si tabulky student_zaloha a znamky_zaloha kam budete ukládat mazaná data.(nebude se zálohovat učitel, který známku vložil). 19
5.2. Napište proceduru, která smaže studenta z tabulky student, současně smaže i všechny jeho body z tabulky známka a vytvoří zálohu. (vstupní parametr je identifikátor studenta). 19
5.3. Napište proceduru, která bude vkládat nového učitele a předmět, který bude vyučovat. Např. vloz_vyucujiciho(‘Jan’, ‘Novák’, ‘Tělocvik’). Procedura zkontroluje, jestli se vyučující a předmět nachází v databázi, pokud ne, vloží je do příslušných tabulek. Poté vloží záznam do tabulky vyučující. 20
5.4. Naprogramujte uloženou proceduru se jménem save_student, která bude mít dva vstupní parametry (jméno a příjmení) studenta a jeden výstupní parametr (jeho id). Procedura zjistí, zda se student s daným jménem a příjmením nachází v databázi,pokud ano, pouze vrátí jeho id a pokud ne, vloží jej a také vrátí jeho id. 21
5.5. Naprogramujte analogickou proceduru save_ucitel1, která uloží učitele. Bude mít dva vstupní parametry (jméno a příjmení) učitele, dva výstupní parametry (id_ucitele, existuje). Dále bude obsahovat vnořenou proceduru Vypis. Procedura Vypis bude mít za úkol vypsat na základě hodnoty v parametru existuje text „Učitel s tímto jménem již existuje“ v případě, že hodnota je 0, text text „Učitel byl vložen s ID xx“, kde xx je konkrétní ID, se kterým byl vložen nový vyučující do tabulky v případě, že hodnota parametru existuje je 1. 22
5.6. Dále naprogramujte proceduru save_hodnoceni, která bude mít 6 vstupních parametrů. Bude to jméno a příjmení učitele, jméno a příjmení studenta, název předmětu a počet bodů - číslo, které student z předmětu obdržel. Tato procedura využije uloženou proceduru save_student a uloženou proceduru uloz_hodnoceni, ve které je potřeba udělat jisté úpravy pro správné fungování všech tří procedur. Proceduru s úpravami uložte jako vloz_hodnoceni1. To znamená, že uložená procedura save_hodnoceni bude v sobě volat výše uvedené dvě procedury. Výsledkem uložené procedury save_hodnoceni je výpis ve tvaru: Student hodnocen známkou: z předmětu . Pokud už existuje hodnocení od daného učitele pro daný předmět a daného studenta, pouze vypíše, že známka již byla zadaná. 22
6. Triggery 23
6.1. Archiv změn známek 23
6.2. Archiv mazaných známek 25
6.3. Pohled změn známek 26
6.4. Trigger pro absolventy předmětů 27
7. Databázový kurzor v proceduře 28
8. Multidimenzionální kostka 30
O souborech cookie na této stránce
Soubory cookie používáme pro funkční účely, pro shromažďování a analýzu informací o výkonu a používání stránky.