Fakulta elektrotechniky a informatiky

Slides:



Advertisements
Podobné prezentace
Zpracování informací a znalostí Další přístupy k vyhledávání textových dokumentů Doc. RNDr. Jan Rauch, CSc. Katedra informačního a znalostního inženýrství.
Advertisements

Vlastní skript může být umístěn: v hlavičce stránky v těle stránky
Aplikační a programové vybavení
Microsoft Office Access
 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
Fakulta elektrotechniky a informatiky
Student: Ing. Olga Minaříková školitel: doc.akad.soch. Miroslav Zvonek, PhD. srpen 2009.
Téma 3 ODM, analýza prutové soustavy, řešení nosníků
Architektury a techniky DS Tvorba efektivních příkazů I Přednáška č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy 1 Cvičení č. 2 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy II Přednáška č. 6 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy 2 Cvičení č. 6 Ing. Tomáš Váňa Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Temporální databáze a TSQL
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
Uživatelé, Role, Schémata
Úvod do databází Databáze.
Vzdělávací materiál / DUMVY_32_INOVACE_02B14 Příkazový řádek: obsah souborů PŘÍKLADY AutorIng. Petr Haman Období vytvořeníLeden 2013 Ročník / věková kategorie3.
VY_32_INOVACE_INF_RO_12 Digitální učební materiál
MODERNÍ A KONKURENCESCHOPNÁ ŠKOLA reg. č.: CZ.1.07/1.4.00/ Základní škola, Šlapanice, okres Brno-venkov, příspěvková organizace Masarykovo nám.
SmartPhone start - Apple iPhone
Databáze Jiří Kalousek.
VY_32_INOVACE_ 14_ sčítání a odčítání do 100 (SADA ČÍSLO 5)
MySQL - Vytvoření nové tabulky  create table jméno_tabulky (jméno_položky typ_položky,... ) Přehled nejběžnějších datových typů Přehled nejběžnějších.
Dělení se zbytkem 6 MODERNÍ A KONKURENCESCHOPNÁ ŠKOLA
Dělení se zbytkem 5 MODERNÍ A KONKURENCESCHOPNÁ ŠKOLA
M O R A V S K O S L E Z S K Ý K R A J 1 Vedení správních řízení ve spisové službě a statistika vyřizování dokumentů.
17.Tabulkový procesor (filtrování a řazení dat, formuláře, podmínky a podmíněné formátování, export a import dat) Barbora Skoumalová 4.A.
Jazyk vývojových diagramů
52_INOVACE_ZBO2_1364HO Výukový materiál v rámci projektu OPVK 1.5 Peníze středním školám Číslo projektu:CZ.1.07/1.5.00/ Název projektu:Rozvoj vzdělanosti.
Databázové systémy 2 Cvičení č. 7 Ing. Tomáš Váňa Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Základy práce na PC Ing. Jan Roubíček.
Dělení se zbytkem 8 MODERNÍ A KONKURENCESCHOPNÁ ŠKOLA
Zásady pozorování a vyjednávání Soustředění – zaznamenat (podívat se) – udržet (zobrazit) v povědomí – představit si – (opakovat, pokud se nezdaří /doma/)
Pravidelné zálohování dat
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
Relační databáze.
1 Celostátní konference ředitelů gymnázií ČR AŘG ČR P ř e r o v Mezikrajová komparace ekonomiky gymnázií.
KIV/ZIS cvičení 6 Tomáš Potužák. Pokračování SQL Klauzule GROUP BY a dotazy nad více tabulkami Stáhnout soubor studenti_dotazy_sql.mdb.
Databázové systémy I Cvičení č. 6 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Databázové systémy 2 Cvičení č. 6 Ing. Tomáš Váňa Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Excelent v EKOSu Ing. Daniela Dufková. Excelent v EKOSu Ing. Daniela Dufková.
END 1.Přítelem 2.Druhem 3.Milencem 4.Bratrem 5.Otcem 6.Učitelem 7.Vychovatelem 8.Kuchařem 9.Elektrikářem 10.Instalatérem 11.Mechanikem 12.Návrhářem 13.Stylistou.
Fakulta elektrotechniky a informatiky
Excel export a import dat. Import dat z webu.
Modelování odezvy zákazníků v systému SAS Enterprise Miner™ Ukázková úloha pro předmět Získávání znalostí z databází doc. Ing. Jaroslav Zendulka, CSc.
Číslo šablony: III/2 VY_32_INOVACE_P4_3.8 Tematická oblast: Aplikační software pro práci s informacemi II. Databáze – základy SQL Typ: DUM - kombinovaný.
Databázové systémy II Přednáška V Ing. Tomáš Váňa, Ing. Jiří Zechmeister Fakulta elektrotechniky a informatiky
2 Ing. Jan Keprt Centrální správa uživatelů 3 Jak to bylo dosud Bylo třeba nastavení uživatelů provést zvlášť, v každém modulu samostatně. Uživatel si.
Práce se šablonami v MS Word 2007
Databázové systémy I Cvičení č. 8 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
NeoSync on-line zálohování pro každého / pro každou firmu
Architektury a techniky DS Cvičení č. 9 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Copyright (C) 1999 VEMA počítače a projektování, spol. s r.o.1 Lucián Piller Intranet HR.
Databázové systémy II Přednáška č. 9. Transakce je logická jednotka práce sestávající z jednoho nebo více SQL příkazů, které jsou atomické z hlediska.
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
Access Vysvětlení pojmu databáze - 01
2 Petr Žitný znalosti.vema.cz 3 Báze znalostí Nová služba zákazníkům ▸Báze naplněná informacemi, ke které mají uživatelé přímý přístup Základní cíl ▸Poskytovat.
Databázové systémy 2 Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Architektury a techniky DS Cvičení č. 6 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
filtrování a řazení dat, podmíněné formátování,
Batové dávky Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Vojtěch Mrózek. Dostupné z Metodického portálu ISSN: ,
Import dat Access (16). Projekt: CZ.1.07/1.5.00/ OAJL - inovace výuky Příjemce: Obchodní akademie, odborná škola a praktická škola pro tělesně.
Základní škola T. G. Masaryka a Mateřská škola Poříčany, okr. Kolín VY_32_INOVACE_ICT_04 ORGANIZACE DAT V PC Zpracovala: Mgr. Květoslava Štikovcová Číslo.
Vlastnosti souborů Jaroslava Černá.
Soubor Soubor v informatice označuje pojmenovanou sadu dat uloženou na nějakém datovém médiu, se kterou lze pracovat nástroji operačního systému jako.
Databázové systémy a SQL
Databázové systémy a SQL
Přednáška 9 Triggery.
Algoritmizace a datové struktury (14ASD)
Transkript prezentace:

