Které příkazy SQL lze v PL/SQL procedurách a funkcích volat bez omezení a které s omezením? Jak lze v PL/SQL deklarovat datový typ?



Podobné dokumenty
O Apache Derby detailněji. Hynek Mlnařík

Optimalizace SQL dotazů

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Fyzické uložení dat a indexy

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Jazyk PL/SQL Úvod, blok

Databáze II. 1. přednáška. Helena Palovská

8.2 Používání a tvorba databází

Oracle XML DB. Tomáš Nykodým

Objektově relační databáze a ORACLE 8

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Operátory ROLLUP a CUBE

10. Datové sklady (Data Warehouses) Datový sklad

Stručný obsah. část III Aktualizace dat Kapitola 10: Aktualizace databáze 257 Kapitola 11: Integrita dat 275 Kapitola 12: Zpracování transakcí 307

RELAČNÍ DATABÁZOVÉ SYSTÉMY

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

RELAČNÍ DATABÁZE. Cíl:

Michal Krátký, Miroslav Beneš

Základní informace o co se jedná a k čemu to slouží

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

Návrh a tvorba WWW stránek 1/14. PHP a databáze

Ukládání a vyhledávání XML dat

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)

PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.

Dolování v objektových datech. Ivana Rudolfová

TÉMATICKÝ OKRUH TZD, DIS a TIS

Databáze Bc. Veronika Tomsová

Maturitní témata Školní rok: 2015/2016

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

předměty: ukončení: Zápočet + Zkouška / 5kb např. jméno, název, destinace, město např. student Jan Novák, narozen

Marketingová komunikace. 3. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK3PH (vm3bph)

B Organizace databáze na fyzické úrovni u serveru Oracle

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

4. lekce Přístup k databázi z vyššího programovacího jazyka

Modely vyhledávání informací 4 podle technologie. 1) Booleovský model. George Boole Aplikace booleovské logiky

C# - Databáze úvod, ADO.NET. Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí

A5M33IZS Informační a znalostní systémy. O čem předmět bude? Úvod do problematiky databázových systémů

Semináˇr Java X JDBC Semináˇr Java X p.1/25

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

PRŮBĚHOVÝ TEST Z PŘEDNÁŠEK

Ukázka knihy z internetového knihkupectví

Databáze I. Přednáška 7

Geografické informační systémy p. 1

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Objektově orientované databáze. Miroslav Beneš

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d

PŘETĚŽOVÁNÍ OPERÁTORŮ

Databázové systémy BIK-DBS

3 zdroje dat. Relační databáze EIS OLAP

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

12. Postrelační databázové systémy

12. Postrelační databázové systémy

Okruhy z odborných předmětů

Modul. Univerzální tabulkový export

SQL - trigger, Databázové modelování

Roční periodická zpráva projektu

04 - Databázové systémy

Business Intelligence

Databáze I. 5. přednáška. Helena Palovská

Databázové a informační systémy Jana Šarmanová

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Klíčová slova: dynamické internetové stránky, HTML, CSS, PHP, SQL, MySQL,

4IT218 Databáze. 4IT218 Databáze

Text úlohy. Systémový katalog (DICTIONARY):

1 Webový server, instalace PHP a MySQL 13

6. Fyzická (interní) úroveň databázového systému

TÉMATICKÝ OKRUH Softwarové inženýrství

ZÍSKÁVÁNÍ ZNALOSTÍ Z DATABÁZÍ

Databáze v MS ACCESS

Požadavky pro výběrová řízení TerraBus ESB/G2x

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o.

Analýza a modelování dat 3. přednáška. Helena Palovská

Základy databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19

Databázové systémy Cvičení 5.2

1. Webový server, instalace PHP a MySQL 13

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

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Použití databází na Webu

Úvod do MS Access. Modelování v řízení. Ing. Petr Kalčev

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13

VzorTest-1. Prohlídka náhledu

Úvod. Programovací paradigmata

Úvod do databázových systémů. Ing. Jan Šudřich

FIREBIRD relační databázový systém. Tomáš Svoboda

Databázové systémy. Ing. Radek Holý

Náhled testu. Přijímací zkouška magisterského studia. konečný automat bez zbytečných stavů, který přijímá jazyk popsaný tímto výrazem, má:

