Distanční opora předmětu: Databázové systémy Tématický blok č. 5: Dotazovací jazyk XPath Autor: RNDr. Jan Lánský, Ph.D.

Rozměr: px
Začít zobrazení ze stránky:

Download "Distanční opora předmětu: Databázové systémy Tématický blok č. 5: Dotazovací jazyk XPath Autor: RNDr. Jan Lánský, Ph.D."

Transkript

1 Distanční opora předmětu: Databázové systémy Tématický blok č. 5: Dotazovací jazyk XPath Autor: RNDr. Jan Lánský, Ph.D. Obsah kapitoly 1 XPath 1.1 Cesta 1.2 Osy 1.3 Test uzlu 1.4 Podmínka 1.5 Vestavěné funkce 2 XPath v SQL Serveru Studijní cíle Cíle nutné k zahájení studia dalšího tématického bloku Další cíle Schopnost vytvořit XPath dotaz s využitím os child, parent, descendant-or-self a atribute. V XPath dotazu schopnost použít podmínku testující existenci uzlu nebo porovnávající hodnotu uzlu s konstantou. Schopnost vyhodnotit XPath dotaz nad XML daty v SQL Serveru. Využití vestavěných funkcí v XPath dotazu. Znalost všech XPath os. Schopnost modifikace XML dat (vložení, smazání kusu XML dokumentu) v SQL Serveru pomocí XPath dotazu. Čas potřebný ke studiu 2-6 hodiny na prostudování výukových textů + zodpovězení otázek k rekapitulaci 1-3 hodiny na vypracování modelových úloh na PC 1 hodina na praktické zopakování učiva na PC ( v jiný den) 30 min - 1 hodina na (znovu)zodpovězení otázek k rekapitulaci (v jiný den) Časy jsou hodně individuální a jsou závislé na míře znalostí z oblasti databázových systémů získaných během bakalářského studia.

2 Úvod V tomto bloku probereme následující témata. Nejprve se seznámíme se stromovým modelem XML dokumentu, který je využíván pro XPath dotazy. Vysvětlíme si pojmy cesta a krok, na jednoduchých příkladech probereme osy child a attribute. Vysvětlíme si všech 12 os. Naučíme se testovat množinu uzlů získanou pomocí osy na typ a název uzlu. Naučíme se používat podmínky, které redukují množinu uzlů získanou pomocí osy a testu uzlu. Probereme některé z vestavěných funkcí, které se dají použít v podmínce. Naučíme se používat XPath pro dotazování nad XML daty uloženými v SQL Serveru. Naučíme se používat XPath pro modifikaci dokumentů (insert, delete) v SQL Serveru. Výkladová část Vysvětlivky Červený text Porušením nebo opomenutím takto označených pravidel vznikají těžko odladitelné chyby (zejména pro začínající programátory). Modrý text Doporučení jak programovat v praxi. Často prevence závažných chyb. 1 XPath XPath je dotazovací jazyk nad XML dokumenty. Výsledkem dotazů v jazyce XPath je část XML dokumentu. Základní myšlenka tohoto jazyka je založena na pohybu ve stromovitém modelu dokumentu, obdoba pohybu v systému souborů. Dotaz lze chápat jako cestu k určité části XML dokumentu. Na jazyku XPath je založeno mnoho dalších XML technologií, například XQuery či XSLT. Na slajdu č. 5 vidíme příklad XML dokumentu, jehož stromový model budeme vytvářet pro účely dotazování v jazyce XPath.. Na slajdech č vidíme jak postupně model vzniká. Model je vždy zobrazen v pravé polovině slajdu, červeně označené řádky XML dokumentu jsou aktuálně na daném slajdu do modelu přidávané. Na slajdu č. 12 je zobrazen již celý hotový model. Jedná se o strom, ve kterém jsou uzly reprezentující celý dokument, elementy, atributy, nebo textový obsah elementů. Kořen stromu document reprezentuje celý XML dokument a je označen modře, má jediného syna kořenový element dokumentu objednávka. Zelenou barvu mají uzly elementů. Oranžově jsou obarveny uzly atributů, hodnoty atributů jsou uvedeny pod těmito uzly. Šedou barvu mají uzly pro textový obsah, konkrétní text je uveden opět pod těmito uzly. Model může obsahovat ještě uzly pro komentáře, uzly pro proveditelné konstrukce a uzly pro jmenné prostory, žádný z těchto typů uzlů se však na našem obrázku nenachází. Model neobsahuje sekce CDATA, odkazy na entity a DTD.

3 Přestože atributy (oranžově označené) v modelu vypadají jako potomkové svých elementů, z hlediska využití tohoto stromu po dotazy v jazyku XPath nejsou jako jejich potomci brány. 1.1 Cesta Výrazem v jazyce Xpath je cesta, která se skládá s kroků. Cesta může být absolutní (začínající v kořeni stromu) nebo relativní (a k ní musí být známa množina uzlů, ze kterých se má startovat). Jednotlivé kroky cesty se oddělují symbolem lomítka (/) a reprezentují jednotlivé uzly v modelu dokumentu. Návratovou hodnotou cesty je množina uzlů. Výsledek není uspořádán a může být zobrazeno jeho pořadí, které je různé od pořadí elementů v dokumentu. Na slajdech č je na stromovém modelu dokumentu znázorněno postupné vyhodnocování cesty /objednavka/polozky/polozka/cena/@kod. Elementy, které jsou právě vyhodnocovány v daném kroku cesty jsou ve stromovém modelu označeny červeným rámečkem. Cesta obsahující samotný symbol / označuje celý dokument (situace na slajdu č. 16). Na slajdu č. 17 obsahuje cesta /objednavka navíc element objednavka. Na slajdu č. 18 jsme cestu /objednavka/polozky/polozka rozšířili o dva kroky najednou. Nejprve jsme přistoupili k elementu polozky, který je potomkem elementu objednavka. Poté jsme zároveň přistoupili k oběma elementům polozka, které jsou potomky elementu polozky. Na tomto příkladu vidíme, že jeho výsledkem cesty může být i množina elementů, nejen jeden samotný element. Celá cesta /objednavka/polozky/polozka/cena/@kod je vyhodnocena na slajdu č. 19. Nově přibyl poslední značí přístup k atributu. Výsledkem dotazu jsou oba atributy kod patřící oběma dvěma elementům polozka. Na slajdu č. 20 vidíme podobný příklad. Pouze v posledním kroku cesty je za text() značící textový obsah elementu. Na slajdu č. 21 je poslední krok nahrazen za barva. Tento element se nachází jako podelement pouze u jednoho (pravého) ze dvou elementu polozka získaných v předchozím kroku cesty. Na slajdech č. 22 a 23 jsou cesty, jejichž výsledkem je prázdná množina elementů. V obou dvou případech je v cestě jako krok použit element, který se v dokumentu vůbec nevyskytuje. Na slajdech č jsou různé výsledky vyhodnocení relativní cesty cena/text() vzhledem k různým počátečním množinám elementů, pro které vyhodnocování probíhá. Elementy patřící do počáteční množiny jsou označeny na slajdu červenou šipkou. Na slajdu č. 27 je výsledkem prázdná množina. 1.2 Osy V předchozí kapitole jsme si ukázali, že krokem XPath výrazu je přechod od rodičovského elementu na jeden nebo více elementů, které jsou jeho potomky. Jednalo se pouze o speciální příklad XPath kroku, ve skutečnosti je syntax bohatší. XPath krok je definován jako osa::test-uzlu podmínka. Osa udává požadovaný vztah hledaných uzlů vzhledem k danému počátečnímu uzlu v rámci stromového modelu XML