Fakulta elektrotechniky a informatiky david.zak@upce.cz Databázové systémy II Přednáška č. 10 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky david.zak@upce.cz

Databázové systémy II - př.10 Obsah Zálohování dat Export dat Import dat Práce s XML dokumenty Databázové systémy II - př.10

Databázové systémy II - př.10 Rizika Hodnotu dat si uvědomíme teprve v okamžiku, kdy o ně přijdeme. Database Oracle 10g má nástroje na zotavení při poškození disku (v poškozených blocích) nebo při poškození transakčního žurnálu. Databázové systémy II - př.10

Fyzická záložní databáze Fyzická záložní databáze umožňuje umístění 2 databází v různých geografických lokalitách. Aktualizace dat v produkčním systému se na záložním systému realizují prostřednictvím souborů transakčního žurnálu (na záložním systému se aplikují nad tzv. záložní (standby) databází). Přenos souborů je realizován prostřednictvím síťových protokolů. Databázové systémy II - př.10

Logická záložní databáze Aktualizace dat se realizuje na úrovni logického SQL. Část uživatelů může aktivně pracovat na produkčním systému, zatímco jiní uživatelé mohou vykonávat různé operace na záložním systému. Záložní server může sloužit například pro dolování dat nebo analýzy. Při analytických operacích nevadí malé zpoždění vůči hlavní databázi na produkčním systému – příklad: pokud zkoumáme chování zákazníka za poslední měsíc, poslední hodina, o kterou je databáze zpožděna, nám vůbec nevadí. Databázové systémy II - př.10

