zadani1 - vypracovani.txt: 1)Které příkazy SQL může provádět PL/SQL kód: a) insert, update, delete vždy b) vícečádkové selecty jen v kurzorech, nebo uvnitř forcyklu 2)Co znamená termín semistrukturovaná data? Semistrukturovaná data jsou definována jako data, která jsou neusporádaná ci neúplná, jejich struktura se muže menit, dokonce nepredikovatelným způsobem př. XML 3)Vysvětlete princip ODBC - open db connectivity - specifikace API pro DB nezávislé na DB a jazyce - správce ovladačů + ovladače pro jednotlivé DB SŘBD 4)Jakým zp. lze v PL/SQL řídit cykly? a) loop - exit uprostřed cyklu (v tělě) b) while podminka + exit uprostřed cyklu (v tělě) c) for pro určitý počet For in 1..10 + exit uprostřed cyklu (v tělě) d) for reversni For in reverse 10..1 + exit uprostřed cyklu (v tělě) 6)Formulujte rozdíly mezi vektorovým a boolovským modelem dokumentografické databáze. Boolovský - DB obsahuje n dokumentů, dokument popsán m termy, reprezentace dokumentu mnoužinou termů (obsazené v doc, popisující doc) dotaz vyjadren log. vyrazem (and, or, not) Nevyhody: --------- vsechny termy v dotazu maji stejnou dulezitost, tezka formulace dotazu nelze ohodnotit vhodnost vystupů Vektorový - snaha minimalizovat, nebo odstranit nevýhody Bool. DB obsahuje n dokumentů, dokument popsán m termy, reprezentace dokumentu vektory vah temrů. Pro podpbnost mezi vektorem dotazu a vektrem dokumentu se pouziva podob. fce - vhodne vektory normalizovat aby neovlivnili podobnost 7)Napište v SQL99 definici řádkového typu ADRESATYP s atributy ULICE, CISLO, MESTO a pouzijte jej v definici tabulky OSOBA. CREATE TYPE ADRESATYP AS OBJECT ( ULICE VARCHAR2(30), CISLO NUMBER(3), MESTO VARCHAR2(30), ); CREATE TABLE OSOBA ( PRIJMENI VARCHAR2(30), JMENO VARCHAR2(30), ADRESA ADRESATYP ); 8)Které typy optimalizace dotazu znáte? rule based - odvozuje plan ze syntaxe prikazu a existence indexu - nevyhoda Pokud existuje více neunikátních indexu na jedné tabulce, nemusí optimalizátor vybrat ten nejlepší cost based - zalozena na statistikach, pocita cenu zdroju provedeni prikazu (cas, prostor, razeni...) 9)Popište význam cartrige v systému Oracle (popř. obecně, uveďte příklad). Uživatelské rozšíření SŘBD (oracle) (program, knihovna ...) - moznost definovat nove datove typy a jejich funkcnost - moznost definovat nove typy indexu. - nove definice vypoctu ceny pristupu k datum Pr. Multi-oborové: Datové rady, Statistické výpocty, Prostorové databáze, Multimédia; Specializované: Financnictví, Právní systémy Príklad standardní cartridge Oracle Text - rozsireni pro vyhledavani v text. sloupcich 10)Vyhledávací systém na zadaný dotaz vypbral celkem 110 dokumentů. Z toho jen 90 bylo relevantních dokumentů. Databáze však obsahovala celkem 300 relevantních dokumentů. Jaká je přesnost P a úplnost R hledání? nr = 300, nv = 110, nvr = 90 => presnost P = nvr/nv = 90/110 = 81% a uspesnost nvr/nr = 90/300 = 30% =============================================================================== 1. Jak v DB uchovávat velké objemy dat, typy, charakteristika. Součást rozšíření Oraclu - LOBy – Standardní typy pro ukládání objemných dat na serveru, Až 4GB dat, Dva podtypy: Externí (pouze pro ctení) BFILE … samostatný binární soubor uložený vne databáze v OS Interní – CLOB … znakový typ v univerzální znakové sade serveru – NCLOB … znakový typ v národní znakové sade serveru – BLOB … binární typ. Ve sloupci tabulky uložen pouze deskriptor odkazující na samotná data Manipulace se daty xLOBu se provádí po cástech prostrednictvím bufferu Oracle nenabízí standardní možnost indexovat LOBy, Nabízí však možnosti využít poskytovaná rozhraní pro implementaci vlastních indexu, prípadne vlastních manipulací s uloženými daty 2. Typy ovladačů JDBC. Typ 1: – využívá ODBC (pres JDBC-ODBC bridge) – obtížne konfigurovatelné Typ 2: – komunikace s nativním ovladacem Typ 3: – komunikuje s centrálním serverem (Network Server) sítovým protokolem – pro rozsáhlé heterogenní systémy Typ 4: – založen ciste na jazyce Java – prímý prístup do databáze 4. Typy načasování triggeru. AFTER výhodnejší zpusob (datové bloky jsou cteny pouze jednou) - vykona se po urcite akci BEFORE zabrání nevhodnému zpracování, rozhodne, zda se má daný príkaz dokoncit, pred dokoncením tabulkové operace INSERT, UPDATE, DELETE 6. Popsat kritérium maxima a predikce. predikce: Pri formulaci dotazu je potrebné uhádnout, které termy (slova) byly v dokumentu autorem použity pro vyjádrení dané myšlenky - problemy: synonyma, opisy, prekryvajici se vyznam slov puziti tezauru = Hierarchie slov a jejich významu, Synonyma slov, Asociace mezi slovy maximum: Tazatel obvykle není schopen (nebo ochoten) procházet príliš mnoho dokumentu do té míry, aby se rozhodl, zda jsou pro nej relevantní nebo ne = Potreba nejen dokumenty rozlišovat na odpovídající/neodpovídající dotazu, ale radit je na výstupu podle míry predpokládané relevance V dusledku kritéria maxima se pri ladení dotazu uživatel obvykle snaží zvýšit presnost – Malé možství dokumentu v odpovedi, obsahujicí co nejvetší pomer relevantních dokumentu 7. Jak lze v SQL realizovat stromy? Příklad v Oracle. pomoci klauzule START WITH podminka1 CONNECT BY podminka 2 v SELECTu SELECT sloupce FROM tabulka [WHERE podmínka3] START WITH podmínka1 CONNECT BY podmínka2 [ORDER BY …] - rakdy splnujici podminka1 jsou povazovany za korenove na prvni urovni vnoreni. Pro každou rádku na úrovni i se rekurzivne hledají prímí potomci na urovni i+1 vyhovující podmínce2 SELECT ename, empno, job, deptno, mgr FROM emp CONNECT BY PRIOR empno = mgr START WITH ename = 'KING'; PRIOR v podmince oznacuje radku predka 9. Typy indexů, kdy pomohou kdy ne. - Nad sloupcem / Nad vyrazem B-tree: Redundantni b+ stromy, hodnoty v listech, oboustrane linkovane pro snadny sekv. pruchod. Vhodne pro sloupce s vysokou selektivitou. Vicesloupcove muzou zvysit selektivitu Bitmapove: Pro každou hodnotu sloupce / výrazu vytvoren binární retezec obsahující 1 práve pro rádky s danou hodnotou Vhodné pro sloupce s nízkou selektivitou, Lze kombinovat více bitmapových indexu nad jednou tabulkou pro zvýšení selektivity Nepomohou: Pokud je procento vyhovujících záznamu velké (velka rezie k pristupu k radkum pres index) Pri dotazech na hodnotu NULL - null se neindexuje 10. Jak nastavit národní prostředí, nebo nejak tak (nepamatuju). 1)pro klienta: NLS_ ... prepinace pro lang, language, territory, comp, sort, dateformat, datelanguage, calendar ... 2)3 urovnove nastaveni - 1. pro uzivatele(pc) - prom prostredi, nebo registr windows 2. pro session, pro konkr. prikaz (jako parametr) 2)Vyjmenovat tři typy logických datových modelů Modely založené na záznamech Sítový model – kolekce podobných záznamu vytvárejí seznamové struktury se záhlavím Relacní model – kolekce podobných záznamu jsou uloženy ve forme tabulek (množin záznamu) Objektový model Objektove relacní model 3)Vysvětlete princip JDBC. - rozhraní (API) pro unifikovaný prístup k datum, ovladace jsou k dispozici pro vetšinu databázových systému. zprostredkování komunikace aplikace s konkrétním typem databáze implementován obvykle výrobcem databáze dotazovací jazyk – SQL – predá se databázi – ovladac vyhodnotí prímo reprezentován specifickou trídou - konkretni ovladac je spojen primo s aplikaci (jar) - vyber primo za behu. 8. modely Warehousu Hvezdicove - Tabulka faktu, Tabulky dimenzí, Merítka (Kc, cm), Hiearchie dimenzi - vlockove schema Krychle - pohled tabulky faktu 10. Co je OLAP, OLTP OLAP: On Line Analytical Processing - Popisuje zpracování ve warehousu - vetsinou cte, dlouhe komplex. dotazy, Gb-Tb dat, sumarizovana data, vedouci pracovnik, analytik OLTP: On Line Transaction Processing - Popisuje zpracování v operacní databázi - vetisnou updatuje, vice malych transakci, Mb-Tb dat, prvotni data, administrator, konzistence - obnova je kriticka 1.Dobre vlastnosti XML: validni, strukturovany - strom, moznost vyhledavani 2.jak a na ci strane je zajistena integrita v Klient-server arch.: na strane serveru - on update cascade, on delete cascade, foreign key, trigger 3.Kde lze pouzit nepojmenovany blok pl/sql: prikazove davky SQL, v definicni casti triggeru, v cursoru (begin end blok) 3. Vysvetlete rozdily mezi architekturou klient/server a systemy distribuovaneho zpracovani. Popiste vyhody a nevyhody. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 4. Ktery dokument (XML) se nazyva "dobre vytvoreny". Dokument, který vyhovuje pravidlu “hnízdení znacek” a nemá stejné atributy uvnitr znacky, se nazývá dobre vytvorený. 9. Jake prostredky ma ODL k vyjadreni dedicnosti - lze dedit objekty od jinych a u funkci pouzivat modifikatory (not)FINAL - nelze prekrit (not)INSTANTIABLE - nemá definovanou implementaci (not)OVERRIDING - pro Clenské funkce a procedury = (ne)redefinuje metodu predka 11. Které typy spojení tabulek znáte, uveďte podmínky spojení. natural join = where t1.t2_id=t2.id (vyskytna obou stranach) semi join = polo spojeni = WHERE EXIST (SELECT ...) left outer join = ... FROM t1 JOIN LEFT t2 ON t1.t2_id t2.id - vybere z t1 i ty, ktere nemaji zaznam v t2 16. Charakterizujte temporální DB, uveďte datové typy používané pro zpracování času. Databáze určitým způsobem podporující čas - Jednodušší dotazy - Jednodušší udržování aplikací DATE, TIME, TIMESTAMP 19. Popište podstatu a význam Embedded SQL - umožňuje snadno přistupovat k databázi z cizího programovacího jazyka s využitím nativní funkcí Pro*C/C++ - preprocessor pro práci s databází Oracle z C/C++