4 dokumentu. Test uzlu omezuje množinu konkrétních kandidátů (uzlů) daných konkrétní osou na uzly daného typu a případně názvu. Podmínka pak specifikuje pokročilé požadavky na uzly, které byly vybrány osou a prošly testem uzlu. Podmínek smí být použito i více. V našich příkladech byla podmínka prázdná, osa byla defaultní (tedy nebyla uvedena). Defaultní osa se nazývá child. Na slajdu č. 32 dole v rámečku vidíme dva možné zápisy dotazu využívající tuto osu. První zápis je zkrácený, se kterým jsme se již seznámily, druhý zápis je plný. Na slajdech č jsou představeny další osy. Červenou šipkou je označen uzel (budeme mu říkat uzel u), pro který se daný krok cesty vyhodnocuje. Červenými rámečky jsou označeny uzly, které jsou výsledkem daného kroku dotazu. Výsledkem použití osy self (slajd č. 33) je samotný uzel u. Výsledkem použití osy parent (slajd č. 34) je rodič uzlu u. Výsledkem použití osy ancestor (slajd č. 35) jsou všichni předci uzlu u, tedy všechny uzly ležící na cestě od kořene k uzlu u. Výsledkem použití osy ancestor-or-self (slajd č. 36) jsou všichni předci uzlu u včetně uzlu u. Výsledkem použití osy child (slajd č. 37) jsou všechny děti uzlu u. Výsledkem použití osy descendant (slajdy č. 38 a 39) jsou všichni potomci uzlu u. Výsledkem použití osy descendant-or-self (slajd č. 40) jsou všichni potomci uzlu u včetně uzlu u. Na slajdu č. 41 je znázorněno očíslování uzlu stromového modelu XML dokumentu pomocí algoritmu DFS (průchod stromem do hloubky). Čísla uzlů jsou uvedena nahoře vlevo u každého z nich. Toto očíslování uzlů se využívá u následujících několika os. Výsledkem použití osy preceding-sibling (slajd č. 42) jsou všichni sourozenci uzlu u, kteří mají nižší číslo přidělené průchodem stromu do hloubky. Sourozenci, kteří se nacházejí v dokumentu před uzlem u. Výsledkem použití osy preceding (slajd č. 43) jsou všechny uzly, které mají nižší číslo přidělené průchodem stromu do hloubky než jaké je přiděleno uzlu u. Uzly, které se nacházejí v dokumentu před uzlem u. Výsledkem použití osy following-sibling (slajd č. 44) jsou všichni sourozenci uzlu u, kteří mají vyšší číslo přidělené průchodem stromu do hloubky. Sourozenci, kteří se nacházejí v dokumentu za uzlem u. Výsledkem použití osy following (slajd č. 45) jsou všechny uzly, které mají vyšší číslo přidělené průchodem stromu do hloubky než jaké je přiděleno uzlu u. Uzly, které se nacházejí v dokumentu za uzlem u. Výsledkem použití osy attribute (slajd č. 45) jsou všechny atributy uzlu u. Tato osa jako jediná vybírá do výsledku atributy, všechny ostatní osy atributy ignorují. 1.3 Test uzlu Po výběru množiny uzlů za použití příslušné osy přichází na řadu test těchto vybraných uzlů. Testuje se typ uzlu, případně i jeho název. Zatím jsme se seznámili pouze s testem na přesný název uzlu (kapitola 1.1) Testem node() úspěšně projdou všechny uzly vybrané osou. Na slajdu č. 51 vidíme vybrání všech potomků (osa descendent) uzlu položky. Testem text() úspěšně projdou všechny textové uzly vybrané osou. Na slajdu č. 53 vidíme vybrání všech textových uzlů, které jsou potomky položky.

5 Testem * projdou všechny uzly vybrané osou, které mají jméno. Jméno mají všechny elementy i atributy, ale neexistuje osa, které by vybírala z obou skupin zároveň. Nepojmenované jsou uzly s textovým obsahem, ty vybrány nebudou nikdy. Na slajdu č. 55 vidíme vybrání všech pojmenovaných elementových potomků uzlu položky. Na slajdu č. 57 vidíme zkrácené zápisy pro některé kombinace os a testů uzlů. Písmeno P značí předchozí část cesty. Na prvním řádku je název osy vynechán, použije se defaultní osa child (s tímto zápisem jsme se již seznámili) na druhém řádku nahrazujeme osu attribute. Na třetím řádku pomocí dvou teček (..) nahrazujeme plný zápis pro vybrání rodičovského uzlu použití osy parent. Jedná se o analogii pro přístup k rodičovskému adresáři v souborovém systému. Na čtvrtém řádku vidíme prázdný krok //, což je zkrácený zápis pro přeskočení libovolného množství potomků. Často se používá zápis //název pro vybrání všech uzlů daného jména název v celém dokumentu bez ohledu na jejich umístění 1.4 Podmínka Po výběru množiny uzlů za použití příslušné osy a jejich otestování podle typu uzlu může nepovinně následovat podmínka (slajd č. 58), která z množiny uzlů odstraní ty uzly, která ji nesplňují. Podmínek smí být použito více za sebou. Podmínka se nachází v hranatých závorkách [ ] a může být i složená za použití logických spojek and, or a not. V případě spojky not je nutné negovanou podmínku navíc uzávorkovat kulatými závorkami. Podmínkou může být relativní (vzhledem ke zpracovávanému uzlu) XPath cesta. Tento typ podmínky je vyhodnocen jako splněný, pokud množina uzlů daná relativní cestou v podmínce je neprázdná. Na slajdu č. 60 vidíme příklad na tento typ podmínky (existence uzlu daného relativní cestou). Dotaz na slajdu vybere ty uzly položka, které obsahují atribut kód. Do výsledné množiny uzlů jsou zařazeny oba uzly položka, které se v dokumentu nacházejí. Na slajdu č. 61 je podobný dotaz. Vybíráme uzly položka, které obsahují atribut cena. Tuto podmínku splňuje pouze jeden uzel (levý). Na slajdu č. 62 vidíme opět použití relativní cesty v podmínce dotazu. Testujeme zda dědeček uzlu položka obsahuje atribut stav. Na slajd č. 63 testujeme zda některý ze předků uzlu položka obsahuje atribut stav. V našem stromovém modelu XML dokumentu je výsledek dotazu shodný s předchozím dotazem, v obecném XML dokumentu se mohou lišit. Na slajdu č. 64 je opět výsledek dotazu shodný s předchozími dvěma dotazy, ale v obecném XML dokumentu se výsledek může lišit. V podmínce můžeme také porovnávat relativní XPath cestu (k atributu nebo elementu) s hodnotou pomocí operátorů =,!=, <, >, <=, >=. Pokud je operandem element, jeho hodnotou pro porovnávání je jeho textový obsah. V podmínce lze také použít operátory &eq; < > pro porovnání dvou hodnot.(nesmí se jednat o uzly). Pokud by jedním z jejich operandů byl uzel, převede se na textovou hodnotu. Tyto operátory bývají častěji použity chybně, než správně a úmyslně. Na slajdu č. 66 vidíme dotaz vyhledávající uzly položka, které obsahují element barva s hodnotou textového obsahu modrá. Na slajdu č. 67 vidíme dotaz vyhledávající uzly položka, které obsahují element cena s hodnotou textového obsahu (který se automaticky