Aktualizace dat v záložní databázi Synchronní aktualizace dat - proces, který zapisuje data do produkční databáze, ve stejném čase zapíše také data do záložní databáze Asynchronní aktualizace dat - data se do záložní databáze zapíší s určitým zpožděním. Asynchronní aktualizace může být výhodná v tom případě, pokud selžou nějaké operace. Tento systém může ošetřit chyby od samotného uživatele. Databázové systémy II - př.10

Databázové systémy II - př.10 Způsoby zálohování Kompletní zálohování - zálohují se všechna data a databázové struktury, které databáze obsahuje. Zálohovat můžeme na pevný disk, optický disk, pásku či síťový disk. Obnova je jednoduchá (při dostatečně aktuální záloze) Nevýhodou je zálohování velkého objemu dat, proto se tento způsob zálohování používá obvykle v delších časových intervalech Databázové systémy II - př.10

Databázové systémy II - př.10 Způsoby zálohování Rozdílové/přírůstkové zálohování ukládají se jen ty datové stránky, které byly změněny od poslední kompletní zálohy Při obnově nejprve využijeme kompletní zálohu a potom aktualizujeme data na základě přírůstkových (rozdílových) záloh Výhodou je menší objem dat a proto se používá k kratších časových intervalech Databázové systémy II - př.10

Databázové systémy II - př.10 Způsoby zálohování Záloha transakčního žurnálu (protokolu) Zálohován jen transakční žurnál, to znamená transakce provedené od poslední kompletní zálohy Databázové systémy II - př.10

Databázové systémy II - př.10 Offline zálohování Konzistentní offline zálohování se provádí, když byla databáze zastavena normálním způsobem. Je možné provést zálohování: Datových souborů Řídících souborů Online souborů protokolu Souboru init.ora nebo souboru s parametry serveru (spfile) Zálohování všech těchto souborů poskytne kompletní obraz databáze v okamžiku jejího zastavení. Není korektní provádět zálohu databázových souborů při spuštěné a otevřené databázi kromě online zálohování (databáze běží v režimu ARCHIEVELOG). Databázové systémy II - př.10

Online transakční žurnál Všechny změny provedené v databázi se ukládají do transakčního žurnálu. Transakčních žurnálů je obvykle více, například 3, při zaplnění prvního se přejde na druhý, potom na třetí a tento proces se neustále cyklicky opakuje. Pomocí transakčních žurnálů je možné zrekonstruovat databázi do stavu odpovídajícího určitému okamžiku. Děje se tak automaticky na pozadí nebo na pokyn uživatele. Databázové systémy II - př.10

Soubory protokolu (redo log) Databázové systémy II - př.10

Online transakční žurnál K dispozici jsou 2 režimy: ARCHIVELOG – všechny změny databáze jsou trvale uloženy v archivovaném transakčním žurnálu, tento režim umožňuje zotavení nejen po selhání instance databázového serveru, ale také po selhání diskového media – tedy při poškození datových souborů NOARCHIVELOG – pouze zotavení při selhání instance, zotavení bude provedené jen z aktivního transakčního žurnálu Stav zjistíme dotazem ARCHIVE LOG LIST; Start archivace ARCHIVE LOG START; Databázové systémy II - př.10

Zastavení běhu instance Aby se mohl režim změnit, je třeba instanci restartovat (to není pro databázový server a jeho administrátora obvykle moc žádoucí, ale v tomto případě nevyhnutelné). Proces zastavení může proběhnout ve 4 režimech Normal – se zastavením se čeká na odpojení všech aktuálně připojených uživatelů Immediate – v tomto režimu jsou před zastavením odvolány všechny aktivní transakce a následně odpojeni všichni uživatelé Abort – v tomto režimu bude zastavení provedeno okamžitě a „bezohledně“ Transactional – všichni aktivní uživatelé budou odpojeni po ukončení svých transakcí a až poté dojde k zastavení Samotný průběh restartu může trvat dlouhou dobu. Databázové systémy II - př.10

