hero-image

Výuka databázových předmětů na Katedře informatiky

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.
  • Při generování pomocí ADO.NET použít:
    • nastavení SqlDataAdapter.UpdateBatchSize na počet aktualizací prováděných v jedné dávce,
    • třídu SqlBulkCopy.

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ýdenPřednáškaCvičení
1.Efektivita informačních systémů, vykonávání dotazů v ŠRBD
pdf (poslední změna: 19.9.2017)

Zadání a analýza projektu

pdf (poslední změna: 19.9.2017)

2.

Disky, diskové operace

pdf (poslední změna: 25.9.2017)

 

Zadání a analýza projektu, relační datový model

funkční analýza
pdf (poslední změna: 16.9.2016)

3.Fyzický implementace databázových systémů I - plán vykonávání dotazu
pdf (poslední změna: 25.9.2017)
Generování dat: oracle a mssql (poslední změna: 23.9.2015)
4.Fyzický návrh databáze II - Plán vykonávání dotazu, fyzická implementace databázových systémů
pdf (poslední změna: 23.10.2017)
Generování dat
5. Generování dat
6.Fyzický návrh databáze II - Plán vykonávání dotazu, fyzická implementace databázových systémů

Sběr statistik operací

pdf (poslední změna: 23.10.2017)

7.Fyzický návrh databáze III
pdf (poslední změna: 30.10.2017)
Čtení plánů vykonávání operací
8.

Fyzický návrh databáze IV
pdf (poslední změna: 13.11.2017)

 

Čtení plánů vykonávání operací

pdf (poslední změna: 6.11.2017)

9. Fyzický návrh databáze
10. Fyzický návrh databáze
11. Fyzický návrh databáze
12.Výkonnostní testování datové vrstvy (pdf
Testovací aplikace:BenchmarkApp
(poslední změna: 4.12.2017)
ORM, testování výkonu datové vrstvy
13.Databázové systémy a XML I - Schéma dokumentu (pdf
(poslední změna: 13.12.2017)
ORM, testování výkonu datové vrstvy
14.

Databázové systémy a XML II - Dotazovací jazyky: XML Path Language (XPath) (pdf
(poslední změna: 18.12.2017)

Databázové systémy a XML III - XQuery (pdf
(poslední změna: 18.12.2017)

XML, DOM, XPath (pdf
(poslední změna: 18.12.2017)