6 konvertuje na číslo) větším než 30. Výsledek dotazu je prázdný. Na slajdu č. 67 vidíme složitější dotaz. Hledáme uzly položka, které mají předka objednávka s hodnotou atributu stav expedován. Na slajdu č. 70 opět vidíme dotaz vyhledávající uzly položka, které obsahují element barva s hodnotou textového obsahu modrá. Na slajdu č. 71 vidíme dotaz, který vrátí ten samý výsledek co předchozí dotaz, přestože jsme v podmínce změnili operátor = na!=. Protože uzel položka obsahuje dva elementy barva, je podmínka splněna pro druhý z elementů barva, který má hodnotu žlutá. Pokud chceme najít uzel položka, který nemá žádný z elementů barva s hodnotou modrá, musíme použít zápis [not (barva = "modrá")]. Na slajdu č. 72 vidíme syntakticky špatný zápis kdy místo operátoru = použijeme eq;. 1.5 Vestavěné funkce V právě zpracovávaném kroku XPath cesty pracujeme s několika uzly. Tyto uzly mají své pořadí dané jejích umístěním v XML dokumentu a směrem použité osy. Voláním funkce position() toto pořadí zjistíme. Voláním funkce last() zjistíme počet uzlů se kterými v daném kroku cesty pracujeme. Na slajdu č. 74 hledáme uzel položka, který je prvním potomek uzlu položky. Na slajdu č. 75 hledáme uzel položka, který je posledním potomek uzlu položky. V obou případech jsme použili funkci position() a její hodnotu jsme porovnali s požadovanou pozicí uzlu. Tento typ podmínky má i svůj zkrácený zápis, ve kterém je celá rovnost nahrazena požadovanou pozicí uzlu. Na slajdech č. 76 a 77 jsou tyto zkrácené zápisy předvedeny. Funkce count vrací počet uzlů, které jsou výsledkem XPath výrazu uvedeného jako její parametr. Na slajdu č. 79 v dotazu hledáme uzly položky, které mají nejméně 3 uzly položka. Na slajdu č, 80 vidíme seznam dalších vestavěných funkcí, jedná se zejména o funkce řetězcové a matematické. 2 XPath v SQL Serveru Práce s XPath v každém databázovém systému bývá řešena rozdílnými způsoby. My si v této kapitole popíšeme situaci v SQL Serveru V SQL dotazu v klauzuli SELECT můžeme u sloupců datového typu XML použit následující funkce query, exist a value, které vykonají XPath (obecně dokonce XQuery) dotaz na hodnotách daného sloupce (datového typu XML). Funkce query vrací část XML dokumentu, která je výsledkem XPath dotazu aplikovaného na XML dokument, který je hodnotou daného sloupce, na kterém je funkce zavolána. Funkce exist vrací hodnotu 1 pokud je výsledek dotazu tvořen alespoň jedním uzlem. Pokud je výsledkem dotazu prázdná množina, výsledná hodnota je 0. Funkce value má dva parametry, prvním z nich je dotaz a druhým datový typ. Výsledek dotazu (hodnota uzlu) se převede na požadovaný datový typ.

7 Pokud se tabulka jmenuje XMLTab a sloupec datového typu XML data se jmenuje xml, poté základní dotaz vypadá následovně. SELECT xml.query('text dotazu') FROM XMLTab. Dotaz může být i složitější, může obsahovat i všechny další klauzule. Funkce modify umožňuje mazat nebo vkládat části XML dokumentu v rámci příkazu UPDATE. Jejím parametrem je opět XPath (obecně dokonce XQuery dotaz). Při mazání je doplněn o slovo delete. Při vkládání začínáme slovem insert, následuje kus XML dokumentu, který má být vložen a pokračuje slovem into následovaným samotným dotazem udávající místo vložení. Místo vložení musí být jednoznačně určený uzel, například pomocí plné cesty od kořene až k danému uzlu a uzly na této cestě mají daná pořadová čísla, jako v příkladě dole. V následujícím příkladě prvním příkazem do XML dokumentu vložíme element xxx. a druhým příkazem ho vymažeme. UPDATE XMLtab SET xml.modify('insert <xxx>test</xxx> into /PLAY[1]/TITLE[1]') WHERE id=1*/ UPDATE XMLtab SET xml.modify('delete /xxx') WHERE id=1 Klíčové pojmy XPath stromový model cesta, krok, osa, test uzlu, podmínka self, parent, ancestor, ancestor-or-self, child, descendant, descendant-or-self, preceding-sibling, precedig, following-sibling, following, atribute node(), text(), * last(), position(), count() query(), exist(), value() Otázky k rekapitulaci Upozornění: odpovědi na některé zde uvedené otázky nelze najít ve studijním textu tohoto tématického bloku. Lze je získat vlastním experimentováním se zdrojovými kódy nebo studiem doporučené literatury. Vytvořte stromový model XML dokumentu pro malý XML soubor obsahující okolo 20 elementů (z toho alespoň 5 různých názvů), 20 atributů. Vytvořený model vysvětlete. V dalších otázkách můžete tento model využít. Vysvětlete pojem XPath cesta. Co musí a může obsahovat její jednotlivý krok? Každou z 12 os vysvětlete a zformulujte pro ní dotaz, ve kterém se využije. Na slajdech jsou tři různé dotazy vracející shodný výsledek. Za jakých podmínek by vrácené výsledky byly různé? Co vše může obsahovat testu uzlu? Jaké jsou nejběžnější kombinace os a testů uzlů, jaké mají zkrácené zápisy?