Online transakční žurnál Obnova dat z transakčního žurnálu se může provést například příkazem RECOVER DATABASE UNTIL TIME ‘2007-04-27 5:00’ Databázové systémy II - př.10

Plánování pravidelného zálohování Můžeme využít některou z předdefinovaných strategií nebo vytvořit vlastní strategii zálohování. Předdefinované strategie obsahují: Přírůstková záloha 1x týdně (vhodná pro nepříliš aktualizované databáze) Kompletní záloha každý den (vhodná pro transakční nepříliš velké databáze) Kompletní záloha 1x týdně (vhodná pro velké a často aktualizované databáze) Dále můžeme vybrat den v týdnu a hodinu. Vytvořená úloha bude v seznamu aktivních úloh. Databázové systémy II - př.10

Databázové systémy II - př.10 Import a export dat Import a export dat používáme zejména pro výměnu dat s jinými aplikacemi. Mezi často používané formáty patří: SQL - textové soubory s jednotlivými SQL příkazy (skripty) Textové soubory, např. s oddělovači sloupců a řádků (např. CSV Comma-separated values) s pevnou šířkou sloupců XML soubory Soubory tabulkových procesorů (např. Excel – XLS) Databázové systémy II - př.10

Databázové systémy II - př.10 Import a export dat SQL developer nabízí export dat do souborů Databázové systémy II - př.10

Export dat z SQL Developeru Můžeme exportovat: data z tabulky, výsledky dotazu nebo výstup reportu buď do souboru nebo do schránky Windows. Při exportu je možné definovat omezující podmínky či vybrat sloupce Databázové systémy II - př.10

Export dat z SQL Developeru Formát INSERT (SQL), tabulka Trpaslici -- INSERTING into TRPASLICI Insert into TRPASLICI (ID,JMENO,VYSKA,NAROZEN) values (1,'Stistko',110,1980); Insert into TRPASLICI (ID,JMENO,VYSKA,NAROZEN) values (2,'Kychal',115,1983); Insert into TRPASLICI (ID,JMENO,VYSKA,NAROZEN) values (3,'Profa',120,1999); Insert into TRPASLICI (ID,JMENO,VYSKA,NAROZEN) values (4,'Rypal',112,2001); Insert into TRPASLICI (ID,JMENO,VYSKA,NAROZEN) values (5,'Brucoun',109,1976); Insert into TRPASLICI (ID,JMENO,VYSKA,NAROZEN) values (6,'Stydlin',117,1984); Insert into TRPASLICI (ID,JMENO,VYSKA,NAROZEN) values (7,'Smudla',108,1993); Databázové systémy II - př.10

Export dat z SQL Developeru Formát TEXT, tabulka Trpaslici "ID" "JMENO" "VYSKA" "NAROZEN" "1" "Stistko" "110" "1980" "2" "Kychal" "115" "1983" "3" "Profa" "120" "1999" "4" "Rypal" "112" "2001" "5" "Brucoun„ "109" "1976" "6" "Stydlin" "117" "1984" "7" "Smudla" "108" "1993" Databázové systémy II - př.10

Export dat z SQL Developeru Formát CSV, tabulka Trpaslici "ID","JMENO","VYSKA","NAROZEN" "1","Stistko","110","1980" "2","Kychal","115","1983" "3","Profa","120","1999" "4","Rypal","112","2001" "5","Brucoun","109","1976" "6","Stydlin","117","1984" "7","Smudla","108","1993" Databázové systémy II - př.10

