Databázové a informační systémy
Novinky
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.
Model pro test z PL/SQL / T-SQL
Systém pro vyhledávání plagiátů: pdf (poslední změna: 7.3.2016), skripty:
- Oracle: create, drop, init (poslední změna: 14.3.2016)
- SQL Server: create, drop, init (poslední změna: 14.3.2016)
Ukázky testů:
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.
- Implementace (funkce, formuláře atd.) bude odpovídat analýze.
- Black list funkcí: kaskádové mazání záznamů.
- 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.
Harmonogram 2. části semestru:
- 8. týden: konzultace zadání a analýzy
- 9. týden: oprava testu, konzultace zadání a analýzy, 10.4. odevzdání analýzy (zadání, datová a funkční analýza, návrh formulářů) do systému
- 10. týden: ORM, 2. kolo odevzdání analýzy (17.4.)
- 11. týden: ORM, 3. kolo odevzdání analýzy (24.4.)
- 12. týden: ASP.NET, odevzdání ORM (1. kolo: 24.4., 2. kolo: 1.5.)
- 13. týden: odevzdání aplikace (1. kolo: 8.5., 2. kolo: 15.5.)
Harmonogram 2. části semestru (kombinované studium)
- 15.4. Konzultace zadání a analýzy
- 29.4. ORM, konzultace
- 13.5. Aplikace, prezentace
Termíny odevzdání (kombinované studium)
- 17.4. Analýza (zadání, návrh formulářů), 1.kolo
- 24.4. Analýza (zadání, návrh formulářů), 2.kolo
- 1.5. Analýza (zadání, návrh formulářů), 3.kolo ; ORM 1.kolo
- 8.5. ORM 2.kolo
- 15.5. Aplikace
Hodnocení projektu:
- Analýza: 12b, min. 6b (2. kolo 9b, 3. kolo 6b)
- ORM: 8b, min. 4b
- Aplikace: 5b, min. 3b
Přednášky a cvičení
Týden | Přednáška | Cvičení |
1. | Úvod, PL/SQL I (blok, uložené funkce a procedury, statické a dynamické SQL, výjimky) pdf (poslední změna: 10.2.2016) | PL/SQL úkoly, řešení (poslední změna: 8.2.2016) Opakování SQL SQL, cv-0, řešení |
2. | PL/SQL II (triggery, kurzory) pdf (poslední změna: 22.2.2016) | PL/SQL úkoly, řešení (poslední změna: 15.2.2016) |
3. | PL/SQL III (hromadné operace, vázané proměnné, porovnání výkonu) pdf (poslední změna: 22.2.2016) | 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: 22.2.2016) |
4. | T-SQL pdf (poslední změna: 29.2.2016) | T-SQL úkoly, řešení (poslední změna: 29.2.2016) |
5. | Transakce, zotavení pdf (poslední změna: 7.3.2016) | T-SQL úkoly, řešení (poslední změna: 7.3.2016) Skripty pro příklad liga: liga_create, liga_init, liga_drop |
6. | Transakce, zotavení | 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. | Objektově relační datový model (poslední změna: 14.3.2016) | Test PL/SQL / T-SQL |
8. | - | Konzultace zadání a analýzy semestrálního projektu |
9. | Funkční analýza ukázkového projektu pdf (poslední změna: 4.4.2016) | Oprava testu PL/SQL / T-SQL Konzultace zadání a analýzy semestrálního projektu Termín odevzdání analýzy, 1. kolo: 10.4.2016 |
10. | Objektově relační mapování (ORM):
| ORM Termín odevzdání analýzy, 2. kolo: 17.4.2016 |
11. | ORM Termín odevzdání ORM, 1. kolo: 24.4.2016 | |
12. | ASP.NET, integrace ORM AuctionDesktopApp (poslední změna: 2.5.2016)) | ORM Termín odevzdání ORM, 2. kolo: 1.5.2016 |
13. | Fyzický implementace databázových systémů, vykonávání dotazů pdf (poslední změna: 9.5.2016) | Odevzdání aplikace I Termín odevzdání aplikace, 1. kolo: 8.5.2016 |
14. | Řízení souběhu I Řízení souběhu II | Odevzdání aplikace II Termín odevzdání aplikace, 2. kolo: 15.5.2016 Odevzdání probíhá na cvičení v zápočtovém týdnu. |