8 Co může obsahovat podmínka? Jak lze vybrat x-tého potomka daného uzlu? Vysvětlete proč rozdílné dotazy na slajdech č. 70 a 71 dávají shodný výsledek. Jakým způsobem docílíme různého výsledku? Jaké tři funkce v SQL Serveru vyhodnocují výsledek XPath dotazu, aniž by modifikovaly původní dokument. Jak se tyto funkce liší? Jak lze modifikovat XML dokument v SQL serveru s využitím XPath dotazu? Své odpovědi zdůvodněte. Můžete přidat i syntaktické zápisy tam, kde je to vhodné. Doporučené příklady k naprogramování Následující dotazy utvořte nad tabulkou XMLTab naplněnou XML dokumenty ze souboru xml.zip nacházejícím se v adresáři se studijními materiály k tomu předmětu. Pro každý z dotazů vymyslete co největší počet různých zápisů, s použitím různých os. Vyhodnocení některých dotazů může trvat i desítky sekund. 1. Zjistěte, které osy jsou v SQL Serveru podporovány a které nejsou. 2. Které postavy (PERSONA) se nenacházejí ve skupině postav (PGROUP)? 3. Najděte skupinu postav, ve které se nenachází postava CORNELIUS. 4. Jaké postavy (SPEAKER) vystupují v předposlední scéně (SCENE) druhého aktu (ACT)? 5. Vypište názvy (TITLE) scén, které se nacházejí v aktech majících alespoň 3 scény?. 6. Přidejte vlastní jméno do seznamu postav a následně ho v dalším dotazu zase odstraňte. 7. Vypište názvy her (TITLE), ve kterých vystupuje alespoň 15 postav. 8. Které postavy (SPEAKER) vystupují v alespoň jedné scéně, ve které vystupuje postava BERNARDO? Studijní literatura [1] Mlýnková, Nečaský: Slajdy k 3. přednášce z předmětu technologie XML (PRG036) vyučovaného na MFF UK (v tomto tématickém bloku označované jako slajdy). [2] Mlýnková a kol.: Technologie XML - Principy a aplikace v praxi. Grada, Praha, [3] Seriál článků o XML: [4]

PRG036 Technologie XML

PRG036 Technologie XML PRG036 Technologie XML Přednáší: Irena Mlýnková (mlynkova@ksi.mff.cuni.cz) Martin Nečaský (necasky@ksi.mff.cuni.cz) LS 2010 Stránka přednášky: http://www.ksi.mff.cuni.cz/~mlynkova/prg036/ 1 Osnova předmětu

Více

Využití XML v DB aplikacích

Využití XML v DB aplikacích Využití XML v DB aplikacích Michal Kopecký Výběr ze slajdů k 7. přednášce předmětu Databázové Aplikace (DBI026) na MFF UK Komunikace aplikace s okolím Databázová aplikace potřebuje často komunikovat s

Více

Distanční opora předmětu: Databázové systémy Tématický blok č. 4: XML, DTD, XML v SQL Autor: RNDr. Jan Lánský, Ph.D.

Distanční opora předmětu: Databázové systémy Tématický blok č. 4: XML, DTD, XML v SQL Autor: RNDr. Jan Lánský, Ph.D. Distanční opora předmětu: Databázové systémy Tématický blok č. 4: XML, DTD, XML v SQL Autor: RNDr. Jan Lánský, Ph.D. Obsah kapitoly 1 XML 2 DTD 2.1 Atributy 2.2 Entity 3. XML v SQL Serveru Studijní cíle

Více

4. blok část A Logické operátory

4. blok část A Logické operátory 4. blok část A Logické operátory Studijní cíl Tento blok je věnován představení logických operátorů AND, OR, NOT v jazyce SQL a práce s nimi. Doba nutná k nastudování 1-2 hodiny Průvodce studiem Při studiu

Více

6. blok část C Množinové operátory

6. blok část C Množinové operátory 6. blok část C Množinové operátory Studijní cíl Tento blok je věnován problematice množinových operátorů a práce s množinovými operátory v jazyce SQL. Čtenáři se seznámí s operátory, UNION, a INTERSECT.

Více

Distanční opora předmětu: Databázové systémy Tématický blok č. 8: Transact SQL Autor: RNDr. Jan Lánský, Ph.D.

Distanční opora předmětu: Databázové systémy Tématický blok č. 8: Transact SQL Autor: RNDr. Jan Lánský, Ph.D. Distanční opora předmětu: Databázové systémy Tématický blok č. 8: Transact SQL Autor: RNDr. Jan Lánský, Ph.D. Obsah kapitoly 1 Motivace 2 Základy syntaxe 3 Procedury a Funkce 4 Kurzory 5 Výjimky Studijní

Více

Distanční opora předmětu: Databázové systémy Tématický blok č. 3: OLAP, operátory CUBE a ROLLUP Autor: RNDr. Jan Lánský, Ph.D.

Distanční opora předmětu: Databázové systémy Tématický blok č. 3: OLAP, operátory CUBE a ROLLUP Autor: RNDr. Jan Lánský, Ph.D. Distanční opora předmětu: Databázové systémy Tématický blok č. 3: OLAP, operátory CUBE a ROLLUP Autor: RNDr. Jan Lánský, Ph.D. Obsah kapitoly 1 OLTP a OLAP 1.1 Datový sklad 1.2 Datová kostka 2 OLAP dotazy

Více

Úvod do databázových systémů

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Database Research Group Úvod do databázových systémů Cvičení 3 Ing. Petr Lukáš petr.lukas@vsb.cz

Více

Úvod do databázových systémů

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 3 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování 4 fáze vytváření

Více

6. blok část B Vnořené dotazy

6. blok část B Vnořené dotazy 6. blok část B Vnořené dotazy Studijní cíl Tento blok je věnován práci s vnořenými dotazy. Popisuje rozdíl mezi korelovanými a nekorelovanými vnořenými dotazy a zobrazuje jejich použití. Doba nutná k nastudování

Více

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

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal Databázové systémy - SQL * definice dat * aktualizace * pohledy Tomáš Skopal Osnova přednášky definice dat definice (schémat) tabulek a integritních omezení CREATE TABLE změna definice schématu ALTER TABLE

Více

KIV/ZIS cvičení 6. Tomáš Potužák

KIV/ZIS cvičení 6. Tomáš Potužák KIV/ZIS cvičení 6 Tomáš Potužák Pokračování SQL Klauzule GROUP BY a dotazy nad více tabulkami Slučování záznamů do skupin (1) Chceme zjistit informace obsažené ve více záznamech najednou Klauzule GROUP

Více

KIV/ZIS cvičení 5. Tomáš Potužák

