Databázové a informační systémy
Prezentace aplikace, kombinované studium:
- Prezentace aplikace bude probíhat na posledním tutoriálu v pátek 5.5.
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
Zadání: pdf (poslední změna: 27.2.2017), skripty:
- Oracle: skript (poslední změna: 6.3.2017)
- SQL Server: skript (poslední změna: 27.2.2017)
- Poznámka: získání dne v týdnu: to_char(Den, 'Dy') pro Oracle DATENAME(weekday, Den) pro SQL Server.
- Další zadání:
- zadani019 , reseni_2_oracle , reseni_2_sqls (poslední změna: 20.3.2017)
- zadani_streda16, zadani_ctvrtek09, zadani_ctvrtek12, zadani_4, zadani_5 (poslední změna: 5.4.2017)
Model pro test z PL/SQL / T-SQL z minulého roku
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.
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: 6.2.2017) | PL/SQL úkoly, řešení (poslední změna: 6.2.2017) Opakování SQL SQL, cv-0, řešení |
2. | PL/SQL II (kurzory, triggery, dynamické SQL) pdf (poslední změna: 13.2.2017) | PL/SQL úkoly, řešení (poslední změna: 13.2.2017) |
3. | PL/SQL III (vyjímky, hromadné operace, SQL injection) pdf (poslední změna: 20.2.2017) | 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: 6.3.2017) | T-SQL úkoly, řešení (poslední změna: 24.2.2017) |
5. | Transakce, zotavení pdf (poslední změna: 7.3.2017) | T-SQL úkoly, řešení (poslední změna: 24.2.2017) Skripty pro příklad liga: liga_create, liga_init, liga_drop |
6. | Objektově relační datový model (poslední změna: 13.3.2017) | 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. | Fyzický implementace databázových systémů, vykonávání dotazů pdf (poslední změna: 20.3.2017) | Test PL/SQL / T-SQL |
8. | Funkční analýza ukázkového projektu pdf (poslední změna: 27.3.2017) | Konzultace zadání a analýzy semestrálního projektu |
9. | Objektově relační mapování (ORM):
| Oprava testu PL/SQL / T-SQL Konzultace zadání a analýzy semestrálního projektu Termín odevzdání analýzy, 1. kolo: 9.4.2017 |
10. | ASP.NET, integrace ORM AuctionDesktopApp (poslední změna: 2.5.2016)) | ORM Termín odevzdání analýzy, 2. kolo: 16.4.2017 |
11. | - | ORM Termín odevzdání ORM, 1. kolo: 23.4.2017 |
12. | APEX | ORM Termín odevzdání ORM, 2. kolo: 30.4.2017 |
13. | - | Odevzdání aplikace I Termín odevzdání aplikace, 1. kolo: 7.5.2017 |
14. | - Řízení souběhu I Řízení souběhu II | Odevzdání aplikace II Termín odevzdání aplikace, 2. kolo: 12.5.2017 (původní termín byl 14.5.2017) Odevzdání probíhá na cvičení v zápočtovém týdnu. |