Export dat z SQL Developeru Formát XML, tabulka Trpaslici <?xml version='1.0' encoding='null' ?> <results> <row> <ID><![CDATA[1]]></ID> <JMENO><![CDATA[Stistko]]></JMENO> <VYSKA><![CDATA[110]]></VYSKA> <NAROZEN><![CDATA[1980]]></NAROZEN> </row> <ID><![CDATA[2]]></ID> <JMENO><![CDATA[Kychal]]></JMENO> <VYSKA><![CDATA[115]]></VYSKA> <NAROZEN><![CDATA[1983]]></NAROZEN> </results> Databázové systémy II - př.10

Export dat z SQL Developeru Formát XLS, tabulka Trpaslici Databázové systémy II - př.10

Export dat z SQL Developeru Formát LOADER, tabulka Trpaslici LOAD DATA INFILE * Truncate INTO TABLE "TRPASLICI" FIELDS TERMINATED BY ',' TRAILING NULLCOLS (ID, JMENO, VYSKA, NAROZEN) begindata "1","Stistko","110","1980" "2","Kychal","115","1983" "3","Profa","120","1999" "4","Rypal","112","2001" "5","Brucoun","109","1976" "6","Stydlin","117","1984" "7","Smudla","108","1993" Databázové systémy II - př.10

Export dat z SQL Developeru Formát HTML, tabulka Trpaslici <html> <body> <table> <th>ID</th> <th>JMENO</th> <th>VYSKA</th> <th>NAROZEN</th> <tr> <td>1</td> <td>Stistko</td> <td>110</td> <td>1980</td> </tr> <td>2</td> <td>Kychal</td> <td>115</td> <td>1983</td> </table> </body> </html> Databázové systémy II - př.10

Databázové systémy II - př.10 Import a export DDL SQL Developer nabízí export SQL příkazů pro vytváření databázových objektů, v rámci jednoho typu objektů je možné označit více objektů (tabulek, procedur, …) a uložit DDL příkazy, které se vztahují k vytváření těchto objektů. Databázové systémy II - př.10

Kompletní export schématu v SQL Developeru Volba Tools – Export DDL (and Data) Umožňuje uložit DDL příkazy všech (nebo vybraných) databázových objektů v rámci schématu včetně uložených dat (pokud nebude nastaveno filtrování) Výsledný soubor je typu sql (text s SQL příkazy). Databázové systémy II - př.10

Export a import dat v Oracle XE Databázové systémy II - př.10

Export a import dat v Oracle XE Databázové systémy II - př.10

Databázové systémy II - př.10 Import dat v Oracle XE Databázové systémy II - př.10

Databázové systémy II - př.10 Import dat v Oracle XE Databázové systémy II - př.10

Migrace v SQL Developeru Migrace je proces převodu dat z jiné platformy (SQL Developer nabízí kromě Oracle např. MySQL, MS SQL server či Access), využívá se tool Oracle Migration Workbench Migrace se může skládat pouze z DDL příkazů vlastních dat v tabulkách, … Migrace může být Online (provede se právě teď) Offline (prostřednictvím zálohy objektů a dat do souboru) Databázové systémy II - př.10

Kopírování objektů mezi schématy či databázemi Oracle v SQL Developeru Příklad migrace dat ze schématu trpaslik na serveru asuei01.upceucebny.cz do schématu pokus na notebooku (localhost) Tj. export vybraných tabulek a spuštění skriptu na localhostu, viz praktická ukázka. Ukázka nástroje Schema Diff (hledá odlišnosti v DDL). Databázové systémy II - př.10

Export dat – klasické formy Před prvním exportem nebo importem je nutné spustit skript CATALOG.SQL Pro tento krok je nutné přihlásit se jako uživatel SYS. Pro export je možné spustit utilitu exp z příkazové řádky operačního systému. Další možností je využitím Enterprise Manager Console nebo WWW EM stránek. Exportovat je možné Databázi Schéma daného uživatele Vybrané tabulky a na ně navázané struktury Pro export je nezbytné mít práva (pověření pro příslušný uzel). Databázové systémy II - př.10

Databázové systémy II - př.10 Export dat Export může být Jednorázový (nyní) Jednorázový (odložený - plánovaný) Opakovaný Databázové systémy II - př.10

