Databázové systémy II
Novinky
Test z PL/SQL:
- Test z PL/SQL se pro studenty denního studia bude konat v 7. týdnu.
- Datový model: test_datovymodel (poslední změna: 7.3.2022)
- Create/Init skript pro oracle: test_oracle (poslední změna: 7.3.2022)
- Test a řešení z prvního termínu: plsql_test-1-1, plsql_test-1-2, plsql_test-1-3, plsql_test-1-4, plsql_test-1-5, plsql_test-1-6.zip
- Test a řešení z druhého termínu: plsql_test-2-4
- Test a řešení z třetího termínu: plsql_test_20220422
- Opravný termín pro studenty denního studia bude v úterý 12.4., 12:30. Na opravný termín se studenti přihlašují zasláním mailu na adresu přednášejícího předmětu.
- 2. opravný termín testu PL/SQL pro kombinované i denní studenty bude v pátek 22.4., 14:30, B207. Na opravný termín se studenti přihlašují zasláním mailu na adresu přednášejícího předmětu.
Body udělované v jednotlivých kolech odevzdávání projektu:
- Analýza: 15, 15, 11,7
- ORM: 8, 5.
- Formuláře: 7, 5.
Termíny odevzdání semestrálního projektu (denní studium):
- Datová a funkční analýza:
- Kolo 1: (4. týden, neděle 23:59)
- Kolo 2: (6. týden, neděle 23:59): pokud nebude analýza kompletní (specifikace, datová analýza, funkční analýza, návrh formulářů), pak student nemůže využít odevzdání ve 3. kole a získává z analýzy 0b.
- Kolo 3: (8. týden, neděle 23:59)
- Kolo 4: (9. týden, neděle 23:59)
- ORM:
- Kolo 1: (10. týden, neděle 23:59)
- Kolo 2: (12. týden, neděle 23:59)
- Aplikace (resp. 2-3 formuláře, z toho alespoň jeden centrální formulář využívající vyšší počet funkcí):
- na cvičení ve 13. týdnu
Termíny odevzdání semestrálního projektu (kombinované studium):
- Datová a funkční analýza:
- Kolo 1: (. týden)
- Kolo 2: (. týden)
- Kolo 3: (. týden)
- ORM:
- Kolo 1: (. týden)
- Kolo 2: (. týden)
- Aplikace (resp. 2-3 formuláře, z toho alespoň jeden centrální formulář využívající vyšší počet funkcí):
- Kolo 1: (. týden)
- Kolo 2: (. týden)
Požadavky na implementační prostředí projektu:
Nestandardní DBS i implementační prostředí (viz dole) musí být konzultováno a schváleno cvičícím.
DBS:
- Standardně: Oracle, SQL Server.
- Podpora libovolného procedurálního rozšíření SQL, tak aby bylo možné napsat část funkcí jako uložené procedury.
- Podpora SQL a transakcí.
- Architektura: klient-server a podpora API pro přístup k datům, např. JDBC, ADO.NET.
- Cvičící musí mít k danému DBS přístup, tak aby mohl projekt zkontrolovat.
Implementační prostředí:
- Standardně: .NET, J2EE.
- Možnost napsat ručně ORM.
- Možnost napsat aplikaci jako model – view, v našem případě jako aplikaci s vícevrstvou architekturou: DBS – API pro přístup k datum – ORM – aplikační vrstva – prezentační vrstva.
- Cvičící musí mít k danému implementačnímu prostředí přístup, tak aby mohl projekt zkontrolovat.
Pokud nebude možné vykonat test z PL/SQL ve standardním formátu, bude na konci semestru vykonán formou on-line testu.
Podmínky udělení zápočtu
V 6. 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ů
Model pro praktický test z PL/SQL
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 Datová a funkční analýza ukázkového projektu Doplňující materiál k datové a funkční analýze pdf (poslední změna 18.3.2020) Obecné zásady a časté chyby ve funkční analýze pdf (poslední změna 19.3.2021) | Opakování SQL úkoly, create/init sql skript, řešení (poslední změna: 8.2.2022) |
2. | PL/SQL 1 (blok, proměnné, výjimky) pdf (poslední změna: 15.2.2022) | PL/SQL 1 (blok, proměnné, výjimky) pdf, řešení (poslední změna: 15.2.2022) |
3. | PL/SQL 2 (uložené funkce a procedury, trigger) pdf (poslední změna: 22.2.2022) | PL/SQL 2 (uložené funkce a procedury, triggery) pdf, řešení (poslední změna: 21.2.2022) update skript (poslední změna: 23.2.2022) |
4. | PL/SQL 3 (řídící konstrukce a kurzory, balíky, hromadné operace) pdf (poslední změna: 1.3.2022) | PL/SQL 3 (řídící konstrukce a kurzory) pdf, řešení (poslední změna: 1.3.2022) |
5. | PL/SQL 4 (statické a dynamické PL/SQL) pdf (poslední změna: 8.3.2022) | PL/SQL 4 (statické a dynamické PL/SQL) pdf, řešení (poslední změna: 8.3.2022) |
6. | Objektově-relační datový model pdf (poslední změna: 16.3.2022) | Opakování PL/SQL |
7. | Transakce, zotavení pdf (poslední změna: 23.3.2022) | Test PL/SQL |
8. | T-SQL pdf (poslední změna: 28.3.2022) | T-SQL pdf, create, řešení (poslední změna: 28.3.2022)
|
9. | Objektově relační mapování (ORM):
| Implementace objektově-relačního mapování pro semestrální projekt |
10. | Řízení souběhu I pdf (poslední změna: 13.4.2022) AuctionWebApp (poslední změna: 25.4.2016) AuctionDesktopApp (poslední změna: 2.5.2016) | Implementace objektově-relačního mapování pro semestrální projekt |
11. | ASP.NET, Integrace ORM pdf (poslední změna: 19.4.2022) | Integrace ORM do aplikace |
12. | Vzory integrace ORM do UI pdf (poslední změna: 19.4.2022) | Integrace ORM do aplikace |
13. | Vykonávání dotazů v DBS pdf (poslední změna: 4.5.2022) | Odevzdávání formulářů informačního systému |
14. | Řízení souběhu II pdf (poslední změna: 11.5.2022) |
|