Úloha 1 Částečně správně Bodů 050 / 100 Systémový katalog (DICTIONARY): a Se skládá z tablek a pohledů uložených v tabulkovém SYSTEM b Všechny tabulky vlastní uživatel SYS c Se skládá z tablek a pohledů uložených v tabulkovém SYSAUX d Tabulky s prefixem DBA_ a ALL_ vlastní SYS tabulky USER_ jsou ve vlastnicitví jednotlivých uživatelů Se skládá z tablek a pohledů uložených v tabulkovém SYSTEM Všechny tabulky vlastní uživatel SYS Úloha 2 Nový uživatel databáze Oracle se založí příkazem: a CREATE USER AS uzivatel;heslo b BEGIN dbms_userscreate_user('uzivatel' 'heslo'); END; c CREATE USER uzivatel IDENTIFIED BY heslo
d CREATE USER uzivatel WITH PASSWORD heslo CREATE USER uzivatel IDENTIFIED BY heslo Úloha 3 Nesprávně Bodů 000 / 100 Která tvrzení o funkci RAISE_APPLICATION_ERROR jsou pravdivá a Umožňuje vyvolat uživatelem definovanou vyjimku která má vlastní chybový text a vlastní ORA- kód b Funkce má dva povinné parametry vlastní kód chyby a vlastní text chyby c Čislo chyby musí být kladné číslo a musí být větší než 5000 d Chyby vyvolané RAISE_APPLICATION_ERROR musí být zachyceny ještě před tím než opustí databazi jinak způsobí vyjímku: ORA-06150: unhandled user-defined exception Umožňuje vyvolat uživatelem definovanou vyjimku která má vlastní chybový text a vlastní ORAkód Funkce má dva povinné parametry vlastní kód chyby a vlastní text chyby Úloha 4
Proceduru s hlavičkou: procedura(cislo NUMBER cas DATE DEFAULT SYSDATE) můžeme zavolat následujícími příkazy: a EXECUTE procedura('a'sysdate); b EXECUTE procedura; c EXECUTE procedura(1to_date('2142001')) d EXECUTE procedura(1); EXECUTE procedura(1); EXECUTE procedura(1to_date('2142001')) Úloha 5 Příkaz RAISE znamená: vyvolání výjimky ošetření výjimky deklaraci proměnné spuštění procedury vyvolání výjimky
Úloha 6 Následující deklaraci lze interpretovat jako zamestnanec_jmeno A_HRzamestnancijmeno%TYPE; a Typ proměnné zamestnanec_jmeno bude odvozen od datového typu sloupce jmeno tabulky zamestnanci za podmníky že tento sloupce není definován numerickým datovým typem b Typ proměnné zamestnanec_jmeno bude odvozen od datového typu sloupce jmeno tabulky zamestnanci jen v případě že PL/SQL blok je spouštěn/uložen ve stejném schématu jako samotná tabulka c Typ proměnné zamestnanec_jmeno bude odvozen od datového typu sloupce jmeno tabulky zamestnanci d Tato deklarece skončí chybou při kompilaci Typ proměnné zamestnanec_jmeno bude odvozen od datového typu sloupce jmeno tabulky zamestnanci Úloha 7 Pro příkaz SELECT INTO FROM platí: a Příkaz proběhne v pořádku jen ve chvíli kdy daný SELECT příkaz vrátí přesně jeden řádek
b Příkaz proběhne v pořádku i když je vráceno více řádků do specifikovaných proměnných se ale uloží jen informace z prvního řádku ostatní řádky jsou ignorovány c Příkaz proběhne v pořádku jen ve chvíli kdy daný SELECT příkaz vrátí žádný nebo přesně jeden řádek d Daný příkaz stejně jako u MSSQL provede vytvoření nové tabulky (jejíž název je specifikován v INTO klauzuli) a naplní jí řádky vrácenými SELECT příkazem Příkaz proběhne v pořádku jen ve chvíli kdy daný SELECT příkaz vrátí přesně jeden řádek Úloha 8 Objektová oprávnění v databázi Patří mezi standardy jazyka SQL a proto jsou u nich mezi různými výrobci minimální rozdíly Přidělujeme příkazem ALTER Odebíráme příkazem DROP Platí pro konkrétní databázový objekt Platí pro konkrétní databázový objekt Patří mezi standardy jazyka SQL a proto jsou u nich mezi různými výrobci minimální rozdíly Úloha 9
Co znamená příkaz: GRANT SELECT INSERT UPDATE DELETE ON trpaslik TO SNEHURKA; vlastník tabulky která je nazvána trpaslik přiděluje úplně všechna práva vlastník tabulky která je nazvána trpaslik přiděluje pouze práva pro čtení vkládání změnu a mazaní vlastník jménem trpaslik přiděluje práva uživateli snehurka práva jsou přidělována uživateli snehurka vlastník tabulky která je nazvána trpaslik přiděluje pouze práva pro čtení vkládání změnu a mazaní práva jsou přidělována uživateli snehurka Úloha 10 Příkaz UPDATE ve kterém vynecháme označení tabulky vede v jazyce SQL k: Chybové zprávě Aktualizaci naposledy použité tabulky Kartézskému součinu Aktualizaci všech tabulek
Chybové zprávě Úloha 11 Který z uvedených výrazů je formálně správný pro volání procedury vlastnosti_trpaslika(id_trpaslika)? SELECT vlastnosti_trpaslika(7) from dual; execute vlastnosti_trpaslika(3); run vlastnosti_trpaslika(2); begin vlastnosti_trpaslika(1); end; execute vlastnosti_trpaslika(3); begin vlastnosti_trpaslika(1); end; Úloha 12 Potvrzení transakce (committing) znamená:
změny provedené transakcí se stávají trvalými změny provedené transakcí se nestávají trvalými změny provedené transakcí nelze odvolat příkazem ROLLBACK změny provedené transakcí lze odvolat příkazem ROLLBACK změny provedené transakcí nelze odvolat příkazem ROLLBACK změny provedené transakcí se stávají trvalými Úloha 13 Po odrolování transakce k návratovému bodu: transakce zůstává aktivní a může dále pokračovat jsou vráceny všechny změny provedené SQL příkazy jsou vráceny pouze změny provedené SQL příkazy po nastavení návratového bodu jsou všechny návratové body nastavené po daném savepointu ztraceny jsou vráceny pouze změny provedené SQL příkazy po nastavení návratového bodu jsou všechny návratové body nastavené po daném savepointu ztraceny transakce zůstává aktivní a může dále pokračovat Úloha 14
Kardinalita vztahu znamená? je takový vztah kde k jednomu výskytu entity nemusí existovat výskyt druhé entity kolik řádků jedné tabulky může vstoupit do vztahu s kolika řádky druhé tabulky tabulky svázané pouze vnitřním spojením jednomu řádku z jedné tabulky odpovídá vždy jeden řádek ze všech ostatních tabulek v databázi kolik řádků jedné tabulky může vstoupit do vztahu s kolika řádky druhé tabulky Úloha 15 Parcialita vztahu? označuje zda k záznamu v jedné tabulce musí existovat odpovídající záznam v druhé tabulce vyžaduje že jednomu řádku z první tabulky odpovídá vždy právě jeden řádek z tabulky druhé vyjadřuje pouze částečné naplnění tabulek jež vstupují do vztahu znamená kolik řádků jedné tabulky může vstoupit do vztahu s kolika řádky druhé tabulky
označuje zda k záznamu v jedné tabulce musí existovat odpovídající záznam v druhé tabulce