Export dat do flat-souborů Flat soubor - prostý textový soubor, kde data mohou (ale nemusí) být oddělena nějakým oddělovačem (čárka, mezera, tabulátor, …). Například data načítaná do datových skladů pochází často z různých – nehomogenních zdrojů, například ze souborových či desktopových databází (MS Access, dBase) nebo data z databází libovolného databázového serveru (firem Oracle, IBM, Microsoft, Sybase, Interbase, Ingres, …) Prosté soubory jsou tedy častým prostředkem pro přenos dat mezi těmito systémy, terminologicky často označované jako: ETT (Extraction, Transformation & Transport) nebo ETL (Extraction, Transformation & Loading) Databázové systémy II - př.10

Export dat do flat-souborů Pro správný zápis je třeba SET heading off SET feedback off SET echo off SET pagesize 0 SPOOL C:\pokus.dat SELECT id || ‘,’ || ‘”’||jmeno||‘”’ FROM trpaslici; SPOOL off Takto uložené soubory jsou snadno stravitelné prakticky libovolnou databázovou platformou. Databázové systémy II - př.10

Import dat z flat-souborů Pro import dat z externích datových zdrojů se používá utilita SQL*Loader. Spouští se z operačního systému příkazem sqlldr Je možné, aby řídící soubor obsahoval jak parametry importu, tak samotná data: LOAD FILE INFILE *INTO TABLE trpaslici FIELDS TERMINATED BY ‘,’ OPTIONALLY ENCLOSED BY ‘”’ (id, jmeno) BEGINDATA 1, „Smudla“ 2, … Databázové systémy II - př.10

Import dat z flat-souborů Poznámky: tabulka, do níž importujeme, musí být předem vytvořena Příklad volání utility Sqlldr USERID=scott/tiger CONTROL=c:\filename.ctl LOG=c:\filename.log Databázové systémy II - př.10

Databázové systémy II - př.10 Externí tabulky Umožňují použít příkaz SELECT na soubory s daty oddělenými čárkami, poziční soubory s pevnou šířkou Nelze upravovat, je jen možné se na ně dotazovat. Nemohou být indexovány, neboť pro řádky neexistují žádné hodnoty ROWID. Vhodné pro načítání a slučování dat – tedy nikoli jako náhrada tabulek. Databázové systémy II - př.10

Databázové systémy II - př.10 Externí tabulky Závisí na nastavení objektu DIRECTORY databáze Oracle CREATE OR REPLACE DIRECTORY ext_dir as ‘/tmp/’; A práv uživatele k tomuto adresáři GRANT read, write on directory ext_dir to username; Soubory musí být na databázovém serveru, vlastní databázové procesy musí být schopny soubor zjistit, otevřít a přečíst. To lze řešit i připojením/mapováním disků. Databázové systémy II - př.10

Externí tabulky s oddělovačem Vytvoření tabulky create table ext_table_csv ( i Number, n Varchar2(20), m Varchar2(20)) organization external ( type oracle_loader default directory ext_dir access parameters ( records delimited by newline fields terminated by ',' missing field values are null) location ('file.csv') ) reject limit unlimited; Databázové systémy II - př.10

Externí tabulky s pevnou šířkou sloupců Vytvoření tabulky create table ext_table_fixed ( field_1 char(4), field_2 char(30)) organization external ( type oracle_loader default directory ext_dir access parameters ( records delimited by newline fields ( field_1 position(1: 4) char( 4), field_2 position(5:30) char(30))) location ('file') ) reject limit unlimited; Databázové systémy II - př.10

Databázové systémy II - př.10 Oracle a XML Současné IT prostředí je heterogenní, stále více se prosazuje XML jako univerzální formát pro výměnu dat, proto je i Oraclem masivně podporován. Oracle sází na kombinaci SQL + XML + Java Oracle umožňuje: vygenerovat výstup z dtb. tabulky či dotazu do XML definovat datový typ XML provádět XML operace nad daty v relačních databázích provádět SQL operace nad daty v XML dokumentech Databázové systémy II - př.10