KIV/ZIS cvičení 5. Tomáš Potužák KIV/ZIS cvičení 5 Tomáš Potužák Úvod do SQL (1) SQL (Structured Query Language) je standardizovaný strukturovaný dotazovací jazyk pro práci s databází Veškeré operace v databázi se dají provádět pomocí

Více

Z n a č k o v a c í j a z y k y. XPath, XLink, XQuery, XPointer, XLinkTime, XForms

Z n a č k o v a c í j a z y k y. XPath, XLink, XQuery, XPointer, XLinkTime, XForms Z n a č k o v a c í j a z y k y XPath, XLink, XQuery, XPointer, XLinkTime, XForms X P a t h V y m e z e n í X P a t h N o d y Parent Children Siblings Ancestors Descendants X P a t h V ý b ě r n o d ů

Více

Operátory ROLLUP a CUBE

Operátory ROLLUP a CUBE Operátory ROLLUP a CUBE Dotazovací jazyky, 2009 Marek Polák Martin Chytil Osnova přednášky o Analýza dat o Agregační funkce o GROUP BY a jeho problémy o Speciální hodnotový typ ALL o Operátor CUBE o Operátor

Více

Databázové systémy. Cvičení 6: SQL

Databázové systémy. Cvičení 6: SQL Databázové systémy Cvičení 6: SQL Co je SQL? SQL = Structured Query Language SQL je standardním (ANSI, ISO) textovým počítačovým jazykem SQL umožňuje jednoduchým způsobem přistupovat k datům v databázi

Více

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

Návrh a tvorba WWW stránek 1/14. PHP a databáze Návrh a tvorba WWW stránek 1/14 PHP a databáze nejčastěji MySQL součástí balíčků PHP navíc podporuje standard ODBC PHP nemá žádné šablony pro práci s databází princip práce s databází je stále stejný opakované

Více

Dotazování nad XML daty a jazyk XPath

Dotazování nad XML daty a jazyk XPath 4 TVEZEWXYHMNR LSTVSKVEQY-RJSVQEXMOENITSHTSVSZ RETVSNIOXIQRERGSZER Q ^)ZVSTWO LSWSGM PR LSJSRHYEVS^TS XYLPEZR LSQ WXE4VEL] 4VELE)9-RZIWXYNIQIHSZE% FYHSYGRSWXM Dotazování nad XML daty a jazyk XPath BI-TWA

Více

Distanční opora předmětu: Databázové systémy Tématický blok č. 7: Fulltextové vyhledávání Autor: RNDr. Jan Lánský, Ph.D.

Distanční opora předmětu: Databázové systémy Tématický blok č. 7: Fulltextové vyhledávání Autor: RNDr. Jan Lánský, Ph.D. Distanční opora předmětu: Databázové systémy Tématický blok č. 7: Fulltextové vyhledávání Autor: RNDr. Jan Lánský, Ph.D. Obsah kapitoly 1 Fulltextové vyhledávání 2 Porozumění textu 3 Přesnost a úplnost

Více

XQuery. Jirka Kosek. Visual FoxPro DevCon 21. 23. června 2005. Praha. Copyright 2005 Jiří Kosek

XQuery. Jirka Kosek. Visual FoxPro DevCon 21. 23. června 2005. Praha. Copyright 2005 Jiří Kosek XQuery Jirka Kosek Visual FoxPro DevCon 21. 23. června 2005 Praha úvod do XQuery základy XPath 2.0 FLWOR výrazy typový systém implementace XQuery Agenda 2 / 38 Úvod 3 / 38 Proč potřebujeme XQuery? XML

Více

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek: Anotace: CZ.1.07/1.5.00/34.0410

Více

Základní přehled SQL příkazů

Základní přehled SQL příkazů Základní přehled SQL příkazů SELECT Základní použití Příkaz SELECT slouží k získání dat z tabulky nebo pohledu v požadované podobě. Získání všech řádků a sloupců z tabulky SELECT * FROM Person.Contact

Více

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

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 23. Otázka : Datový model XML, dotazovací jazyky nad XML daty Obsah : 1 Úvod o XML 2 Vztah XML a databáze 2.1 Databázové systémy s podporou XML 2.2

Více

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek: Anotace: CZ.1.07/1.5.00/34.0410

Více

24. XML. Aby se dokument XML vůbec zobrazil musí být well-formed (správně strukturovaný). To znamená, že splňuje formální požadavky specifikace XML.

24. XML. Aby se dokument XML vůbec zobrazil musí být well-formed (správně strukturovaný). To znamená, že splňuje formální požadavky specifikace XML. 24. XML Úvod Značkovací jazyk XML (extensible Markup Language) vznikl ze staršího a obecnějšího jazyku SGML (Standard Generalized Markup Language). XML byl vyvinut konsorciem W3C, aby poskytl standardní

Více

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

8.2 Používání a tvorba databází 8.2 Používání a tvorba databází Slide 1 8.2.1 Základní pojmy z oblasti relačních databází Slide 2 Databáze ~ Evidence lidí peněz věcí... výběry, výpisy, početní úkony Slide 3 Pojmy tabulka, pole, záznam

Více

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY CVIČENÍ 4

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY CVIČENÍ 4 UNIVERZITA TOMÁŠE BATI VE ZLÍNĚ FAKULTA APLIKOVANÉ INFORMATIKY GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY CVIČENÍ 4 Praktické zvládnutí software Geomedia Pavel Vařacha a kol. Zlín 2013 Tento studijní materiál vznikl

Více

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

Ukládání a vyhledávání XML dat XML teorie a praxe značkovacích jazyků (4IZ238) Jirka Kosek Poslední modifikace: $Date: 2014/12/04 19:41:24 $ Obsah Ukládání XML dokumentů... 3 Ukládání XML do souborů... 4 Nativní XML databáze... 5 Ukládání

Více

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek 5 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Jazyk SQL, Spojení tabulek, agregační dotazy, jednoduché a složené

Více

KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM

KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM CÍLE KAPITOLY Využívat pokročilé možnosti formátování, jako je podmíněné formátování, používat vlastní formát čísel a umět pracovat s listy. Používat

Více

Databázové systémy I

Databázové systémy I Databázové systémy I Přednáška č. 8 Ing. Jiří Zechmeister Fakulta elektrotechniky a informatiky jiri.zechmeister@upce.cz Skupinové a souhrnné dotazy opakování Obsah Pohledy syntaxe použití význam Vnořené

Více

Knihovna XmlLib TXV 003 63.01 druhé vydání říjen 2012 změny vyhrazeny

Knihovna XmlLib TXV 003 63.01 druhé vydání říjen 2012 změny vyhrazeny Knihovna XmlLib TXV 003 63.01 druhé vydání říjen 2012 změny vyhrazeny 1 TXV 003 63.01 Historie změn Datum Vydání Popis změn Prosinec 2010 1 První vydání, popis odpovídá XmlLib_v13 Říjen 2012 2 Druhé vydání,

