5. blok Souhrnné a skupinové dotazy
|
|
- Ladislava Vaňková
- před 7 lety
- Počet zobrazení:
Transkript
1 5. blok Souhrnné a skupinové dotazy Studijní cíl Tento blok je věnován základům při vytváření souhrnných a skupinových dotazů s využitím agregačních funkcí SUM(), AVG(), MIN(), MAX() a COUNT() a klauzulí GROUP BY a HAVING u příkazů v jazyce SQL. Souhrnné a skupinové dotazy jsou základem při zpracování hromadných dat a tvorbě tiskových sestav. Doba nutná k nastudování 2-3 hodiny Průvodce studiem Při studiu tohoto bloku se předpokládá, že čtenář je obeznámen se základní syntaxí příkazu SELECT, spojováním tabulek a použitím vyhledávacích podmínek a základních funkcí. 1. Souhrnné dotazy V mnoha případech nepotřebujeme znát detailní informace pocházející z SQL dotazů, ale potřebujeme tyto hodnoty sumarizovat. Mezi takové požadavky patří například odpovědi na následující otázky: Kolik zaměstnanců má společnost? Jaké jsou tržby pobočky? Kolik lidí jede průměrně v jednom vlaku? Jaká je průměrná délka života? Jaká je průměrná mzda? Kolik vstupenek se prodalo na všechna utkání? Jaká je nejvyšší a nejnižší vyplácená sociální dálka? Souhrnná data je možné získat prostřednictvím agregačních funkcí a klauzulí GROUP BY (případně doplněné o klauzuli HAVING) v příkazu SELECT Agregační funkce Sumarizovat data z databáze je možné prostřednictvím množiny agregačních (v některé literatuře uváděno jako sloupcových) funkcí jazyka SQL. Tyto funkce přijímají jako argument obvykle celý sloupec a vytvoří jedinou hodnotu, která sumarizuje sloupec. Podívejme se na následující dotaz pro výpočet průměrné hodnoty ve sloupci: 1
2 Jaká je průměrná cena produktu? SELECT AVG(CENA) FROM PRODUKTY; Pro správné pochopení tvorby výsledku se podívejme na obrázek 1 na postup, jakým se výsledek dotazu generuje. Funkce přijímá hodnoty ve sloupci CENA a vypočítá jejich průměr. Dotaz vytvoří jediný řádek výsledku sumarizující data z tabulky PRODUKTY. AVG Obrázek 1: Postup při vyhodnocení souhrnného dotazu. V jazyce SQL jsou definovány následující agregační funkce: SUM() výpočet součtu hodnot ve sloupci AVG() výpočet průměru hodnot ve sloupci MIN() najde minimální hodnotu ve sloupci MAX() najde maximální hodnotu ve sloupci COUNT() výpočet počtu hodnot ve sloupci (NOT NULL) COUNT(*) výpočet počtu řádků ve výsledku dotazu Výsledky funkcí SUM(), MIN()a MAX()mají shodné datové typy jako data v kalkulovaném výrazu, ale výsledek SUM() může mít větší přesnost. U funkce AVG()může být výstupní datový typ rozdílný od datového typu kalkulovaných hodnot ve sloupci či výrazu, což je způsobeno tím, že součet těchto hodnot je dělen jejich počtem. 2
3 Data ve výrazech zpracovávaných funkcemi SUM() a AVG() musí být numerického typu, funkce pro hledání extrémních hodnot MIN() a MAX() mohou pracovat nad sloupci a výrazy v numerickém formátu, řetězci či ve formátu datum/čas. Při použití funkcí MIN() a MAX() nad řetězcovými daty je třeba si uvědomit, že porovnání dvou řetězců je závislé na použité znakové sadě. Ačkoli standard SQL2 obsahuje podporu pro národní znakové sady a alternativní posloupnosti řazení, implementace těchto vlastností se však mezi jednotlivými databázovými systémy liší Zpracování hodnot NULL Agregační funkce SUM(), AVG(), MIN(), MAX(), COUNT() přijímají jako svůj argument sloupec datových hodnot a jako výsledek vytváří jedinou datovou hodnotu. Standard ANSI/ISO SQL definuje, že agregační funkce ignorují hodnoty NULL ve sloupci. Jaký je počet produktů v tabulce PRODUKTY a u kolika z nich je uvedena cena? SELECT COUNT(*), COUNT(CENA) FROM PRODUKTY; Jak můžeme vidět z obrázku 1, tabulky PRODUKTY obsahuje 5 řádků a u 4 z nich je uvedena cena, tomu odpovídá i výsledek předchozího dotazu. O tom, že hodnoty NULL jsou ignorovány, se můžeme přesvědčit i v následujícím příkladu. SELECT COUNT(*), COUNT(PRODUKT_ID), COUNT(CENA), SUM(CENA), AVG(CENA) FROM PRODUKTY; Všechny agregační funkce pracující se sloupcem CENA ignorují hodnotu NULL. Ignorace hodnoty NULL nám však při nesprávném pochopení může způsobit nemalé problémy. Podívejme se na následující příklad: SELECT SUM(SKUTECNE_TRZBY)-SUM(PLAN_TRZBY), SUM(SKUTECNE_TRZBY-PLAN_TRZBY) FROM OBCHODNI_VYSLEDKY; 3
4 Pozor na skutečnost, že výsledkem tohoto dotazu mohou být za jistých okolností 2 různé hodnoty! Rozdíl nastane v okamžiku, kdy v některém řádku bude scházet například vyplněná hodnota SKUTECNE_TRZBY (bude tedy NULL), ale plánovaná tržba bude uvedena. Zatímco plánovaná tržba ovlivní výsledek SUM(PLAN_TRZBY), tak hodnota SUM(SKUTECNE_TRZBY-PLAN_TRZBY) ovlivněna nebude, neboť výsledkem tohoto rozdílu v daném řádku bude hodnota NULL, která bude ignorována funkcí SUM(). Analogická situace nastane, pokud prázdná hodnota (NULL) bude ve sloupci PLAN_TRZBY. Volba správného dotazu záleží na tom, jaký výsledek požadujeme a zda dokážeme potřebu správně naformulovat do SQL dotazu. V uvedeném případě totiž nelze určit, které řešení je správné a které nikoli, ale každé poskytuje odpověď na jinou otázku. V prvním případě se provede přesně to, co je zapsáno, ve výsledku bude rozdíl SUM(SKUTECNE_TRZBY)a SUM(PLAN_TRZBY), tedy součet hodnot ve sloupci PLAN_TRZBY bude odečten od součtu hodnot ve sloupci SKUTECNE_TRZBY, ve druhém případě bude ve výsledku součet rozdílů ve sloupcích SKUTECNE_TRZBY a PLAN_TRZBY, které jsou vyhodnoceny v jednotlivých řádcích. Při výskytu NULL prázdných hodnot v uvedených sloupcích však oba případy vedou na různé výsledky. Základní pravidla pro zpracování prázdných hodnot (NULL) v agregačních funkcích dle standardu ANSI/ISO: Jakákoliv hodnota NULL je ignorována pro výpočet hodnoty agregační funkce. Pokud mají všechny zpracovávané položky hodnotu NULL, vrací agregační funkce SUM(), AVG(), MIN(), MAX() hodnotu NULL. Funkce COUNT()vrací hodnotu nula. Nejsou-li ve sloupci žádné datové položky, vrací agregační funkce SUM(), AVG(), MIN(), MAX() hodnotu NULL. Funkce COUNT() vrací hodnotu nula. Funkce COUNT(*) vrací počet řádků Eliminace duplicitních řádků (DISTINCT) U agregačních funkcí MIN(), MAX() a COUNT()je možné specifikovat klíčové slovo DISTINCT, které slouží k eliminaci duplicitních hodnot ze sloupce dřív, než se na něj aplikuje agregační funkce. 4
5 Pro názornost se podívejme na tyto 2 dotazy: U kolika produktu je uvedeno DODAVATEL_ID? SELECT COUNT(DODAVATEL_ID) FROM PRODUKTY; Kolik různých dodavatelů dodává produkty? SELECT COUNT(DISTINCT DODAVATEL_ID) FROM PRODUKTY; Standard SQL povoluje použití klíčového slova DISTINCT u agregačních funkcí SUM(), AVG() a COUNT(). Mnoho implementací však umožňuje použití klíčového slova DISTINCT i u agregačních funkcí MIN() a MAX(), přestože nemají vliv na jejich výsledky. 2. Skupinové dotazy (klauzule GROUP BY) V předchozích kapitolách jsme se zabývali použitím agregačních funkcí v takzvaných souhrnných dotazech, jejichž výsledkem byl vždy jediný řádek obsahující sumarizované hodnoty vypočtené ze všech řádku. Často však požadujeme získat mezisoučty pro různé kombinace atributů. Typickými požadavky mohou být například: Kolik zaměstnanců mají jednotlivá oddělení společnosti? Jaké jsou tržby poboček společnosti? Kolik lidí jede průměrně v jednom vlaku na dané trase? Jaká je průměrná délka života pro muže a ženy? Jaká je průměrná mzda v různých sektorech? Kolik vstupenek se prodalo na jednotlivá utkání? Jaká je nejvyšší a nejnižší vyplácená sociální dálka v krajích? 5
6 Takovou možnost vytváření mezisoučtů poskytuje použití klauzule GROUP BY. Její použití si ukážeme na následujícím příkladu: Jaká je průměrná cena a počet produktů nabízených jednotlivými dodavateli? SELECT DODAVATEL_ID, AVG(CENA), COUNT(*) FROM PRODUKTY GROUP BY DODAVATEL_ID; Z výsledku je zřejmé, že u jednoho produktu není uvedena ani cena, ani dodavatel. Dodavatel s DODAVATEL_ID=2 dodává 3 produkty s průměrnou cenou necelých Kč a dodavatel s DODAVATEL_ID=3 dodává jediný produkt. Vidíme, že v případě skupinových dotazů vzniká více souhrnných řádků 1 řádek pro každou skupinu, v našem případě byla skupina tvořena sloupcem DODAVATEL_ID. Databázový systém nejdříve rozdělí produkty do skupin podle DODAVATEL_ID, pro každého dodavatele jedna skupina. V rámci každé skupiny mají všechny produkty stejnou hodnotu DODAVATEL_ID. Pro každou skupinu pak vypočte požadované agregační funkce. Dotazy obsahující klauzuli GROUP BY označujeme jako skupinové dotazy, neboť seskupují data ze zdrojových tabulek do skupin a pro každou z těchto skupin vytváří jediný souhrnný řádek. Sloupce uváděné za klauzulí GROUP BY označujeme jako seskupující sloupce Hodnoty NULL v seskupujících sloupcích V obecném případě platí, že při porovnání dvou hodnot NULL za klauzulí WHERE je výsledek NULL (nikoli TRUE!). Jde o prázdnou (neudanou) hodnotu, a dvě hodnoty NULL tedy nejsou považovány za stejné. Jinak je však k hodnotě NULL přistupováno v případě, pokud je tato uvedena v některém ze seskupujících sloupců. V takovém případě považuje standard ANSI/ISO tyto hodnoty za stejné a seskupuje tyto řádky do stejné skupiny. 6
7 2.2. Skupinové vyhledávací podmínky (klauzule HAVING) Obdobně jako za klauzuli WHERE se uvádí vyhledávací podmínka pro řádky, které budou dotazem zpracovávány a následně například spojeny s jinou tabulkou či seskupeny, za klauzuli HAVING se uvádí vyhledávací podmínka, která se aplikuje na již vytvořené skupiny. Funkci klauzule HAVING lze ilustrovat například na tomto příkladu: Vyberte dodavatele, kteří nabízí více než 1 produkt? SELECT DODAVATEL_ID, COUNT(*) FROM PRODUKTY GROUP BY DODAVATEL_ID HAVING COUNT(*) >1; 2.3. Postup generování výsledku dotazu Generování výsledku dotazu probíhá v následujících krocích: 1. Vytvoří se spojení tabulek uvedených za klauzulí FROM (JOIN) dle definovaných podmínek spojení (pokud jsou tyto uvedeny) 2. Obsahuje-li příkaz klauzuli WHERE, aplikuje se vyhledávací podmínka na každý řádek a zachovají se jen ty, které vyhovují uvedené podmínce. Jinak řečeno, pokud uvedená podmínka (která může mít několik částí spojených pomocí AND či OR) je vyhodnocena jako TRUE, řádek je ponechán, pokud je vyhodnocena jako FALSE nebo NULL, je řádek vyloučen z dalšího zpracování. 3. Pokud dotaz obsahuje klauzuli GROUP BY, jsou řádky rozděleny do skupin tak, aby všechny řádky v dané skupině měly shodné hodnoty ve všech seskupujících sloupcích. 4. Nad řádky v jednotlivých skupinách jsou vyhodnoceny agregační funkce, výsledkem je jeden souhrnný řádek pro každou skupinu. 5. Obsahuje-li příkaz klauzuli HAVING, aplikuje se vyhledávací podmínka na souhrnné řádky a ve výsledku jsou ponechány pouze ty, kdy vyhledávací podmínka je vyhodnocena jako TRUE. 6. Obsahuje-li příkaz klauzuli ORDER BY, je výsledek dotazu náležitě seřazen. Uvedený postup je třeba chápat jako ilustrativní a o konkrétním postupu provedení dotazu rozhoduje optimalizátor databázového systému. 7
8 Následující příklad ilustruje komplexnější příkaz využívající možností skupinových dotazů: Zjistěte názvy dodavatelů, kteří nabízí produkty s průměrnou cenou vyšší než Kč, jejich průměrnou cenu a počet produktů, které nabízejí, neuvažujte produkt s označením 'A2500H'. SELECT DODAVATELE.NAZEV, AVG(PRODUKTY.CENA) PRUM_CENA, COUNT(*) POCET_PRODUKTU FROM DODAVATELE JOIN PRODUKTY ON DODAVATELE.DODAVATEL_ID = PRODUKTY.DODAVATEL_ID WHERE OZNACENI NOT LIKE 'A2500H' GROUP BY DODAVATELE.NAZEV HAVING AVG(PRODUKTY.CENA)>20000 ORDER BY NAZEV; Pojmy k zapamatování Příkazy a funkce: SELECT s klauzulemi GROUP BY a HAVING, SUM(), AVG(), MIN(), MAX(), COUNT(), hodnota NULL, eliminace duplicitních hodnot DISTINCT Problém: souhrnné a skupinové dotazy, práce s hodnotou NULL v agregačních funkcích, eliminace duplicitních hodnot pomocí DISTINCT, problematika řazení řetězců Shrnutí V této lekci jste se seznámili se souhrnnými a skupinovými dotazy v jazyce SQL a s agregačními funkcemi. Agregační funkce slouží k výpočtu součtu, průměru, minimální a maximální hodnoty nebo k určení počtu hodnot ve sloupci nebo ve výsledku dotazu. Souhrnný dotaz neobsahuje klauzuli GROUP BY a generuje jediný řádek výsledku dotazu. Skupinové dotazy obsahují klauzuli GROUP BY a generují řádky na výstup dotazu pro každou kombinaci atributů uvedených za klauzulí GROUP BY. Klauzule HAVING vykonává obdobnou funkci jako klauzule WHERE. Zatímco klauzule WHERE se aplikuje na řádky vstupující do zpracování, klauzule HAVING se aplikuje až na agregované hodnoty v již seskupených řádcích. 8
9 Otázky na procvičení 1. Jaký je rozdíl mezi skupinovými a souhrnnými dotazy? 2. S jakými datovými typy pracuje funkce MIN()? 3. Jaký bude rozdíl ve výsledku agregační funkce COUNT(sloupec) a COUNT(*)? 4. V jakém pořadí jsou aplikovány jednotlivé klauzule příkazu SELECT na zpracovávaná data? 5. Jaký počet řádků může vygenerovat skupinový dotaz? Odkazy a další studijní prameny (syntaxe příkazů SQL jazyka a funkcí) (interaktivni SQL trénink) (dokumentace k databázové platformě Oracle) (seriál Databáze standardu SQL z časopisu CHIP) Odkazy a další studijní prameny ŠIMŮNEK, M. SQL, kompletní kapesní průvodce. Grada Publishing, ISBN STEPHENS, K.R., PLEW, R.R. Naučte se SQL za 21 dní. Praha: Computer Press, ISBN GROFF, J.R., WEINBERG, P.N. SQL - kompletní průvodce. Praha: Computer Press, ISBN
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íce6. 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íce4. 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íceDatabá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íce2. 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íceKIV/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Ú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í 5 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování K čemu se používají
VíceInformační systémy ve zdravotnictví. 10. cvičení
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Informační systémy ve zdravotnictví 10. cvičení Ing. Petr Lukáš petr.lukas@nativa.cz Ostrava, 2014 Opakování K čemu
VíceDatabáze I. Přednáška 6
Databáze I Přednáška 6 SQL aritmetika v dotazech SQL lze přímo uvádět aritmetické výrazy násobení, dělení, sčítání, odčítání příklad z minulé přednášky: zdvojnásobení platu všem zaměstnancům UPDATE ZAMESTNANEC
VíceInformač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Ú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íceGymná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Úvod do databázových systémů 3. cvičení
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů 3. cvičení Ing. Petr Lukáš petr.lukas@nativa.cz Ostrava, 2012 Klauzule příkazu Klauzule
VíceKIV/ZIS - SELECT, opakování
KIV/ZIS - SELECT, opakování soubor 4_databaze.accdb (lze použít ten z minula) http://home.zcu.cz/~krauz/zis/4_databaze.accdb minule: SELECT FROM WHERE ORDER BY SELECT sloupce jaké sloupce chceme vybrat
VíceDotazy 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Ú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Ú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íce12. 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Ú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íceDotazovací jazyky I. Datová krychle. Soběslav Benda
Dotazovací jazyky I Datová krychle Soběslav Benda Obsah Úvod do problematiky Varianty přístupu uživatelů ke zdrojům dat OLTP vs. OLAP Datová analýza Motivace Vytvoření křížové tabulky Datová krychle Teorie
VíceXMW4 / 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íceInformační systémy ve zdravotnictví. 8. cvičení
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Informační systémy ve zdravotnictví 8. cvičení Ing. Petr Lukáš petr.lukas@nativa.cz Ostrava, 2014 Opakování Klauzule
VíceDatabá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íceKurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.
1 Kurz Databáze Zpracování dat Doc. Ing. Radim Farana, CSc. Obsah Druhy dotazů, tvorba dotazu, prostředí QBE (Query by Example). Realizace základních relačních operací selekce, projekce a spojení. Agregace
VíceB0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux
B0M33BDT Technologie pro velká data Supercvičení SQL, Python, Linux Sergej Stamenov, Jan Hučín 18. 10. 2017 Osnova cvičení Linux SQL Python 2 SQL pro uživatele aneb co potřebuje znát a umět bigdatový uživatel:
VíceOperá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íceDatabá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íceDatabáze SQL SELECT. David Hoksza http://siret.cz/hoksza
Databáze SQL SELECT David Hoksza http://siret.cz/hoksza Osnova Úvod do SQL Základní dotazování v SQL Cvičení základní dotazování v SQL Structured Query Language (SQL) SQL napodobuje jednoduché anglické
VíceGymná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: CZ.1.07/1.5.00/34.0410
VíceMS Access Dotazy SQL
MS Access Dotazy SQL Dotaz SELECT Michal Nykl Materiály pro cvičení KIV/ZIS 2012 Červeně značené výsledky odpovídají souboru cv4_testovacidatabaze250312.accdb Dotaz SELECT - struktura SELECT [ DISTINCT
VíceCo bude výsledkem mého SELECTu? RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT
Co bude výsledkem mého SELECTu? RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT david@wug.cz @gesvindr Logické zpracování dotazu Jazyk T-SQL je deklarativní Popisujeme,
VíceMS Access Dotazy SQL
MS Access Dotazy SQL Dotaz SELECT opakování ŘEŠENÍ Michal Nykl Materiály pro cvičení KIV/ZIS 2012 Červeně značené výsledky odpovídají souboru cv6_testovacidb-pekarna150412.accdb Pro některé z otázek lze
VíceKIV/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íceDatabázové systémy a SQL
Databázové systémy a SQL Lekce 2 Daniel Klimeš Autor, Název akce 1 CREATE TABLE Vytvoření tabulky (ORACLE) DDL příkazem v grafickém prostředí CREATE TABLE jmeno ( text VARCHAR2(200), cislo NUMBER(9,1),
VíceJazyk SQL 2. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c M.Valenta, 2011 BI-DBS, ZS 2011/12
Jazyk SQL 2 Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c M.Valenta, 2011 BI-DBS, ZS 2011/12 https://edux.fit.cvut.cz/courses/bi-dbs/ M.Valenta (FIT ČVUT) Jazyk
VíceGymná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íceDatabáze 2011/2012 SQL SELECT II. RNDr.David Hoksza, Ph.D.
Databáze 2011/2012 SQL SELECT II. RNDr.David Hksza, Ph.D. http://siret.cz/hksza Osnva Pkrčilé SQL IN, EXIST, ANY, ALL GROUP BY, HAVING CASE, COALESCE Mnžinvé perace Cvičení pkrčilé dtazvání v SQL Klauzule
VíceJazyk SQL 1. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2011/12
Jazyk SQL 1 Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2011/12 https://edux.fit.cvut.cz/courses/bi-dbs/ Michal Valenta (FIT
VíceJaký 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íceRELAČ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íceMicrosoft 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íceMicrosoft Access. Úterý 26. února. Úterý 5. března. Typy objektů databáze: Vytvoření a návrh nové tabulky
Úterý 26. února 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
VíceUklá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íceSQL SQL-SELECT. Informační a znalostní systémy. Informační a znalostní systémy SQL- SELECT
-SELECT Informační a znalostní systémy 1 - Structured Query Language norma pro dotazování nad relačními databáze díky přenositelnosti- rozmach relačních databází zahrnuje jak dotazování na data, tak změny
VíceDotaz se souhrny a dotaz křížový
Téma 3.1. Dotaz se souhrny a dotaz křížový Pomocí dotazů lze také vytvářet skupinové výpočty (skupinové sumarizace). Tyto přehledy lze tvořit dvěma způsoby: 1. ponecháme původní strukturu Výběrového dotazu
VíceDATA CUBE. Mgr. Jiří Helmich
DATA CUBE Mgr. Jiří Helmich Analytické kroky formulace dotazu analýza extrakce dat vizualizace Motivace n-sloupcová tabulka v Excelu vs. sloupcový graf Dimensionality reduction n dimenzí data obecně uspořádána
VíceSada 1 - PHP. 15. Výběr dat z databáze. Příkaz SELECT
S třední škola stavební Jihlava Sada 1 - PHP 15. Výběr dat z databáze. Příkaz SELECT Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284 Šablona: III/2
VíceZá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íceKIV/ZIS - SQL dotazy. stáhnout soubor ZIS- 04_TestovaciDatabaze250312.accdb. SQL dotazy. budeme probírat pouze SELECT
KIV/ZIS - SQL dotazy stáhnout soubor ZIS- 04_TestovaciDatabaze250312.accdb SQL dotazy textové příkazy pro získání nebo manipulaci s daty SELECT - výběr/výpis INSERT - vložení UPDATE - úprava DELETE - smazání
VíceInternetový přístup do databáze FADN CZ - uživatelská příručka Modul FADN BASIC
Internetový přístup do databáze FADN CZ - uživatelská příručka Modul FADN BASIC Modul FADN BASIC je určen pro odbornou zemědělskou veřejnost bez větších zkušeností s internetovými aplikacemi a bez hlubších
VíceNá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íceFUNKCE 3. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen 2013. Ročník: sedmý. Vzdělávací oblast: Informatika a výpočetní technika
FUNKCE 3 Autor: Mgr. Dana Kaprálová Datum (období) tvorby: září, říjen 2013 Ročník: sedmý Vzdělávací oblast: Informatika a výpočetní technika 1 Anotace: Žáci se seznámí se základní obsluhou tabulkového
VíceTiskové sestavy. Zdroj záznamu pro tiskovou sestavu. Průvodce sestavou. Použití databází
Tiskové sestavy Tiskové sestavy se v aplikaci Access používají na finální tisk informací z databáze. Tisknout se dají všechny objekty, které jsme si vytvořili, ale tiskové sestavy slouží k tisku záznamů
Více5 Přehled operátorů, příkazy, přetypování
5 Přehled operátorů, příkazy, přetypování Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně budou uvedeny detaily týkající se operátorů. Doba nutná k nastudování
VíceInternetový přístup do databáze FADN CZ - uživatelská příručka Modul FADN RESEARCH / DATA
Internetový přístup do databáze FADN CZ - uživatelská příručka Modul FADN RESEARCH / DATA Modul FADN RESEARCH je určen pro odborníky z oblasti zemědělské ekonomiky. Modul neomezuje uživatele pouze na předpřipravené
VíceDatabá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íceInstalace. Produkt je odzkoušen pro MS SQL server 2008 a Windows XP a Windows 7. Pro jiné verze SQL server a Windows nebyl testován.
Instalace Produkt se neinstaluje. Stačí soubor uložit na libovolné místo na Vašem počítací (klikněte pravým tlačítkem a dejte 'uložit cíl jako ), pak jen spustit. Požadavky na software Produkt je odzkoušen
VíceObsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23
Stručný obsah 1. Stručný úvod do relačních databází 13 2. Platforma 10g 23 3. Instalace, první přihlášení, start a zastavení databázového serveru 33 4. Nástroje pro administraci a práci s daty 69 5. Úvod
VíceJazyk S Q L základy, příkazy pro práci s daty
Jazyk S Q L základy, příkazy pro práci s daty Základní pojmy jazyk množina řetězců nad abecedou gramatika popisuje syntaxi výrazů jazyka pravidla, jak vytvářet platné řetězce jazyka. dotazovací jazyk je
VíceDatabázové systémy. Dotazovací jazyk SQL - II
Databázové systémy Dotazovací jazyk SQL - II SELECT I SELECT FROM WHERE GROUP BY HAVING
VíceDatabázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi.
Databáze Základní pojmy Pojem databáze označuje obecně souhrn informací, údajů, dat o nějakých objektech. Úkolem databáze je hlídat dodržení všech omezení a dále poskytovat data při operacích. Objekty
Vícetéma: Výběrové dotazy v MS Access
DUM 03 téma: Výběrové dotazy v MS Access ze sady: 3 tematický okruh sady: Databáze ze šablony: 07 - Kancelářský software určeno pro: 2. ročník vzdělávací obor: vzdělávací oblast: číslo projektu: anotace:
Více1. Relační databázový model
1. Relační databázový model Poprvé představen 1969 (Dr. Edgar F. Codd) IBM Založeno na Teorii množin Predikátové logice prvního řádu Umožňuje vysoký stupeň nezávislosti dat základ pro zvládnutí sémantiky
VíceKontingenční tabulky v MS Excel 2010
Kontingenční tabulky v MS Excel 2010 Autor: RNDr. Milan Myšák e-mail: milan.mysak@konero.cz Obsah 1 Vytvoření KT... 3 1.1 Data pro KT... 3 1.2 Tvorba KT... 3 2 Tvorba KT z dalších zdrojů dat... 5 2.1 Data
VíceDatabá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íceDatabázové systémy Cvičení 5
Databázové systémy Cvičení 5 Dotazy v jazyce SQL 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 UPDATE vymazání
Více2. blok Zabezpečení a ochrana dat
2. blok Zabezpečení a ochrana dat Studijní cíl Tento blok je věnován základům zabezpečení a ochrany dat uložených v relačních databázích, tj. uživatelským účtům, systémovým a objektovým oprávněním a rolím.
VíceDatabázové systémy. Datová integrita + základy relační algebry. 4.přednáška
Databázové systémy Datová integrita + základy relační algebry 4.přednáška Datová integrita Datová integrita = popisuje pravidla, pomocí nichž hotový db. systém zajistí, že skutečná fyzická data v něm uložená
Více4. lekce Přístup k databázi z vyššího programovacího jazyka
4. lekce Přístup k databázi z vyššího programovacího jazyka Studijní cíl Tento blok popisuje základní principy přístupu k databázi z vyššího programovacího jazyka. Doba nutná k nastudování 2-3 hodiny Průvodce
VíceKapitola 4: SQL. Základní struktura
- 4.1 - Kapitola 4: SQL Základní struktura Množinové operace Souhrnné funkce Nulové hodnoty Vnořené poddotazy (Nested sub-queries) Odvozené relace Pohledy Modifikace databáze Spojené relace Jazyk definice
VíceKritéria hodnocení praktické maturitní zkoušky z databázových systémů
Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Otázka č. 1 Datový model 1. Správně navržený ERD model dle zadání max. 40 bodů teoretické znalosti konceptuálního modelování správné
VíceMarketingová 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íceStřední odborná škola a Střední odborné učiliště, Hořovice
Kód DUM : VY_32_INOVACE_DYN.1.20 Název materiálu: Anotace Autor Jazyk Očekávaný výstup 20 PHP- Základy práce s databází PHP 3. část MySQL (výběrové dotazy) DUM je žákům průvodcem v základech tvorby výpisů
VíceReporting. Ukazatele je možno definovat nad libovolnou tabulkou Helios Orange, která je zapsána v nadstavbě firmy SAPERTA v souboru tabulek:
Finanční analýza Pojem finanční analýza Finanční analýza umožňuje načítat data podle dimenzí a tyto součty dlouhodobě vyhodnocovat. Pojem finanční analýza není nejpřesnější, protože ukazatele mohou být
Více1. Umístěte kurzor do sloupce Datový typ na řádek s polem, ve kterém vytvořit chcete seznam.
10.6.7 POSTUP TVORBY KOMBINOVANÉHO SEZNAMU 1. Umístěte kurzor do sloupce Datový typ na řádek s polem, ve kterém vytvořit chcete seznam. 2. V rozbalovací nabídce se seznamem datových typů vyberte volbu
VíceDatabá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ícePOKROČILÉ POUŽITÍ DATABÁZÍ
POKROČILÉ POUŽITÍ DATABÁZÍ Barbora Tesařová Cíle kurzu Po ukončení tohoto kurzu budete schopni pochopit podstatu koncepce databází, navrhnout relační databázi s využitím pokročilých metod, navrhovat a
VícePopis ovládání. Po přihlášení do aplikace se objeví navigátor. Navigátor je stromově seřazen a slouží pro přístup ke všem oknům celé aplikace.
Popis ovládání 1. Úvod Tento popis má za úkol seznámit uživatele se základními principy ovládání aplikace. Ovládání je možné pomocí myši, ale všechny činnosti jsou dosažitelné také pomocí klávesnice. 2.
VíceStručný obsah. část III Aktualizace dat Kapitola 10: Aktualizace databáze 257 Kapitola 11: Integrita dat 275 Kapitola 12: Zpracování transakcí 307
Stručný obsah část I Přehled jazyka SQL Kapitola 1: Úvod 27 Kapitola 2: Stručný úvod do jazyka SQL 37 Kapitola 3: Jazyk SQL z širšího pohledu 45 Kapitola 4: Relační databáze 69 Část II Získávání dat Kapitola
VíceDatabá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íceInformač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íce8.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íceDJ2 rekurze v SQL. slajdy k přednášce NDBI001. Jaroslav Pokorný
DJ2 rekurze v SQL slajdy k přednášce NDBI001 Jaroslav Pokorný 1 Obsah 1. Úvod 2. Tvorba rekurzívních dotazů 3. Počítaní v rekurzi 4. Rekurzívní vyhledávání 5. Logické hierarchie 6. Zastavení rekurze 7.
VíceInovace 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íceGymná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íceDatabázové systémy Tomáš Skopal
Databázové systémy Tomáš Skopal - SQL * úvod * dotazování SELECT Osnova přednášky úvod do SQL dotazování v SQL příkaz SELECT třídění množinové operace 2 SQL 3 structured query language standardní jazyk
VíceGymná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íceInternetová filmová databáze IFDB
VŠB FEI - Technická Univerzita Ostrava DOKUMENTACE Internetová filmová databáze IFDB Semestrální projekt Jméno: Jméno vyučujícího: Dušan Choleva (CHO0130) Ing. Petr Lukáš 1 1. Specifikace zadání 1.1. Proč
VíceDATABÁZE MS ACCESS 2010
DATABÁZE MS ACCESS 2010 KAPITOLA 5 PRAKTICKÁ ČÁST TABULKY POPIS PROSTŘEDÍ Spuštění MS Access nadefinovat název databáze a cestu k uložení databáze POPIS PROSTŘEDÍ Nahoře záložky: Soubor (k uložení souboru,
VíceMS Excel 2007 Kontingenční tabulky
MS Excel 2007 Kontingenční tabulky Obsah kapitoly V této kapitole se seznámíme s nástrojem, který se používá k analýze dat rozsáhlých seznamů. Studijní cíle Studenti budou umět pro analýzu dat rozsáhlých
VíceDatabázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz
Databázové systémy Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Vývoj databázových systémů Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace 60.-70. léta Program Komunikace Výpočty
VíceRELAČNÍ DATABÁZE ACCESS
RELAČNÍ DATABÁZE ACCESS 1. Úvod... 2 2. Základní pojmy... 3 3. Vytvoření databáze... 5 4. Základní objekty databáze... 6 5. Návrhové zobrazení tabulky... 7 6. Vytváření tabulek... 7 6.1. Vytvoření tabulky
VíceVzorové příklady SQL. Tabulka: Kniha CREATE TABLE kniha (id INTEGER, název VARCHAR(50), PRIMARY KEY (id))
Vzorové příklady SQL Tabulka: Kniha CREATE TABLE kniha název VARCHAR(50, PRIMARY KEY (id Tabulka: Autoři CREATE TABLE autoři jméno VARCHAR(10, příjmení VARCHAR(20, titul VARCHAR(7, prostřední VARCHAR(10,
VíceMaterializované pohledy
Materializované pohledy Pavel Baroš, 2010 Obsah Materializované pohledy Co přináší? Řešení ostatních DBS syntaxe a semantika pro: Oracle, MS SQL, DB2 ostatní Možné řešení pro PostgreSQL PostgreSQL 2 Materializované
Více12 Metody snižování barevného prostoru
12 Metody snižování barevného prostoru Studijní cíl Tento blok je věnován základním metodám pro snižování barevného rozsahu pro rastrové obrázky. Postupně zde jsou vysvětleny důvody k použití těchto algoritmů
VíceAccess. Tabulky. Vytvoření tabulky
Access správa databáze (tabulky, relace, omezující podmínky, data...) uživatelské prostředí pro práci s databází (formuláře, sestavy, datové stránky, makra...) ukázková aplikace Northwind hlavní okno databáze
VíceEfektivní práce s Excelem (středně pokročilí uživatelé)
2015 Efektivní práce s Excelem (středně pokročilí uživatelé) rozsah: 2 dny (10 hodin) Mgr. Jiří Číhař www.dataspectrum.cz Efektivní práce s Excelem pro středně pokročilé uživatele Práce s rozsáhlými tabulkami
VíceSestavy. Téma 3.3. Řešený příklad č Zadání: V databázi zkevidence.accdb vytvořte sestavu, odpovídající níže uvedenému obrázku.
Téma 3.3 Sestavy Sestavy slouží k výstupu informací na tiskárnu. Tisknout lze také formuláře, ale v sestavách má uživatel více možností pro vytváření sumárních údajů. Pokud všechna pole, která mají být
VíceMulti-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ícePopis souboru pro generování reportů *.report
Popis souboru pro generování reportů *.report [Main]... 1 Create... 1 Description... 1 Protect... 1 Nazev... 2 PopisX... 2 PopisY... 2 GRAFDATAOD... 2 GRAFDATADo... 2 GRAFOSAX... 2 TYP_GRAFU... 2 GRAF_VEDLEJSI_OSA...
Více