Tvorba informačních systémů
Novinky
- Termín odevzdání projektů pro studenty kombinovaného studia je pátek 15.4.2011 9:15 na E322.
- Fyzický návrh databáze budou studenti uploadovat na FTP server dbedu.cs.vsb.cz do adresáře Upload. Uživatel/heslo: upload_user/DBDB+-11
Formát souboru:login cvičícího_login studenta.zip, např. kra28_fra005.zip
Projekt musí být na FTP server uložen do začátku 6. cvičení. - Pokud i po přepočtení statistik nebude hodnota constistent gets odpovídat plánu vykonání dotazu a velikosti mezivýsledků, pošlete dotaz ke konzultaci cvičícímu.
- consistent gets pro aktualizace je nula, cena aktualizací se tedy bude měřit počtem datových struktur, které se musí aktualizovat.
- Stránkování v Oracle je problematické. Viz článek z asktom.oracle.com. Neefektivní variantou je použít rownum (ovšem pouze v poddotazu), což má za následek TABLE ACCESS (FULL) a SORT. Efektivnější varianta znamená vytvoření tabulky s očíslovanými záznamy. Jednoduché a efektivní stránkování zdá se v Oracle neexistuje.
Podmínky udělení zápočtu
Fyzický návrh databáze ve formě několikastránkové textu se bude odevzdávat v 6. týdnu, další podmínky jsou uvedeny zde. Minimální počet bodů 10 z 20.
Implementace i s výsledky výkonostních testů v týdnu zápočtovém. Ladění databáze a ORM bude provedeno na projektu z DAIS. Podmínky jsou uvedeny zde (aktualizováno 28.3.2011), ukázková aplikace (C#) zde. Minimální počet bodů 13 z 25.
Zápočet a zkouška z DAIS nejsou podmínkou pro získání zápočtu z TIS. Jelikož v TIS budeme ladit přístup k datům projektu z DAIS, studenti musí projekt do DAIS dopracovat.
Poznámka a doporučení
- Oracle automaticky neaktualizuje statistiky pro tabulku, vždy po vložením určitého počtu záznamů je nutné nechat statistiky přepočítat, např. tímto příkazem pro tabulku ADDRESS_HEAP:
exec dbms_stats.gather_table_stats(user, 'ADDRESS_HEAP'); - Pokud neukončujete session, může se stát, že nedojde k uvolnění zámků a DBMS se ohlásí chybou ORA-00054: resource busy and acquire with NOWAIT specified. Podívejte se na své session příkazem:
SELECT s.inst_id, s.sid, s.serial#, p.spid, s.username, s.program FROM gv$session s JOIN gv$process p ON p.addr = s.paddr AND p.inst_id = s.inst_id WHERE s.type != 'BACKGROUND' AND s.username = 'abc012';
- Pro zrušení session použijte příkaz:
ALTER SYSTEM KILL SESSION 'sid,serial#';
- Např.
ALTER SYSTEM KILL SESSION '988,2393';
- Pokud nemáte na tento příkaz oprávnění, napište mail vašemu cvičícímu.
Přednášky a cvičení
Týden | Přednáška | Cvičení |
1. | Vykonávání dotazů v SŘBD pdf (poslední změna: 14.2.2011) | Vytvoření rozsáhlé testovací kolekce |
2. | Plán vykonání dotazu pdf (poslední změna: 21.2.2011) | Plán vykonání dotazu pdf (poslední změna: 14.2.2011) |
3. | Vyhodnocení statistik provedení dotazu pdf (poslední změna: 21.2.2011) | Vyhodnocení statistik provedení dotazu |
4. | Fyzický návrh databáze pdf (poslední změna: 7.3.2011) | Fyzický návrh databáze |
5. | Fyzický návrh databáze II pdf (poslední změna: 7.3.2011) | Konzultace 1. části projektu |
6. | Řízení souběhu I pdf (poslední změna: 21.3.2011) | Odevzdání 1. části projektu |
7. | Řízení souběhu II pdf (poslední změna: 28.3.2011) | Implementace prostředí pro testování výkonu datové vrstvy |
8. | Řízení souběhu II pdf (poslední změna: 28.3.2011) | Konzultace semestrálních projektů |
9. | Vykonávání dotazů II pdf (poslední změna: 7.4.2011) | Konzultace semestrálních projektů |