Databázové systémy II - př.10 XML repositář XML dokumenty jsou uloženy v XML repositářích, které umožňují přístup k těmto dokumentům prostřednictvím protokolů HTTP, FPT a WebDAV (standard umožňující číst a měnit datové elementy databáze podobně jako složky a soubory souborového systému) Součástí repositáře je i správa přístupových oprávnění, správa složek, SQL vyhledávání v XML repositáři, API pro práci s XML repositářem a manipulace s objekty pomocí Java servletu. Databázové systémy II - př.10

Výpis tabulky ve formátu XML Funkce SYS_XMLGEN – vygeneruje několik XML dokumentů dle počtu řádků ve výsledku dotazu SYS_XMLAGG – vygeneruje jediný dokument Příklad: select SYS_XMLGEN(JMENO) from TRPASLICI; <?xml version="1.0"?> <JMENO>Stistko</JMENO> Databázové systémy II - př.10

Výpis tabulky ve formátu XML Funkce XMLelement – výpis pomocí elemetů XMLatributes – výpis jednotlivých atributů XMLforest – výpis atributů pomocí samostatných elementů Příklady: select xmlelement("trpaslik",xmlattributes(jmeno, narozen as "rok")) from TRPASLICI; <trpaslik JMENO="Stistko" rok="1980"></trpaslik> select xmlelement("trpaslik",xmlforest (jmeno, narozen as "rok")) <trpaslik><JMENO>Stistko</JMENO><rok>1980</rok></trpaslik> <trpaslik> <JMENO>Stistko</JMENO> <rok>1980</rok> </trpaslik> Databázové systémy II - př.10

Databázové systémy II - př.10 Datový typ SYS.XMLType Příklad CREATE TABLE XML_table (zaznam SYS.XMLType); Pomocí funkce SYS.XMLType.createxml(řetězec) můžeme konvertovat textový řetězec na typ SYS.XMLType Příklad použití INSERT INTO XML_table VALUES (SYS.XMLType.createxml(řetězec obsahující XML dokument)); Databázové systémy II - př.10

Databázové systémy II - př.10 Technologie XQuery Jazyk XQuery je nově přijatý standard standardizační organizací W3C. Jazyk XQuery používá množinu příkazů FLOWR (akronym složený z hlavních příkazů FOR, LET, WHERE, ORDER BY, RETURN) FOR – umožňuje iteraci přes sourozenecké uzly (analogie FROM v SQL) LET – znamená přiřazení WHERE – filtrovací kritérium ORDER BY – řazení RETURN - určuje návratový dokument formátovaný dle našich požadavků Technologie XQuery může být použita jak nad XML dokumenty, tak i pro relační tabulky. Tato technologie je také vhodná i pro vytváření XML dokumentů v repositáři. Databázové systémy II - př.10

Databázové systémy II - př.10 Balíček DBMS_XMLGEN Příklad použití v SQL dotazu: SELECT DBMS_XMLGEN.getXML('SELECT * FROM emp') FROM dual; Výsledek dotazu: <?xml version="1.0"?> <ROWSET> <ROW> <EMPNO>7369</EMPNO> <ENAME>SMITH</ENAME> <JOB>CLERK</JOB> <MGR>7902</MGR> <HIREDATE>17-DEC-1980 00:00:00</HIREDATE> <SAL>800</SAL> <DEPTNO>20</DEPTNO> </ROW> ... </ROWSET> Databázové systémy II - př.10

Databázové systémy II - př.10 Balíček DBMS_XMLGEN Příklad použití v kodu PL/SQL: DECLARE ctx DBMS_XMLGEN.ctxHandle; xml CLOB; BEGIN ctx := dbms_xmlgen.newcontext('select * from emp'); dbms_xmlgen.setrowtag(ctx, 'MY-ROW-START-HERE'); xml := dbms_xmlgen.getxml(ctx); dbms_output.put_line(substr(xml,1,255)); END; / Databázové systémy II - př.10

Databázové systémy II - př.10 Otázky Děkuji za pozornost. Databázové systémy II - př.10