Databázové a informační systémy
Podmínky udělení zápočtu
V 5. týdnu bude na programu praktický test z PL/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 ()
- ORM ()
- Formuláře ()
Model pro praktický test z PL/SQL
- Zadání: pdf (poslední změna: 1.3.2019), skripty SQL pro Oracle: oracle.sql.zip (poslední změna: 1.3.2019)
- Zadání z prvního termínu: 1.zip, 2.zip, 3.zip, 4.zip, 5.zip, 6.zip, 7.zip
Model pro praktický test z minulých let
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)
- 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)
- Systém pro vyhledávání plagiátů: pdf (poslední změna: 7.3.2016), skripty:
- Další zadání: 1.rar, 2.rar, 3.rar, 4.rar, 5.rar, 6.rar
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ýden | Přednáška | Cvičení |
1. | Úvod, PL/SQL I (blok, proměnné) pdf (poslední změna: 11.2.2019) | PL/SQL úkoly, řešení (poslední změna: 11.2.2019) Opakování SQL SQL, cv-0, řešení |
2. | PL/SQL II (procedury, řídící konstrukce, kurzory) pdf (poslední změna: 11.2.2019) | PL/SQL úkoly, řešení (poslední změna: 11.2.2019) |
3. | PL/SQL III (triggery, dynamické SQL, vázané proměnné, výjimky) pdf (poslední změna: 11.2.2019) | PL/SQL
|
4. | PL/SQL IV - hromadné operace pdf (poslední změna: 4.3.2019) | PL/SQL, příklady: 1, 2, 3
úkoly (poslední změna: 18.3.2015) |
5. | Transakce, zotavení pdf (poslední změna: 11.3.2019) | Praktický test z PL/SQL |
6. | T-SQL pdf (poslední změna: 18.3.2019) | T-SQL úkoly, řešení (poslední změna: 18.3.2019) |
7. | Funkční analýza ukázkového projektu pdf (poslední změna: 25.3.2019) | Konzultace zadání a analýzy semestrálního projektu Oprava testu PL/SQL / T-SQL |
8. | Řízení souběhu I pdf (poslední změna: 1.4.2019) | Konzultace zadání a analýzy semestrálního projektu Termín odevzdání analýzy, 1. kolo: 7.4.2019 |
9. | Objektově relační mapování (ORM):
| ORM Termín odevzdání analýzy, 2. kolo: 14.4.2019 |
10. | ASP.NET, integrace ORM AuctionDesktopApp (poslední změna: 2.5.2016)) | ORM Termín odevzdání ORM, 1. kolo: 21.4.2019 |
11. | - | Implementace formulářů Termín odevzdání ORM, 2. kolo: 28.4.2019 |
12. | Vzory integrace ORM do formulářů uživatelského rozhraní pdf (poslední změna: 29.4.2019) AuctionDesktopApp (poslední změna: 2.5.2016)) | Implementace formulářů |
13. | Fyzický implementace databázových systémů, vykonávání dotazů pdf (poslední změna: 6.5.2019) |
Termín odevzdání formulářů na cvičení ve 13. týdnu. |
14. | Řízení souběhu II pdf (poslední změna: 13.5.2019) Objektově relační datový model | Úroveň izolace transakcí: dais_cv14.pdf, dais_cv14-scripts.zip |