Administrace Oracle. Práva a role, audit

Programování v jazyku C# II. 5.kapitola

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu

Ukazka knihy z internetoveho knihkupectvi

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

Dotazovací jazyky I. Datová krychle. Soběslav Benda

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS

11 Diagram tříd, asociace, dědičnost, abstraktní třídy

Transkript:

Které příkazy SQL lze v PL/SQL procedurách a funkcích volat bez omezení a které s omezením? Bez omezení: INSERT, UPDATE, DELETE Omezení: SELECT víceřádkové selecty (jedině pomocí kurzoru atributy: isopen, Found, RowCount) Jak lze v PL/SQL deklarovat datový typ? explicitně jménem (X NUMBER(7,2)) kopírováním typu jiné proměnné (Y X%TYPE) kopírováním typu sloupce (E Emp.Name%TYPE), řádku (R EMP%ROWTYPE) Popiště Rule-Based optimalizaci a jaké má nevýhody. Odvozuje plán ze syntaxe příkazů a existence indexů. Cena přístupu k podmnožině řádek v tabulce v klesajícím pořadí: - Full scan (procházení celé tabulky a ověřování podmínky, vhodné při velkém % vyhovujících) - Index-range-scan (vyhledávání intervalu v indexu a v nich ověření podmínky) - Unique-index-scan (vyhledávání jediné možné řádky podle unikátního indexu) - RowID-scan (vyhledávání na základě známé hodnoty fyzického identifikátoru v db) Nevýhodné při existenci více neunikátních indexů na jedné tabulce, použitím určitého indexu je možné znemožnit optimalizátoru použití výrazu v dotazu. Popiště Cost-Based optimalizaci. Založena na statistikách (počet různých hodnot ve sloupci, počet řádek v tabulce), počítá cenu zdrojů provedení operace. Dokáže rozlišit plány i pro různé hodnoty konstant v dotazu. Jaké znáte typy indexace, kdy indexace pomůže a kdy ne, kdy indexy vytvářet a kdy ne? Indexy slouží pro zrychlení přístupu k datům, nemění syntaxi ani sémantiku příkazů pro manipulaci s daty. Indexy nad sloupci/výrazy (mohou urychlit dotazy) B-tree indexy (hodnoty v listech, které jsou oboustranně linkované) - použitelné pokud dotaz omezuje prvních k sloupců indexu Bitmapové indexy (pro každou hodnotu sloupce/výrazu se vytváří bin. Řetězec obsahující 1 pro řádky s danou hodnotou) - vhodné pro sloupce s nízkou selektivitou Oracle vytváří automaticky unikátní (pro PK, kandidátní klíče). Důležité je vytvářet pro FK. Jinak by se měly vytvářet jen v případě, pokud výrazně pomohou často kladeným dotazům (jinak zdržují). Jaké jsou základní metody data miningu (případně uveďte kdy je optimální je použít)? Rozhodovací stromy (nesmí být příliš hluboký, jinak nemá statisticky významné hodnoty pro rozhodování v nižších úrovních) Shlukování (Clustering) každý dokument je vektor (podle obsahu slov), shluky obsahují podobné dokumenty; užitečné pro klasifikaci vyhledávání dokumentů Asociační pravidla pravidla četnosti výskytu např. produktu v objednávkách (stanoven práh s pro vyhledávání count >= s) Jaká konstrukce se používá pro zpracování víceřádkových SELECT v PL/SQL a jaké jsou její dva typy? Používá se konstrukce CURSOR předává programu PL/SQL info z databáze Explicitní kurzor nutno deklarovat, otevřít, načíst data a uzavřít Implicitní kurzor - je deklarován a prováděn přímo v těle programu. V něm povoleny pouze příkazy, které vrací jednotlivé řádky nebo žádné. Jsou obsaženy v SELECT, INSERT, UPDATE, DELETE

