Databázové systémy
Podmínky udělení zápočtu
Maximální počet bodů na zápočet je 45 (min. 23b), projekt má tyto části (jedná se o rozšíření projektu do DAIS):
- Fyzický návrh databáze. Minimum: 5b z 10.
- Testování výkonu IS a ORM. Minimum: 11b z 20.
- Integrace XML do projektu (např. import/export XML dat s XLST transformací). Minimum 7b z 15.
Bulk insert/select, SQL server
V T-SQL neexistuje obdoba BULK COLLECT/FORALL, návrhy řešení:
- Data vygenerujeme do souboru a utilitou BULK INSERT importujeme do databáze.
- Minimalizace logování: SET RECOVERY BULK_LOGGED; ... SET RECOVERY FULL;
- Použít kurzory FAST_FORWARD.
- Smazat indexy tabulky a snížit tak režii operace vkládání.
- Neprovádět commit po vložení každého záznamu.
Semestrální projekt
Požadavky na část 1 a 2 semestrálního projektu:
- Šablony projektů: SampleStruts2AppOrm.zip, AspNetExampleApp.zip (pro spuštění .NET šablony potřebujete nainstalovat ODAC).
- Zadání bude vlastní, jako základ můžete použít semestrální projekt z DAIS. Zadání musí být schváleno cvičícím během 1. cvičení.
- Implementační prostředí: J2EE (libovolný MVC rámec) nebo ASP.NET
- SŘBD: Oracle 12c nebo MS SQLServer 2012
- Architektura: MVC nebo Model-View.
- Datový model: objektově-relační (triggery, uložené funkce a procedury atd.).
- Analýza a návrh: konceptuální a datový model, funkční analýza, viz ukázkový projekt. Jednoduché funkce (CRUD - create, read, update, delete) nepopisujeme, naopak komplikovanější funkce specifikujeme až na úroveň SQL příkazů.
- Tabulky a funkce: IS musí obsahovat minimálně 7 tabulek (bez číselníků) a 5 netriviálních funkcí (pouze 2 funkce mohou být tiskové sestavy). Minimálně 3 funkce budou napsány jako uložené procedury.
- Fyzický návrh: součástí bude ladění fyzického návrhu databáze. Testování bude zahrnovat starý a nový fyzický návrh a obě implementace ORM.
- Požadavky na ORM:
- IS bude využívat vlastní statickou implementaci ORM.
- Požadavky: minimalizace počtu operací, minimalizace objemu přenášených dat, použití hromadných operací, nastavení úrovně izolace.
- Výkonnostní testování: vícevláknové testování datové vrstvy.
- GUI:
- Formuláře (či komponenty GUI) pro aktualizaci a vložení záznamu budou odděleny od zobrazení seznamu záznamů v tabulce. IS bude obsahovat validace zadávaných položek formulářů (na straně klienta - www prohlížeče i na straně serveru).
- Odevzdávat se bude kompletní dokumentace, SQL skripty a implementace.
- Bodové hodnocení projektu (max. 35b): za odevzdání v jednotlivých kolech se budou postupně strhávat 3b, část projektu bude odevzdána až budou splněny všechny připomínky vyučujícího:
- 10 (min. 5): specifikace zadání, datová a funkční analýza, návrh formulářů
- 15 (min. 8): fyzický návrh, ORM
- 10 (min. 5): implementace IS, testování výkonu datové vrstvy
- 10 (min. 5): IS založený na XQuery.
Přednášky a cvičení
Týden | Přednáška | Cvičení |
1. | Efektivita informačních systémů, vykonávání dotazů v ŠRBD pdf (poslední změna: 24.9.2014) | Zadání a analýza projektu |
2. | Fyzický návrh databáze I - Plán vykonávání dotazu pdf (poslední změna: 24.9.2014) | Odevzdání datové analýzy, diskuze k analýze funkční, vytvoření tabulek, generování rozsáhlých kolekcí dat: zip (poslední změna: 26.9.2012) |
3. | Fyzický návrh databáze II - Plán vykonávání dotazu, fyzická implementace databázových systémů pdf (poslední změna: 8.10.2014) | Vytvoření schématu databáze |
4. | Fyzický návrh databáze III pdf (poslední změna: 29.10.2014) | Fyzický návrh databáze |
5. | Fyzický návrh databáze | |
6. | Fyzický návrh databáze IV pdf (poslední změna: 5.11.2014) | Fyzický návrh databáze |
7. | Fyzický návrh databáze | |
8. | Výkonnostní testování datové vrstvy (pdf) Testovací aplikace:BenchmarkApp (poslední změna: 5.11.2014) | Fyzický návrh databáze |
9. | ORM, testování výkonu datové vrstvy | |
10. | Databázové systémy a XML I - Schéma dokumentu (pdf) (poslední změna: 26.11.2014) | ORM, testování výkonu datové vrstvy |
11. | Databázové systémy a XML II - Dotazovací jazyky: XML Path Language (XPath) (pdf) (poslední změna: 3.12.2014) | ORM, testování výkonu datové vrstvy, GUI |
12. | Databázové systémy a XML III - XQuery (pdf) (poslední změna: 3.12.2014) | Odevzdání projektu |
13. | Databázové systémy a XML IV - Nativní XML databáze (pdf) Databázové systémy a XML V - Nativní XML databáze (pdf) (poslední změna: 10.12.2014) | XML, DTD, XPath (pdf) (poslední změna: 17.12.2014) |