hero-image

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

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ýdenPřednáškaCvičení
1.

Úvod     
pdf (poslední změna: 9.2.2022)

Datová a funkční analýza ukázkového projektu     
pdf (poslední změna: 9.2.2022)

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):

  • pdf (přednáška, poslední změna: 4.4.2022)
  • 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)
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)