Jaké jsou rozdíly boolského a vektorového modelu dokumentografických systémů DIS? U Booleovského modelu je obsaženo N dokumentů v databázi a k nim M termů, které je popisují (dokument je reprezentován termy). Zpracováním dokumentů na vstupu vzniká posloupnost dvojic <dok_id, term_id> (obecně n-tic) Nesnadná formulace dotazů, nemožnost ohodnotit vhodnost výstupů, všechny termy v dotazu chápány jako stejně důležité U vektorového jsou dokumenty reprezentovány vektorem vah termů d i = < wi, 1, wi,2... wi, m >, kde w i, j je míra důležitosti j-tého termu pro identifikaci i-tého dokumentu. Podobnost mezi vektorem dotazu a vektorem dokumentu dán podobnostní funkcí. Dokumenty na výstupu řazeny sestupně dle podobnosti, lze omezit velikost výstupu (u Bool. ne) a specifikovat minimální nutnou podobnost. Počet vrácených dokumentů na dotaz uživatele (120) z nich počet opravdu relevatních (90) a celkový počet relevantních v celém systému (300). Spočítat přesnost P a úplnost R. Přesnost Pst., že získaný výsledek je skutečně relevantní. P = Nvr / Nv Úplnost Pst., že je ve výsledku zařazen skutečně relevantní dokument. R = Nvr / Nr Nvr (počet vrácených relevantních dokumentů o nichž si tazatel myslí, že odpovídají dotazu) Nv (počet vrácených dokumentů o nichž si db myslí, že jsou relevantní a odpovídají dotazu) Nr (počet všech relevantních dokumentů v databázi) -> P = 90 / 120 =3/4; R = 90 / 300 = 3/10 Co je Embedded SQL a kdy je výhodné ho použít namísto klasického SQL? Vložený SQL je SQL napsaný v jiném programovacím jazyce, zpravidla Pascal, PL/I, Fortran, C, Cobol Java. Princip vnořeného SQL spočívá v tom, že umožňuje do některého z vyšších programovacích jazyků vkládat příkazy SQL označené standardním prefixem. Ty jsou pak překládány prekompilátorem na volání funkcí knihovny. Jaké jsou typy JDBC ovladačů (popište)? 1) využívá ODBC (přes JDBC-ODBC bridge), obtížně konfigurovatelné 2) komunikace s nativním ovladačem 3) komunikace s centrálním serverem (Network server) síťovým protokolem 4) založen čistě na jazyce JAVA, přímý přístup do databáze Jaké jsou základní typy datového modelu data warehousu? 1) Konceptuální struktury založené na tabulkách organizovaných do hvězdicovitých schémat 2) KS založené na hyperkostkách, které reprezentují data jako multidimenzionální strukturu Co je to data cartridge (popište k čemu je to dobré, případně uveďte příklad)? Jedná se o uživatelské rozšíření databáze Oracle (rozšíření serveru manipulace s daty probíhají na něm). Může definovat nové datové typy, indexy. Hodí se ke zpracovávání a manipulaci s komplexnějšími daty. Příklady: finanční a právní systémy, multimédia, datové řady, statistické výpočty. Popište rozdíly mezi R, OO, O-R databázemi, srovnejte výhody a nevýhody. O-R: vrstvy mezi OO aplikací a SQL databází (myšlení v objektech); pro pohodlí programátorů rychlý, udržitelný vývoj aplikací OO: objektová identita namísto primárních klíčů; výkon na netradičních datech, ale slabý v databázových rysech, lze využívat odkazů/ukazatelů REF R: databáze založené na relačním modelu (způsob uložení v logickém smyslu); výkon na tradičních datech a na rozsáhlých dotazech

