hero-image

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

Databázové a informační systémy

Novinky

3. termín odevzdání formulářů uživatelského rozhraní: pondělí 25.5., 23:59

Řešení testu PL/SQL z 30.4.2020: dais_test_plsql_1.zip

Opravy:

Zadání 1.1: doplněno emp.EID do GROUP BY emp.EID, emp.Name

Zadání 5.2: řešení triggeru vede na mutating table, proto je vhodné řešit jako proceduru.

Odevzdání formulářů uživatelského rozhraní:

Termíny:

1. termín: pondělí 11.5., 23:59

2. termín: pondělí 18.5., 23:59

Požadavky:

aplikace bude implementovat vybrané formuláře z funkční analýzy,

aplikace nebude padat do neošetřených výjimek,

budou validované vstupy,

uživatel nebude nucený pracovat s ID (tzn. musíte např. použít combo boxy pro výběr cizích klíčů).

Test PL/SQL:

2. termín se bude konat v úterý 12.5., 13:00-14:30.

Studenti jdoucí v červnu ke státnicím musí získat zápočet a absolvovat zkoušku do 3.6.

1. termín (konzultační): pondělí, 20.04.2020, 23:59.

2. termín: pondělí, 27.04.2020, 23:59 (max 10b)

3. termín: pondělí, 4.5.2020, 23:59 (max 8b)

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 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. 

Seznam studentů a přidělení jednotlivým cvičícím

  • seznam: pdf (poslední změna: 16.3.2020)

Termíny odevzdání projektů

  • Analýza informačního systému (6-10b):
    • 1. termín: 23.03.2020, 23:59: konzultace
    • 2. termín: 30.03.2020, 23:59
    • 3. termín: 06.04.2020, 23:59: pokud bude projekt v pořádku, získáte 8b.
    • 4. termín, 13.04.2020, 23:59: pokud bude projekt v pořádku, získáte 6b.

Model pro praktický test z PL/SQL

  • zadání: pdf (poslední změna: 28.2.2020)
  • skript (poslední změna: 26.2.2020)

 

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:
  • 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.rar5.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ýdenPřednáškaCvičení
1.Úvod, PL/SQL I (blok, proměnné)
pdf (poslední změna: 10.2.2020)
    PL/SQL
úkoly, řešení (poslední změna: 10.2.2020)

Opakování SQL
SQL, cv-0, řešení
2.PL/SQL II (procedury, řídící konstrukce, kurzory)
pdf (poslední změna: 19.2.2020)
   PL/SQL
úkoly, řešení (poslední změna: 17.2.2020)
3.PL/SQL III (triggery, dynamické SQL, vázané proměnné, výjimky)
pdf (poslední změna: 25.2.2020) 

PL/SQL
úkoly, řešení (poslední změna: 24.2.2020)

 

4.PL/SQL IV - balíky, hromadné operace, SQL injection, složený trigger
pdf (poslední změna: 2.3.2020)
Příklady nad aktuálním modelem pro praktický test
5.Transakce, zotavení
pdf (poslední změna: 9.3.2020)
Praktický test z PL/SQL
6.

T-SQL
pdf (poslední změna: 16.3.2020)

Funkční analýza ukázkového projektu
pdf (poslední změna: 25.3.2019)

Doplňující materiál k datové a funkční analýze

pdf (poslední změna 18.3.2020)

T-SQL
úkoly, řešení
(poslední změna: 16.3.2020)

Konzultace zadání a analýzy semestrálního projektu

 

7.Řízení souběhu I
pdf (poslední změna: 23.3.2020)
Konzultace zadání a analýzy semestrálního projektu
8.Řízení souběhu II
pdf (poslední změna: 30.3.2020)

Konzultace zadání a analýzy semestrálního projektu

Úroveň izolace transakcí: dais_cv8.pdfdais_cv8-scripts.zip

9.

Objektově relační mapování (ORM):

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


3. (předposlední) termín odevzdání analýzy.
10. Odevzdání analýzy, ORM
11.

ASP.NET, integrace ORM
pdf (poslední změna: 20.4.2020)

AuctionWebApp (poslední změna: 25.4.2016)

AuctionDesktopApp (poslední změna: 2.5.2016)

ORM
12.

Vzory integrace ORM do formulářů uživatelského rozhraní

pdf (poslední změna: 27.4.2020)

AuctionWebApp (poslední změna: 25.4.2016)

AuctionDesktopApp (poslední změna: 2.5.2016))

ORM
13.

Fyzický implementace databázových systémů, vykonávání dotazů

pdf (poslední změna: 4.5.2020)

 

 

14.Objektově relační datový model
pdf
(poslední změna: 11.5.2020)