Databázové a informační systémy 2
Aktuálně
- Vzhledem k tomu, že přednášející nezveřejnil materiály k Business Intelligence, nebyl na prvním termínu zkoušky hodnocen příklad 3, bodové hodnocení testu bylo takového: počet bodů z příkladů 1, 2 a 4 x 1.31. Před 2. termínem budou materiály zveřejněny a test tak může obsahovat otázky z oblasti Business Intelligence.
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
Semestrální projekt je rozdělen do dvou částí. Maximální počet bodu 45, minimální počet bodů je 23. Jiné odevzdání projektu je hodnoceno počtem bodu 0.
Požadavky na základní část semestrálního projektu (11b/22b, odevzdání: 7.týden):
- Š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 (jiný než v DAIS)
- 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ě 20 tabulek (bez číselníků) a 10 netriviálních funkcí (pouze 5 funkcí mohou být tiskové sestavy). Minimálně 5 funkcí bude napsáno jako uložené procedury.
- Fyzický návrh:
- Součástí bude ladění fyzického návrhu databáze (jiného SŘBD než v předmětu DBS). Testování bude zahrnovat starý a nový fyzický návrh.
- Pro alespoň jednu tabulku s větším počtem záznamů bude použita reprezentace hashovanou tabulkou a bude proveden výpočet optimální velikosti hashované tabulky (Oracle).
- V případě tabulek s větším počtem atributů s malými doménami bude povinně použit bitmapový index (Oracle).
- Pokud v semestrálním projektu používáte pouze SQL Server, pak jako alternativu k hashované tabulce a bitmapovému indexu můžete použít parametr INCLUDE pro NONCLUSTERED INDEX na několika tabulkách.
- Požadavky na ORM:
- Požadavky: minimalizace počtu operací, minimalizace objemu přenášených dat, použití hromadných operací, nastavení úrovně izolace.
- IS bude obsahovat kompletní implementaci datové vrstvy pro Oracle nebo SQLS (jiný než v DAIS resp. DBS).
- Výkonnostní testování: vícevláknové testování datové vrstvy.
- GUI:
- IS bude obsahovat polovinu formulářů specifikovaných funkční analýzou, všechny formuláře týkající se netriviálních (ne CRUD) funkcí.
- 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
Přednášky a cvičení
Týden | Přednáška | Cvičení |
1. | Úvod, efektivita informačních systémů pdf (poslední změna: 15.9.2014) funkční analýza pdf (poslední změna: 15.9.2014) | Zadání semestrálního projektu |
2. | Úložiště dat pdf (poslední změna: 24.9.2014) | Odevzdání datové analýzy, nástin analýzy funkční, generování dat: oracle a mssql (poslední změna: 2.10.2014) |
3. | Fyzický návrh databáze I - Plán vykonávání dotazu pdf (poslední změna: 29.9.2014) | Odevzdání funkční analýzy, vytvoření databázového schématu, generování velkých kolekcí dat |
4. | Fyzický návrh databáze II - Plán vykonávání dotazu, fyzická implementace databázových systémů pdf (poslední změna: 6.10.2014) | Generování velkých kolekcí dat, seznam dotazů v IS, plán vykonání dotazu |
5. | Fyzický návrh databáze III pdf (poslední změna: 27.10.2014) | Fyzický návrh databáze |
6. | Fyzický návrh databáze IV pdf (poslední změna: 3.11.2014) | Fyzický návrh databáze |
7. | Výkonnostní testování datové vrstvy pdf Testovací aplikace:BenchmarkApp (poslední změna: 3.11.2014) | Odevzdání fyzického návrhu databáze, datová vrstva IS |
8. | Datová vrstva IS, Objektově relační mapování. odevzdání: optimalizovaný fyzický návrh | |
9. | Distribuované databázové systémy (pdf) (poslední změna: 26.11.2014) | Datová vrstva IS, optimalizace, testování odevzdání: ORM |
10. | BI I (pdf) (poslední změna: 21.1.2015) | BI I odevzdání: výsledky testování datové vrstvy. tieto1.zip (aktualizace 3.12.2014) |
11. | BI II (pdf) (poslední změna: 21.1.2015) | BI II tieto2.zip |
12. | BI III (pdf) (poslední změna: 21.1.2015) | BI III |
13. | Komprimace v databázových systémech (pdf) (poslední změna: 8.12.2014) Uložení a dotazování prostorových dat (pdf) | Odevzdání semestrálního projektu |
14. | Vyhledávání v textech a databázové systémy (pdf) (poslední změna: 15.12.2014) | - |