Více

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

Databázové systémy Cvičení 5.2 Databázové systémy Cvičení 5.2 SQL jako jazyk pro definici dat Detaily zápisu integritních omezení tabulek Integritní omezení tabulek kromě integritních omezení sloupců lze zadat integritní omezení jako

Více

Knihovna XmlLib TXV 003 63.01 první vydání prosinec 2010 změny vyhrazeny

Knihovna XmlLib TXV 003 63.01 první vydání prosinec 2010 změny vyhrazeny Knihovna XmlLib TXV 003 63.01 první vydání prosinec 2010 změny vyhrazeny 1 TXV 003 63.01 Historie změn Datum Vydání Popis změn Prosinec 2010 1 První vydání, popis odpovídá XmlLib_v13 OBSAH 1 Úvod...3 2

Více

Dotazy tvorba nových polí (vypočítané pole)

Dotazy tvorba nových polí (vypočítané pole) Téma 2.4 Dotazy tvorba nových polí (vypočítané pole) Pomocí dotazu lze také vytvářet nová pole, která mají vazbu na již existující pole v databázi. Vznikne tedy nový sloupec, který se počítá podle vzorce.

Více

Distanční opora předmětu: Databázové systémy Tématický blok č. 1: Dotazovací jazyk SQL Autor: RNDr. Jan Lánský, Ph.D.

Distanční opora předmětu: Databázové systémy Tématický blok č. 1: Dotazovací jazyk SQL Autor: RNDr. Jan Lánský, Ph.D. Distanční opora předmětu: Databázové systémy Tématický blok č. 1: Dotazovací jazyk SQL Autor: RNDr. Jan Lánský, Ph.D. Obsah kapitoly 1 Instalace Microsoft SQL Serveru 2 Dotazovací jazyk SQL 3 Příkaz SELECT

Více

Jazyk XSL XPath XPath XML. Jazyk XSL - rychlá transformace dokumentů. PhDr. Milan Novák, Ph.D. KIN PF JU České Budějovice. 9.

Jazyk XSL XPath XPath XML. Jazyk XSL - rychlá transformace dokumentů. PhDr. Milan Novák, Ph.D. KIN PF JU České Budějovice. 9. Jazyk XSL - rychlá transformace dokumentů 9. prosince 2010 Osnova 1 Jazyk XSL Úvod Princip zpracování pomocí stylů Formátování dokumentu pomocí XSL FO Osnova 1 Jazyk XSL Úvod Princip zpracování pomocí

Více

Principy XQuery. funkcionální jazyk vše je výraz, jehož vyhodnocením vznikne určitá hodnota základní typy stejné jako v XML Schema:

Principy XQuery. funkcionální jazyk vše je výraz, jehož vyhodnocením vznikne určitá hodnota základní typy stejné jako v XML Schema: Realizováno za finanční podpory ESF a státního rozpočtu ČR v rámci v projektu Zkvalitnění a rozšíření možností studia na TUL pro studenty se SVP reg. č. CZ.1.07/2.2.00/29.0011 XQuery XQuery dotazovací

Více

Databáze. Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu. Bedřich Košata

Databáze. Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu. Bedřich Košata Databáze Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu Bedřich Košata K čemu jsou databáze Ukládání dat ve strukturované podobě Možnost ukládat velké množství dat

Více

Syntaxe XML XML teorie a praxe značkovacích jazyků (4IZ238)

Syntaxe XML XML teorie a praxe značkovacích jazyků (4IZ238) XML teorie a praxe značkovacích jazyků (4IZ238) Jirka Kosek Poslední modifikace: $Date: 2009/10/01 19:46:33 $ Obsah Základy syntaxe... 3 Elementy a atributy... 4 Znakový model XML... 5 Komentáře... 6 Instrukce

Více

XMW4 / IW4 Pokročilé SELECT dotazy. Štefan Pataky

XMW4 / IW4 Pokročilé SELECT dotazy. Štefan Pataky XMW4 / IW4 Pokročilé SELECT dotazy Štefan Pataky TOP, OFFSET-FETCH Konverze datových typů Logické funkce Práce s řetězci Poddotazy a množinové dotazy SQL Windowing Agenda TOP TOP omezení počtu vrácených

Více

Inovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL Ing. Kotásek Jaroslav

Inovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL Ing. Kotásek Jaroslav Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Autor: Číslo: Anotace: Inovace a zkvalitnění výuky prostřednictvím ICT Databáze Základní seznámení s MySQL

Více

Tvorba informačních systémů

Tvorba informačních systémů Tvorba informačních systémů Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2006/2007 c 2006 2007 Michal Krátký Tvorba informačních systémů 1/37 Obsah 8.

Více

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů Tvorba informačních systémů 1/18 Tvorba informačních systémů Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2008/2009 Tvorba informačních systémů 2/18 Úvod

Více

Úvod do databázových systémů

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 4 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování Klauzule příkazu

Více

ANOTACE vytvořených/inovovaných materiálů

ANOTACE vytvořených/inovovaných materiálů ANOTACE vytvořených/inovovaných materiálů Číslo projektu Číslo a název šablony klíčové aktivity Tematická oblast Formát Druh učebního materiálu Druh interaktivity CZ.1.07/1.5.00/34.0722 III/2 Inovace a

Více

Programování 3. hodina. RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015

Programování 3. hodina. RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015 Programování 3. hodina RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015 Umíme z minulé hodiny Implementace zásobníku a fronty pomocí

Více

Analýza a modelování dat. Přednáška 9

Analýza a modelování dat. Přednáška 9 Analýza a modelování dat Přednáška 9 Další dotazování nad kostkou Rozšíření SQL99 rozšíření SQL99 (minulá přednáška): seskupovací operátory za GROUP BY CUBE statistiky dle řezů ROLLUP statistiky dle rolování

Více

3. přednáška z předmětu GIS1 atributové a prostorové dotazy

3. přednáška z předmětu GIS1 atributové a prostorové dotazy 3. přednáška z předmětu GIS1 atributové a prostorové dotazy Vyučující: Ing. Jan Pacina, Ph.D. e-mail: jan.pacina@ujep.cz Pro přednášku byly použity texty a obrázky z www.gis.zcu.cz Předmět KMA/UGI, autor

Více

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

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev Úvod do databází Modelování v řízení Ing. Petr Kalčev Co je databáze? Množina záznamů a souborů, které jsou organizovány za určitým účelem. Jaké má mít přínosy? Rychlost Spolehlivost Přesnost Bezpečnost

Více

Základy XML struktura dokumentu (včetně testových otázek)

Základy XML struktura dokumentu (včetně testových otázek) Základy XML struktura dokumentu (včetně testových otázek) Otakar Čerba Oddělení geomatiky Katedra matematiky Fakulta aplikovaných věd Západočeská univerzita v Plzni Přednáška z předmětu Počítačová kartografie