Popište rozdíly OLTP vs OLAP. OLTP db normalizované tabulky, optimalizace pro insert, update OLAP db odvoz. tabulky, redundantní data, optimalizace pro dotazy, procesní logika ve schématech Jaké jsou problémy distribuovaných databází? Nehodící se skrtněte + doplňte vynechaná slova.. - složitost (distribuce ----- "=databáze", distrib. zpracování dotazu a jeho optimalizace, složité globální transakční zpracování, distribuce ------ "=katalogu", paralelismus a uvíznutí, případná integrace heterogenních dat do odpovídajících schémat, složité ------ "=zotavování" z chyb) - cena (komunikace je navíc) - bezpečnost - obtížný přechod (neexistence automatického konverzního prostředku z centralizovaných DB na DDB) - nespolehlivost...(tohle se mělo škrtnout - to není problém distribuovaný databáze) Jaké jsou možné načasování triggeru v PL/SQL? Before, After Jaké vlastnosti má ideální temporální databáze? Je možné k takové ideální databázi dospět? Minimální rozšíření existujícího datového modelu, souvislá prezentace chování měnícího se v čase, snadná implementace, vysoký výkon. Dosažení v reálu je prakticky nemožné. Jaké jsou stadardní datové typy pro ukládání objemných dat na serveru (jejich podtypy, max.velikost,..)? LOB standardní typy pro ukládání objemných dat na serveru (až 4 GB) Externí podtyp (pouze pro čtení) BFILE samostatný binární soubor vně databáze Interní podtyp CLOB znakový typ v univerzální znakové sadě serveru NCLOB znakový typ v národní znakové sadě BLOB binární typ Lze v SQL modifikovat pohledy, případně jaké a s jakým omezením? Pohled - nástroj jak schovat určitá data, před určitými uživateli. Většina SQL implementací umožňuje pouze modifikace jednoduchých pohledů definovaných nad 1 tabulkou. Modifikace složitých pohledů nejsou jednoduché, většinou je nelze přeložit.

K čemu slouží nepojmenovaný PL/SQL blok? Blok použitelný pouze 1x v místě jeho definice. Lze ho uvést do příkazové dávky SQL, definiční části triggeru. Popište běžné OLAP operace. Slice: jedna dimenze kostky se stanoví napevno a udělá se řez (čtverec) Dice: jedná se o slice (řez) 2 a více dimenzemi datové kostky (přímka) Drill Down/Up: technika při které uživatel přesněji specifikuje (down) nebo zobecňuje (up) u hierarchií (např. down je kraj -> město -> ulice) Roll-up: počítá různé součty dat příbuzných pro jednu nebo více pevně stanovených dimenzí Pivot: změna orientace kostky (tzn. změna pohledu na data) Jaké typy tabulek obsahuje hvězdové schéma a jaký je jejich účel (co je obsahem) Tabulky faktů, tabulky dimenzí a měřítka. V těchto tabulkách jsou uložena data, nebo nějaké skutečnosti. Jaké prostředky má ODL k vyjádření dědičnosti? Klíčové slovo UNDER vyjadřuje dědičnost (create type t1 UNDER t.) U funkcí a procedur se pak vyskytují modifikátory INSTANTIABLE (fce nemá definovanou implementaci), OVERRIDING (fce redefinuje metodu předka), FINAL (nelze redefinovat v potomcích). JDBC princip. Je to rozhraní pro unifikovaný přístup k datům, inspirováno rozhraním ODBC. K připojení k databázi se využívá ovladače (jsou k dispozici pro většinu db systémů), který je zpravidla implementován výrobcem databáze. Co je to ODBC? Open Database Connectivity. Specifikace API pro databáze, nezávislé na db a jazyce + databázově závislé ovladače. Ovladače přístupné přes správce - Driver Manager. Příklad: vytvořit abstraktní datový typ Stipendium Create TYPE Stipendium AS OBJECT ( ); Napsat možnosti, jak lze v PL/SQL dělat cykly. LOOP...tělo END LOOP; WHILE podmínka LOOP tělo END LOOP; FOR i IN 1..10 LOOP tělo END LOOP;

Co je to aktivní databáze? Co jsou to semistrukturální data? Uveďte příklad. Jaké výhody přináší jazyk SQL3 (SQL99)? Jaké typy temporálních dotazovacích jazyků znáte? Temporální databáze doplňte údaje: modely času (lineární, větvený, ) modely hustoty (, hustý, spojitý). Výhody distribuovaných databází, napište vlastnosti: - uživatel nevidí na kolik počítačů je rozděleno - větší výkonnost serveru - výpadek počítače neohrozí databázi Jak zlepšuje propustnost komunikačního kanálu PL/SQL? Nějaké příklady (kód) na přidělování práv (GRANT) a napsat kdo má jaká práva. Doplňte operace.. (u hyperkostky), ke každé byl krátký text, Drill-down, Roll-up, Pivoting, Operand :, Slice_and_dice Na co musíme dávat pozor při návrhu databáze?