hero-image

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

Databázové a informační systémy

Podmínky udělení zápočtu     

První část semestru bude zakončena praktickým testem z PL/SQL a T-SQL. V rámci druhé části předmětu budou studenti implementovat zvolený informační systém nad platformou .NET nebo Java.    Zápočty z minulého roku jsou uznány automaticky, v případě problémů kontaktujte paní Geletičovou. 

Termíny odevzdání projektů pro studenty kombinovaného studia

  • Analýza (18.4., 25.4.,2.5.)
  • ORM (2.5., 9.5.)
  • Formuláře (14.5., 20.5.)

Model pro test z PL/SQL / T-SQL

Zadání: pdf (poslední změna: 12.3.2018), skripty:

  • SQL Server: skript (poslední změna: 12.3.2018)
  • Oracle: skript (poslední změna: 12.3.2018)
    • Pozor na názvy atributů u DBMS Oracle: např. v případě tabulky Osoba musí být atribut uID uveden jako "uID" jelikož se jedná o vyhrazené klíčové slovo. Tento dotaz je pak korektní: select "uID" from Osoba,  nicméně funguje i tento dotaz: select uID from Osoba, ale dává chybné výsledky (17x 114 namísto 1-17).
  • Zadání a řešení z prvního termínu: dais-1t.zip (poslední změna: 5.4.2018)

Model pro test z PL/SQL / T-SQL z minulých let

 

Semestrální projekt

V předposledním týdnu semestru budou studenti na cvičení prezentovat a odevzdávat semestrální projekt. Studenti budou implementovat zvolený informační systém nad platformou .NET nebo Java, důraz bude kladen na implementaci datové vrstvy.
   Specifikace:   

  • IS musí obsahovat minimálně 7 tabulek (minimálně 4 nebudou číselníky) a 5 netriviálních funkcí. Minimálně 3 funkce budou napsány jako uložené procedury.
  • Mezi těmito 5 funkcemi mohou být pouze 2 netriviální dotazy, ostatní budou transakce. Netriviální funkce není CRUD operace.
  • Black list funkcí: kaskádové mazání záznamů.
  • Implementace (funkce, formuláře atd.) bude odpovídat analýze.
  • Architektura bude vrstvová, datová vrstva bude obsahovat objektově-relační mapování (ORM).
  • Implementace bude v ASP.NET nebo J2EE (v případě webové aplikace) resp. .NET nebo Java (v případě desktopové aplikace).
  • ORM bude implementováno s důrazen na minimalizaci počtu operací zasílaných na databázi a minimalizaci objemu dat přenášených z/do databáze (viz 11. přednáška).
  • ORM bude podporovat transakce (stačí úroveň izolace SERIALIZABLE).
  • V rámci ORM se bude odevzdávat testovací projekt, který bude obsahovat volání všech metod ORM.
  • V databázi budou vytvořeny základní indexy.
  • Z aplikace budou vytvořeny dva netriviální formuláře (tedy ne formuláře pro CRUD operace), které budou vybrány cvičícím. Na prezentační vrstvě budou podporovány základní validace vstupů.
  • Odevzdávat se bude kompletní dokumentace, SQL skripty a implementace.

 

Přednášky a cvičení

TýdenPřednáškaCvičení
1.Úvod, PL/SQL I (blok, proměnné)
pdf (poslední změna: 12.2.2018)
    PL/SQL
úkoly, řešení (poslední změna: 11.2.2018)

Opakování SQL
SQL, cv-0, řešení
2.PL/SQL II (procedury, řídící konstrukce, kurzory)
pdf (poslední změna: 19.2.2018)
   PL/SQL
úkoly, řešení (poslední změna: 19.2.2018)
3.PL/SQL III (triggery, dynamické SQL, vázané proměnné, výjimky)
pdf (poslední změna: 26.2.2018) 
PL/SQL, příklady: 1, 2, 3
    Pro práci s databází použijte skripty: liga_create,     liga_init, liga_drop
    řešení (poslední změna: 20.2.2017)
4.T-SQL
pdf (poslední změna: 5.3.2018)
T-SQL
úkoly, řešení
(poslední změna: 2.3.2018)
5.-T-SQL
úkoly, řešení (poslední změna: 2.3.2018)
Skripty pro příklad liga: liga_create, liga_init, liga_drop
6.PL/SQL IV - hromadné operace
pdf (poslední změna: 19.3.2018)
PL/SQL / T-SQL
úkoly (poslední změna: 18.3.2015)
   řešení: PL/SQL, T-SQL (poslední změna: 18.3.2015)

Skripty pro Oracle: create.sql, init.sql, drop.sql 
Skripty pro SQL Server: create.sql, init.sql, drop.sql
7.Funkční analýza ukázkového projektu
pdf (poslední změna: 6.4.2018)
Test PL/SQL / T-SQL
8.-Konzultace zadání a analýzy semestrálního projektu
9.Transakce, zotavení
pdf (poslední změna: 16.4.2018)
Oprava testu PL/SQL / T-SQL
Konzultace zadání a analýzy semestrálního projektu

Termín odevzdání analýzy, 1. kolo: 15.4.2018
10.

Objektově relační mapování (ORM):

  • pdf (přednáška, poslední změna: 16.4.2018)
  • scripts.zip (create skript, generování DTO, poslední změna: 16.4.2018)
  • AuctionSystemORM_sqls (ukázka ORM v .NET,  SQL Server, poslední změna: 16.4.2018)
  • AuctionSystemORM (ukázka ORM v .NET, SQL Server a Oracle, poslední změna: 16.4.2018)

ORM


Termín odevzdání analýzy, 2. kolo: 22.4.2018
11.

ASP.NET, integrace ORM
pdf (poslední změna: 13.4.2018)

AuctionWebApp (poslední změna: 25.4.2016)

AuctionDesktopApp (poslední změna: 2.5.2016))

 

ORM

Termín odevzdání analýzy, 3. kolo: 29.4.2018

Termín odevzdání ORM, 1. kolo: 29.4.2018

12.Objektově relační datový model
pdf
(poslední změna: 15.5.2018)
ORM

Termín odevzdání ORM, 2. kolo: 6.5.2018
13.

Fyzický implementace databázových systémů, vykonávání dotazů

pdf (poslední změna: 15.5.2018)

Odevzdání aplikace I

Termín odevzdání aplikace, 1. kolo: 13.5.2018

14.

Řízení souběhu I
pdf (poslední změna: 9.5.2016)

Řízení souběhu II

pdf (poslední změna: 9.5.2016)

Odevzdání aplikace II
 

Termín odevzdání aplikace, 2. kolo: 20.5.2018

Odevzdání probíhá na cvičení v zápočtovém týdnu.