Více

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

Databázové systémy Cvičení 5.3 Databázové systémy Cvičení 5.3 SQL jako jazyk pro manipulaci s daty SQL jako jazyk pro manipulaci s daty Aktualizace dat v SQL úprava záznamů v relacích (tabulkách) vložení záznamu INSERT INTO oprava záznamu

Více

Radek Mařík

Radek Mařík 2012-03-20 Radek Mařík 1. Pravá rotace v uzlu U a) v podstromu s kořenem U přemístí pravého syna U.R uzlu U do kořene. Přitom se uzel U stane levým synem uzlu U.R a levý podstrom uzlu U.R se stane pravým

Více

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace Téma 2.2 Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace Obecný postup: Každá tabulka databáze by měla obsahovat pole (případně sadu polí), které jednoznačně identifikuje každý

Více

RELAČNÍ DATABÁZOVÉ SYSTÉMY

RELAČNÍ DATABÁZOVÉ SYSTÉMY RELAČNÍ DATABÁZOVÉ SYSTÉMY VÝPIS KONTROLNÍCH OTÁZEK S ODPOVĚDMI: Základní pojmy databázové technologie: 1. Uveďte základní aspekty pro vymezení jednotlivých přístupů ke zpracování hromadných dat: Pro vymezení

Více

13. blok Práce s XML dokumenty v databázi Oracle

13. blok Práce s XML dokumenty v databázi Oracle 13. blok Práce s XML dokumenty v databázi Oracle Studijní cíl Tento blok je věnován práci s XML dokumenty, možnostmi jejich uložení a práce s nimi v databázi Oracle a datovému typu XMLType. Doba nutná

Více

Analýza a modelování dat. Přednáška 8

Analýza a modelování dat. Přednáška 8 Analýza a modelování dat Přednáška 8 OLAP, datová kostka, dotazování nad kostkou Motivace většina DB relační zaznamenání vztahů pomocí logicky provázaných tabulek jakou mají velmi často vztahy povahu vztah

Více

Microsoft Access. Typy objektů databáze: Vytvoření a návrh nové tabulky. Vytvoření tabulky v návrhovém zobrazení

Microsoft Access. Typy objektů databáze: Vytvoření a návrh nové tabulky. Vytvoření tabulky v návrhovém zobrazení Microsoft Access Databáze je seskupení většího množství údajů, které mají určitou logiku a lze je určitým způsobem vyhodnocovat, zpracovávat a analyzovat Access je jedním z programů určených pro zpracování

Více

Úvod do řešení lineárních rovnic a jejich soustav

Úvod do řešení lineárních rovnic a jejich soustav Úvod do řešení lineárních rovnic a jejich soustav Rovnice je zápis rovnosti dvou výrazů, ve kterém máme najít neznámé číslo (neznámou). Po jeho dosazení do rovnice musí platit rovnost. Existuje-li takové

Více

Roční periodická zpráva projektu

Roční periodická zpráva projektu WAK-1F44C-2005-2 WAK System Název projektu: Automatizovaná výměna dat mezi informačními systémy krizového řízení v dopravě s jednotným univerzálním a implementovaným rozhraním založeným na standardu webových

Více

1 Tabulky Příklad 7 Access 2010

1 Tabulky Příklad 7 Access 2010 TÉMA: Řazení a filtrace dat Sekretářka společnosti Naše zahrada pracuje s rozsáhlými tabulkami. Pro přehlednější práci s daty používá řazení a filtraci dat na základě různých kritérií. Zadání: Otevřete

Více

Tvorba informačních systémů

Tvorba informačních systémů Tvorba informačních systémů Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2006/2007 c 2006 2008 Michal Krátký Tvorba informačních systémů 1/17 Úvod XML

Více

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

Dolování v objektových datech. Ivana Rudolfová Dolování v objektových datech Ivana Rudolfová Relační databáze - nevýhody První normální forma neumožňuje vyjádřit vztahy A je podtypem B nebo vytvořit struktury typu pole nebo množiny SQL omezení omezený

Více

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE 2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE Studijní cíl Tento blok je věnován základní syntaxi příkazu SELECT, pojmům projekce a restrikce. Stručně zde budou představeny příkazy

Více

Tabulkový procesor. Základní rysy

Tabulkový procesor. Základní rysy Tabulkový procesor Tabulkový procesor je počítačový program zpracovávající data uložená v buňkách tabulky. Program umožňuje použití vzorců pro práci s daty a zobrazuje výsledné hodnoty podle vstupních

Více

Dotazování nad stromem abstraktní syntaxe

Dotazování nad stromem abstraktní syntaxe Fakulta jaderná a fyzikáln inºenýrská ƒeské vysoké u ení technické v Praze 3.6.2010 Osnova while 1 Reprezentace programu 2 AST a Java 3 Vyhledávání v AST 4 Aplikace body if expr Jak reprezentovat program

Více

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech 7 Formátovaný výstup, třídy, objekty, pole, chyby v programech Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost formátovanému výstupu,

Více

Řazení řádků ve vzestupném pořadí (A až Z nebo 0 až 9) nebo sestupném pořadí (Z až A nebo 9 až 0)

Řazení řádků ve vzestupném pořadí (A až Z nebo 0 až 9) nebo sestupném pořadí (Z až A nebo 9 až 0) Řazení oblasti Řazení řádků ve vzestupném pořadí (A až Z nebo 0 až 9) nebo sestupném pořadí (Z až A nebo 9 až 0) 1. Klepněte na buňku ve sloupci, podle kterého chcete řádek seřadit. 2. Klepněte na tlačítko

Více

1. Databázové systémy (MP leden 2010)

1. Databázové systémy (MP leden 2010) 1. Databázové systémy (MP leden 2010) Fyzickáimplementace zadáníaněkterářešení 1 1.Zkolikaajakýchčástíseskládáčasprovstupněvýstupníoperaci? Ze tří částí: Seektime ječas,nežsehlavadiskudostanenadsprávnou

Více

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR): Mezi příkazy pro manipulaci s daty (DML) patří : 1. SELECT 2. ALTER 3. DELETE 4. REVOKE Jaké vlastnosti má identifikující relace: 1. Je relace, která se využívá pouze v případě modelovaní odvozených entit

Více

12. blok Pokročilé konstrukce SQL dotazů - část II

12. blok Pokročilé konstrukce SQL dotazů - část II 12. blok Pokročilé konstrukce SQL dotazů - část II Studijní cíl Tento blok je věnován pokročilým konstrukcím SQL dotazů, které umožní psát efektivní kód. Pozornost je věnována vytváření pohledů v rámci

Více

Základní principy vyhledávání firem

Základní principy vyhledávání firem Základní principy vyhledávání firem Vyhledávat informace v databázi lze několika způsoby. Základní způsob používá postupné kroky, kdy otevíráme tzv. slovníky, z nichž vybíráme požadované hodnoty, například

Více

Systém souborů (file system, FS)

Systém souborů (file system, FS) UNIX systém souborů (file system) 1 Systém souborů (file system, FS)! slouží k uchování dat na vnějším paměťovém médiu a zajišťuje přístup ke struktuře dat! pro uživatele možnost ukládat data a opět je

Více

Použití databází na Webu

Použití databází na Webu 4IZ228 tvorba webových stránek a aplikací Jirka Kosek Poslední modifikace: $Date: 2010/11/18 11:33:52 $ Obsah Co nás čeká... 3 Architektura webových databázových aplikací... 4 K čemu se používají databázové

Více

SQL tříhodnotová logika

SQL tříhodnotová logika SQL tříhodnotová logika Jmeno Prijmeni Student Jaroslav Novák true Josef Novotný false Jiří Brabenec SELECT * FROM OSOBA WHERE Student!= true Jaký bude výsledek? SQL tříhodnotová logika Jmeno Prijmeni

Více

Databázové systémy a SQL

Databázové systémy a SQL Databázové systémy a SQL Lekce 2 Daniel Klimeš Autor, Název akce 1 Operátory a funkce +,- Sčítání, odečítání *,/ Násobení, dělení =, , >=,

Více

Validace souborů DS3

Validace souborů DS3 Validace souborů DS3 Verze: 1.33 1. Rozsah...1 1.1 Identifikace systému...1 1.2 Přehled systému...1 2. Přehled verzí a změny v nich...1 3. Použité dokumenty...2 4. Shrnutí údajů o programovém vybavení...4

Více

Základní datové struktury III: Stromy, haldy

Základní datové struktury III: Stromy, haldy Základní datové struktury III: Stromy, haldy prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní

Více

Jazyk SQL databáze SQLite. připravil ing. petr polách

Jazyk SQL databáze SQLite. připravil ing. petr polách Jazyk SQL databáze SQLite připravil ing. petr polách SQL - úvod Structured Query Language (strukturovaný dotazovací jazyk 70. léta min. století) Standardizovaný dotazovací jazyk používaný pro práci s daty

Více

ALGORITMIZACE A PROGRAMOVÁNÍ

ALGORITMIZACE A PROGRAMOVÁNÍ Metodický list č. 1 Algoritmus a jeho implementace počítačovým programem Základním cílem tohoto tematického celku je vysvětlení pojmů algoritmus a programová implementace algoritmu. Dále je cílem seznámení

Více

PRG036 Technologie XML

PRG036 Technologie XML PRG036 Technologie XML Přednáší: Irena Mlýnková (mlynkova@ksi.mff.cuni.cz) Martin Nečaský (necasky@ksi.mff.cuni.cz) LS 2010 Stránka přednášky: http://www.ksi.mff.cuni.cz/~mlynkova/prg036/ 1 Osnova předmětu

Více

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní pojmy, motivace Ing. Kotásek Jaroslav

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní pojmy, motivace Ing. Kotásek Jaroslav Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Autor: Číslo: Anotace: Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní

Více

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph) Marketingová komunikace Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph) 2. soustředění Mgr. Pavel Vávra 9103@mail.vsfs.cz http://vavra.webzdarma.cz/home/index.htm Minulé soustředění úvod

Více

MBI - technologická realizace modelu

MBI - technologická realizace modelu MBI - technologická realizace modelu 22.1.2015 MBI, Management byznys informatiky Snímek 1 Agenda Technická realizace portálu MBI. Cíle a principy technického řešení. 1.Obsah portálu - objekty v hierarchiích,

Více

Tvorba kurzu v LMS Moodle

Tvorba kurzu v LMS Moodle Tvorba kurzu v LMS Moodle Před počátkem práce na tvorbě základního kurzu znovu připomínám, že pro vytvoření kurzu musí být profil uživatele nastaven administrátorem systému minimálně na hodnotu tvůrce

Více

Multi-dimensional expressions

Multi-dimensional expressions Multi-dimensional expressions Query sent to cube / returned from cube jazyk pro multidimenzionální dotazy ekvivalent SQL pro multidimenzionální databáze je jen prostředkem pro přístup k datům jako SQL

Více

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI EVROPSKÝ SOCIÁLNÍ FOND Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI Úvod do PHP PHP Personal Home Page Hypertext Preprocessor jazyk na tvorbu dokumentů přípona: *.php skript je součást HTML stránky!

Více

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek: Anotace: CZ.1.07/1.5.00/34.0410

Více

Programovací jazyk Pascal

Programovací jazyk Pascal Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce

Více

LEKCE 6. Operátory. V této lekci najdete:

LEKCE 6. Operátory. V této lekci najdete: LEKCE 6 Operátory V této lekci najdete: Aritmetické operátory...94 Porovnávací operátory...96 Operátor řetězení...97 Bitové logické operátory...97 Další operátory...101 92 ČÁST I: Programování v jazyce

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu

Více

Stromy, haldy, prioritní fronty

Stromy, haldy, prioritní fronty Stromy, haldy, prioritní fronty prof. Ing. Pavel Tvrdík CSc. Katedra počítačů FEL České vysoké učení technické DSA, ZS 2008/9, Přednáška 6 http://service.felk.cvut.cz/courses/x36dsa/ prof. Pavel Tvrdík

Více

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

Text úlohy. Systémový katalog (DICTIONARY): Ú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ů

Více

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu. Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus

Více

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

Databáze I. Přednáška 4 Databáze I Přednáška 4 Definice dat v SQL Definice tabulek CREATE TABLE jméno_tab (jm_atributu typ [integr. omez.], jm_atributu typ [integr. omez.], ); integritní omezení lze dodefinovat později Definice

Více

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek: Anotace: CZ.1.07/1.5.00/34.0410

Více

Semestrální práce 2 znakový strom

Semestrální práce 2 znakový strom Semestrální práce 2 znakový strom Ondřej Petržilka Datový model BlockFileRecord Bázová abstraktní třída pro záznam ukládaný do blokového souboru RhymeRecord Konkrétní třída záznamu ukládaného do blokového

Více

Informační systémy ve zdravotnictví. 6. cvičení

Informační systémy ve zdravotnictví. 6. cvičení Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Informační systémy ve zdravotnictví 6. cvičení Ing. Petr Lukáš petr.lukas@nativa.cz Ostrava, 2014 Opakování Relace

Více

Úvod do databázových systémů

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 8 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování Entita Entitní typ

Více

Pro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka.

Pro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka. 1 Disky, adresáře (složky) a soubory Disky Pro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka. A:, B: C:, D:, E:, F: až Z: - označení disketových mechanik - ostatní disky

Více