Praktické ukázky použití SQL. Informační a znalostní systémy

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

Download "Praktické ukázky použití SQL. Informační a znalostní systémy"

Transkript

1 Praktické ukázky použití SQL Informační a znalostní systémy

2 Preambule Cílem tohoto studijního materálu je pomocí řešených příkladů seznámit čtenáře s problematikou dotazů v jazyce SQL, zejména se získáváním dat z databáze. Materiál rozšiřuje návrh systému na monitoring senzorové sítě budovy (ze cvičení) o vyhodnocování stavů budovu a spouštění akcí. Databázový systém bude na základě posledního uloženého stavu senzorů v budově spouštět různé akce(např. zapni odvětrávání), přičemž k aktivaci jedné akce může vést více pravidel(což v principu umožnuje aktivující stavy slučovat pomocí logického součtu). Zároveň požadujeme podporu akcí, které budou spuštěny na základě splění více podmínek, tedy řetězení podmínek pomocí logického součinu. Pro jednoduchost systém pracuje pouze s podmínkami, že naměřená hodnota je srovnávána(větší nebo menší) než definovaný práh. Příslušné rozšířené schéma použité v tomto materiálu je uvedeno níže:

3 Obsah 1 Jednoduché získávání dat Výpisměřenízaposlednítýden Stránkovánívýpisu Spojovánítabulek Agregace Průměrnéhodnotysenzorů Podmínkynaagregačnífunkce Vyhodnocenípodmínek-aktivaceakcí Vnořené dotazy Vnořený Seznampřetopenýchsenzorů Posledníměření Pohled Pohledproposledníměření

4 4 OBSAH

5 Kapitola 1 Jednoduché získávání dat Kapitola se věnuje nejjednodušším příkladů použití příkazu 1.1 Výpis měření za poslední týden Zadání Vypište všechny naměřené záznamy za poslední týden Postup Měření jsou uložena v tabulce mereni obsahující vedle hodnoty i čas měření a identifikaci veličiny a senzoru. Zadání přesně nespecifikuje, které atributy požadujeme, budeme uvažovat všechny, tedy namísto výčtu atributů uvedeme symbol Ze všech záznamů v tabulce vybereme pouze ty, které nejsou starší 7 dnů. Funkce now() vrací aktuální čas, podmínka v rámci klíčového slova WHERE odpovídající záznamy mladší jednoho týdne musí od aktuálního času odečíst 7 dní. SQL WHERE cas > now() - INTERVAL 7 days ; Stránkování výpisu Dotaz výše může vrátit poměrně velký počet záznamů, přenos takového množství záznamů bývá mnohdy z důvodu omezené(přenosové) kapacity 5

6 6 KAPITOLA 1. JEDNODUCHÉ ZÍSKÁVÁNÍ DAT nežádoucí, navíc uživatel typicky nepožaduje výpis všech relavatních dat (neb je sám není schopen najednou zpracovat). Z tohoto důvodu přistupujeme ke stránkování výstupu. Zadání Vypište posledních 100 naměřených záznamů za poslední týden Postup Požadavek na zobrazení 100 záznamů realizujeme přidáním klíčového slova LIMIT. Druhým rozdílem v zadání je, že chceme vybrat posledních 100 záznamů. Tento požadavek lze realizovat seřazením záznamů podle času pomocí použití klíčového slova ORDER BY SQL WHERE cas > now() - INTERVAL 7 days ORDER BY cas LIMIT 100; Poznámky Zadání lze modifikovat na zobrazení n-té stránky po z záznamech, tedy výběrzáznamůod(n z+1)-téhodo((n+1)z)-tého.toholzedocílit rozšířením klíčového slova LIMIT o sekci OFFSET, v tomto konkrétním případělimit zoffset(n z+1). Neboť pořadí záznamů uložených v databázi je náhodné, při praktických využití klíčového slova LIMIT je vždy nutné záznamy seřadit podle nějakého kritéria. Pokud záznamy nebudou seřazeny, může dojít ke změně pořadí záznamů uložených v databázi, v čehož důsledku při zobrazení další stránky mohou být některý ze záznamů zobrazen vícekrát a naopak, ikdyž projdeme všechny stránky, nemusí být některý ze záznamů vůbec zobrazen. Námět k zamyšlení Otázka 1 Mohou při uvedeném dotazu rozšířeném o klíčové slovo OFFSET nastat(ve smyslu druhé poznámky) nějaké problémy?

7 1.2. SPOJOVÁNÍ TABULEK Spojování tabulek V okamžiku návrhu databázového modelu dekomponujeme entity tak, aby model splňoval podmínku alespoň třetí normální formy, tj. aby data byla uložena korektně bez možnosti vzniků konfliktů, potažmo nekonzistencí. Tento pohled však nemůžeme očekávat od uživatele, ten samozřejmě vyžaduje svůj nedekomponovaný pohled na data. Nejen z tohoto důvodu SQL umožňuje pro potřeby vyhodnocení dotazu tabulky spojovat. Zadání Vypište zaznamenaná měření s uvedením názvu, značky a jednotky veličiny. Postup Ze zadání vyplývá, že k zobrazení požadovaného výstupu bude zapotřebí tabulek mereni a velicina. 1. První možností je uvést všechny použité tabulky za klíčové slovo FROM. Tento způsob vede na vytvoření kartézkého součinu mezi záznamy obou tabulek, ze kterého WHERE podmínkou stanovíme, že požadujeme pouze kombinace záznamů, u nihž hodnota cizího klíče odpovídá hodnotě primárního klíče(pokud se atribytou obou klíčů jmenují identicky, je potřeba jich rozlišit pomocí notace tabulka.atribut. V tomto případě zápis bude,velicina WHERE mereni.id_velicina = velicina.id_velicina AND cas > now() - INTERVAL 7 days ; 2. Zatímco u prvního přístupu dochází k míchání podmínek pro spojování tabulek(korenspondencí hodnot primárního a cizího klíče) s podmínkami na hodnoty atributů, což není z důvodu přehlednosti zápisu vhodné, SQL umožňuje zapsat podmínky přímo do sekce klíčového slova FROM v syntaxi tabulka JOIN tabulka následované vazební podmínkou. V našem konkrétním případě FROM mereni JOIN velicina ON (mereni.id_velicina = velicina.id_velicina) WHERE cas > now() - INTERVAL 7 days ;

8 8 KAPITOLA 1. JEDNODUCHÉ ZÍSKÁVÁNÍ DAT 3. Pokud navíc jména atributů cizího a primárního klíče jsou identická, je možné použít variantu s klíčovým slovem USING namísto ON JOIN velicina USING (id_velicina) WHERE cas > now() - INTERVAL 7 days ; Pokud jsou atributy primárního a cizího klíče stejnojmenné a mapování stejnojmených atributů vždy odpovídá mapování párů cizí- primární klíč, je možné použít tzv. přirozené spojení automaticky párující klíče. NATURAL JOIN velicina WHERE cas > now() - INTERVAL 7 days ; Nevýhodou tohoto přístupu je, že pokud do tabulky přidáme nový atribut, jehož jméno bude shodné s jiným již existujícím atributem, vyhodnotí se toto jako nový pár klíčů a původní dotaz přestane vracet očekávaný výsledek (např. přidání atributu čas do tabulky veličina odpovídající času přidání příslušné veličiny bude mít za následek, že předchozí dotaz zobrazí pouze ta měření, která odpovídají času přidání dané veličiny. V rámci jednoho dotazu je možné spojovat i více tabulek přidáním další podsekce JOIN Otázky Otázka 2 Zobrazte poslední naměřený záznam ve formě tabulky s označením senzoru, jménem a značkou veličiny a hodnotou s jednotkou veličiny. Otázka 3 Vyhodnoťte, které podmínky jsou pro dané měření splněny. Otázka 4 Vypište seznam senzorů, které se dosud nenaměřili nějakou veličinu, kterou jinak měřit umožňují. 1.3 Agregace SQL podporuje možnost použití agregačních funkcí. Agregační funkce vyhodnocují celou množinu hodnot(z více záznamů) uvedeného atributu a vracejí jedinou hodnotu. Množina záznamů, přes které se agreguje, označujeme agregační úrovní. Typické agregační funkce jsou počet COUNT, minimum MIN, maximum MAX,součetSUMaprůměrAVG.

9 1.3. AGREGACE Průměrné hodnoty senzorů Zadání Vypište průměrné naměřené hodnoty senzorů. Postup SQL 1. Nejprve připravíme vstupní tabulku pro agregační funkce. V tomto případě je to jednoduchý výpis záznamů z tabulky mereni 2. stanovíme agregační úroveň, tedy to, přes které atributy chceme agregovat. V tomto konkrétním případě je agregační úrovní kombinace id senzor, id velicina. Agregační úroveň nastavíme pomocí klíčového slova GROUP BY. 3. Ve výčtu atributů mohou být buďto atributy, přes které se agreguje, nebo agregační funkce, nic jiného. V našem případě id senzor, id velicina a agregační funkce AVG(hodnota). id_senzor, id_velicina, AVG(hodnota) as prumernahodnota GROUP BY id_senzor, id_velicina; Otázka 5 Rozšiřte uvedený dotaz o výpis počtu provedených měření a o maximální a minimální hodnotu. Proveďte výpis v člověkem srozumitelné podobě. Poznámky Pokud není agregační úroveň stanovena, je uvažována celá tabulka Podmínky na agregační funkce Stejně jako je vhodné definovat WHERE podmínky na samotné v tabulkách uložené záznamy, SQL přináší možnost definovat podmínky na hodnoty agregačních funkcí. Například, u předchozího případu můžeme požadovat, aby byly zobrazeny pouze teploty(předpokládejme id veličina=1) a zobrazovaly se pouze průměry počítané z více než 10 vzorků.

10 10 KAPITOLA 1. JEDNODUCHÉ ZÍSKÁVÁNÍ DAT Postup Zatímco první podmínka je podmínka svázaná se vstupními daty, jedná se o podmínku, která bude zadána v sekci WHERE. Naopak podmínka, aby byly zobrazeny pouze agregované záznamy, pokud zahrnují alespoň 10 záznamů, je podmínka na agregační funkci, která musí být zapsána do sekce HAVING. SQL id_senzor, id_velicina, AVG(hodnota) as prumernahodnota WHERE id_velicina = 1 GROUP BY id_senzor, id_velicina HAVING count()>10; Poznámka Všimnětesi,žemeziWHEREaHAVINGpodmínkamijezásadnírozdílanemohou být navzájem zaměněny. Zatímco WHERE podmínka říká, která data budou použita pro agregaci, HAVING počítá s již proběhlou evaluací hodnot agregačních funkcí(a tedy následuje za sekcí GROUP BY) Vyhodnocení podmínek- aktivace akcí Agregaci můžeme využít v mnohý aplikacích, které na první pohled s průměrováním a podobnými operacemi nemají nic společného. Zadání Na základě záznamů v tabulkách pravidlo,podminka a mereni stanovte, ktere akcemajíbýtvdanémčaseaktivní.akcejespuštěnazapodmínkysplnění všech dílčích podmínek. Pro jednoduchost uvažujte, že měření veličin je synchonní, tj. probíhá ve stejný čas. PostupaSQL Prvně je potřeba připravit vstupní data pro agregaci. Na jedné straně spojovaných tabulek je mereni, na druhé pak podmínka. Tabulka mereni musí být připojena pomocí OUTER JOIN. FROM pravidlo JOIN podminkapravidlo USING (id_pravidlo)

11 1.3. AGREGACE 11 JOIN pravidlo USING (id_pravidlo) JOIN mereni USING (id_senzor,id_velicina); Dále, pro aktivaci pravidla musejí být splněny všechny podmínky, CASE WHEN typ= < THEN hodnota < prahovahodnota WHEN typ= > THEN hodnota > prahovahodnota ELSE false END as platna a požadujeme, aby v daném čase byla splněny všechny podmínky, tedy budeme agregovat přes čas a id pravidla. Pro vyjádření podmínky na splnění všech dílčích podmínek aktivace použijeme faktu, že počet platně vyhodnocených podmínek(nasčítaných, nelze kombinovat různé agregační úrovně) je shodný s celkovým počtem podmínek, tedy SUM (CASE WHEN typ= < THEN 1 WHEN typ= > THEN 1 ELSE 0 END) = count() as aktivuj Celý dotaz tedy bude id_akce,id_pravidlo,cas, SUM (CASE WHEN typ= < THEN 1 WHEN typ= > THEN 1 ELSE 0 END) = count() as aktivuj FROM pravidlo JOIN podminkapravidlo USING (id_pravidlo) JOIN pravidlo USING (id_pravidlo) JOIN mereni USING (id_senzor,id_velicina) GROUP BY id_akce,id_pravidlo,cas; Otázka 6 Je dotaz funkční za všech okolností?

12 12 KAPITOLA 1. JEDNODUCHÉ ZÍSKÁVÁNÍ DAT

13 Kapitola 2 Vnořené dotazy Mnohdy se při práci dostaneme do situace, kdy je nutné získat mezivýsledek atendálepoužít.vsqlktomusložítzv.vnořenéy. 2.1 Vnořený Seznam přetopených senzorů Ukázku použití vnořeného u demonstujme na jednoduchém příkladu Zadání Vypište kompletní popis senzorů, u kterých byla naměřena teplota( id velicina =1)vyššínež40C. PostupaSQL Nejprve začneme s poddotazem- které senzory naměřily teplotu vyšší než 40 C, vraťme hodnotu cizího klíče. id_senzor WHERE id_velicina = 1 AND hodnota>40; Nyní připravme druhou část dotazu- bez podmínky FROM senzor; V rámci tohoto dotazu nyní potřebujeme zajistit, že budou zobrazeny pouze ty senzory, které odpovídají poddotazu. To lze zajistit pomocí konstukce vnořeného u pomocí notace 13

14 14 KAPITOLA 2. VNOŘENÉ DOTAZY IN ( x...) Celý dotaz: FROM senzor WHERE id_senzor IN ( id_senzor WHERE id_velicina = 1 AND hodnota>40 ); Poznámka V mnohých případech lze dotaz formulovat i bez vnořeného u. Lze toivtomtopřípadě? Poslední měření Vnořenýjemožnévkládatiuvýrazů.Vtakovémpřípadějenutno brát na zřetel, že se vyhodnotí tolikrát, kolik je záznamů. Zadání Pro každou kombinaci veličiny a senzoru vypište čas posledního měření a poslední naměřenou hodnotu. PostupaSQL První, jednodušší možností použitelnou při synchronizovaném měření je získat čas posledního měření cas ORDER BY cas DESC LIMIT 1; a následně vypsat pouze záznamy měření odpovídající tomuto času. Celý dotaz: WHERE cas = (

15 2.2. POHLED 15 cas ORDER BY cas DESC LIMIT 1); U asynchronního ukládání dat je problém složitější, neb nemůžeme výpis odvodit od jediného času(z tabulky mereni), ale je nutné jej odvozovat od přípustných kombinací z tabulky senzorvelicina. Úkol senzorvelicina., ( cas WHERE mereni.id_velicina = senzorvelicina.id_velicina AND mereni.id_senzor = senzorvelicina.id_senzor ORDER BY cas DESC LIMIT 1) as cas, ( hodnota WHERE mereni.id_velicina = senzorvelicina.id_velicina AND mereni.id_senzor = senzorvelicina.id_senzor ORDER BY cas DESC LIMIT 1) as hodnota FROM senzorvelicina; Porovnejte reálnou časovou náročnost zobrazení posledních hodnot u synchronního a asynchronního přenosu měření. Použite příkaz EXPLAIN Otázka 7 Je dotaz funkční za všech okolností? Poznámka Všimněte si, že vnořené y na pozici vyhodnocení výrazu bezpodmínečně musí vrátit jedinou hodnotu. Z toho důvodu je bežně používáno omezení LIMIT Pohled U složitých dotazů používaných jako subdotazy je vhodné použít tzv. pohledu. Pohled je nematerilizovaná náhrada za složitý. Pohled lze vytvořit pomocí příkazu CREATE VIEW Pohled pro poslední měření Zadání Vytvořte pohled odpovídající posledním nameřeným hodnotám, viz předchozí odstavec, a demonstujte použití pohledu.

16 16 KAPITOLA 2. VNOŘENÉ DOTAZY SQL CREATE VIEW poslednimereni AS senzorvelicina., ( cas WHERE mereni.id_velicina = senzorvelicina.id_velicina AND mereni.id_senzor = senzorvelicina.id_senzor ORDER BY cas DESC LIMIT 1) as cas, ( hodnota WHERE mereni.id_velicina = senzorvelicina.id_velicina AND mereni.id_senzor = senzorvelicina.id_senzor ORDER BY cas DESC LIMIT 1) as hodnota FROM senzorvelicina; Použití Kpohledusechovámestejnějakobytobylatabulka,tj.např. FROM poslednimereni;

17 Odpovědi na otázky Odpověď 1 Záznamy jsou v databázi uloženy v náhodném pořadí, přičemž uvedené kritérium nepokrývá celý primární klíč(jednoznačně definující záznam). Tedy uspořádání podle jiného kritéria než podle minimálně všech atribitů primárního klíče(těch v libovolném pořadí) nedefinuje jednoznačné pořadí záznamů. Tuto situaci lze demonstrovat na např. aplikaci multiplikátoru na hodnoty naměřené daným senzorem. Databázový stroj typicky nově upravené záznamy přesouvá na konec; pokud bychom řadili pouze podle času a stejnému času by odpovídalo více nežli 100 hodnot, některé záznamy by nebyly zobrazeny a modifikované by byly zobrazeny 2x. Druhý problém nastává při přidávání nových měření, kdy hranice původního prvního se posouvá. Tento problém již vyžaduje sofistifikované řešení. Odpověď 2 Vzhledem k tomu, že tabulky senzor a velicina obsahují stejnojmenný atribut nazev, je potřeba tyto různé atributy odlišit pomocí notace tabulka.atribut. V tomto případě je vhodné tyto atributy rozlišit i ve výpisu pomocí zadaného aliasu klíčovým slovem AS. Poslední měření získáme seřazením záznamů podle času sestupně a ponecháme pouze první záznam, tj. LIMIT 1. senzor.nazev as senzor, velicina.nazev as velicina, hodnota jednotka as hodnota JOIN velicina USING (id_velicina) JOIN senzor USING (id_senzor) ORDER BY cas DESC LIMIT 1; Povšimněte si, že zatímco u spojování tabulek mereni a velicina bylo možné použit NATURAL JOIN, u připojení třetí tabulku senzor to již možné není. Proč? 17

18 18 KAPITOLA 2. VNOŘENÉ DOTAZY Odpověď 3 mereni., typ, prahovahodnota, CASE WHEN typ= < THEN hodnota < prahovahodnota WHEN typ= > THEN hodnota > prahovahodnota ELSE false END as platna JOIN podminka USING (id_velicina,id_senzor); Součástí dotazu je vyhodnocení CASE větvení, za kterým následuje vždy podsekce WHEN... THEN..., která udává, jakou hodnotu bude výraz vracet při splnění příslušné podmínky. Pokud není splněna žádná z uvedených podmínek, je vrácena prázdná hodnota NULL nebo výraz uvedený v podsekci ELSE. Odpověď 4 Seznam veličin, který daný senzor umí měřit, nalezneme v tabulce senzorvelicina, seznam měření pak v tabulce mereni. Tyto tabulky potřebujeme spárovat pomocí INNER JOIN, abychom dosud měřeními nepokrytými kombinacemi senzor, veličina získali požadovaný seznam(libovolný z atributů povinně vyplnitelných bude nabývat prázdné hodnoty). senzorvelicina., FROM senzorvelicina LEFT JOIN mereni USING (id_velicina,id_senzor) WHERE cas IS NULL; Odpověď 5 Podmínku lidské čitelnosti splníme použitím dotazu z odpovědi 2. Vstupní tabulkou pro agregaci pak bude dotaz senzor.nazev as senzor, velicina.nazev as velicina, hodnota, jednotka JOIN velicina USING (id_velicina) JOIN senzor USING (id_senzor); Agregovat pak budeme přes název senzoru, název veličiny a jednotce, která je na atributech definující agregační úroveň funkčně závislá. senzor.nazev as senzor, velicina.nazev as velicina, COUNT() as pocet,

19 2.2. POHLED 19 AVG(hodnota) as prumer, MIN(hodnota) as min, MAX(hodnota) as max, jednotka JOIN velicina USING (id_velicina) JOIN senzor USING (id_senzor) GROUP BY senzor.nazev, velicina.nazev, jednotka; Odpověď 6 Ze zadání jsou měření synchronní, tedy záznamy měření přes různé veličiny a senzory mají stejný čas. To však nezaručuje, že tabulka obsahuje všechna požadované měření, tedy že měří všechny senzory. Díky tomu je potřeba uvažovat situaci, kdy některé z podmínek odpovídá senzoru aveličině,jehožměřenínenívdanýčaskdispozici.vtakovémpřípaděnení zajištěno,žepodmínka(vrealitě)jesplněna.otázkouje,zdakakcimádojít pouze za splnění všech podmínek a nebo postačuje, že žádná z požadovaných podmínek není nesplněna. Odpověď 7 Nyní jsou měření asynchronní, navíc odpadá problém, že v případě absence měření nebude uvedena žádná hodnota(nejednoznačné rozhodování o aktivaci akce, viz synchronní přenos u příkladu výše). V případě, že žádné odpovídající meření nebylo realizováno, vrací dotaz prázdnou hodnotu NULL

SQL SQL-SELECT. Informační a znalostní systémy. Informační a znalostní systémy SQL- SELECT

SQL 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í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í 5 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování K čemu se používají

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

B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux

B0M33BDT 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íce

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

Informač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íce

Návrh databázového modelu

Návrh databázového modelu Návrh databázového modelu Informační a znalostní systémy 1 2 Konflikty 3 návrh musí pokrývat požadavky zadavatele návrhbyměl reflektovat i možné budoucí poslání návrh od shora dolů zdola nahoru Vývoj modelu

Více

Úvod do databázových systémů 3. cvičení

Ú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í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

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

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

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

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

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

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

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

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

KIV/ZIS - SELECT, opakování

KIV/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íce

MS Access Dotazy SQL

MS 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í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

Co 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 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í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

Databáze SQL SELECT. David Hoksza http://siret.cz/hoksza

Databá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í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

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

Ú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

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

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou MySQL Typy tabulek Storage Engines MyISAM defaultní, neumí transakce, umí fulltext InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) MEMORY (HEAP) v paměti; neumí transakce ARCHIVE velké množství

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

Ú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

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

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

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 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íce

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

Kurz 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íce

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

Dotazovací 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í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

Databá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 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í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

Databá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á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í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

RNDr. Jakub Lokoč, Ph.D. RNDr. Michal Kopecký, Ph.D. Katedra softwarového inženýrství Matematicko-Fyzikální fakulta Univerzita Karlova v Praze

RNDr. Jakub Lokoč, Ph.D. RNDr. Michal Kopecký, Ph.D. Katedra softwarového inženýrství Matematicko-Fyzikální fakulta Univerzita Karlova v Praze RNDr. Jakub Lokoč, Ph.D. RNDr. Michal Kopecký, Ph.D. Katedra softwarového inženýrství Matematicko-Fyzikální fakulta Univerzita Karlova v Praze 1 Vytvořte model půjčovny dopravních prostředků. Zákazník

Více

Databázové systémy. Dotazovací jazyk SQL - II

Databázové systémy. Dotazovací jazyk SQL - II Databázové systémy Dotazovací jazyk SQL - II SELECT I SELECT FROM WHERE GROUP BY HAVING

Více

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

Informač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íce

DB1 cvičení 4 spojení tabulek a složitější dotazy

DB1 cvičení 4 spojení tabulek a složitější dotazy DB1 cvičení 4 spojení tabulek a složitější dotazy Spojení tabulek Navázání spojení mezi tabulkami Cizí klíč tabulky Auto referencuje primární klíč tabulky TypAuta: CREATE TABLE TypAuta (pk_ta NUMBER(2)

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

5. blok Souhrnné a skupinové dotazy

5. blok Souhrnné a skupinové dotazy 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í

Více

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

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 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íce

PG 9.5 novinky ve vývoji aplikací

PG 9.5 novinky ve vývoji aplikací PG 9.5 novinky ve vývoji aplikací P2D2 2016 Antonín Houska 18. února 2016 Část I GROUPING SETS, ROLLUP, CUBE Agregace Seskupení řádků tabulky (joinu) do podmnožin podle určitého kĺıče. Za každou podmnožinu

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

U koly na procvic ení jazyka T-SQL

U koly na procvic ení jazyka T-SQL U koly na procvic ení jazyka T-SQL Lehké Úkol 1 Vytvořte seznam všech zákazníků, seřazený vzestupně podle jména a druhotně podle příjmení. Vraťte všechny sloupce tabulky. SELECT * ORDER BY FirstName, LastName

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

SII - Informatika. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá:

SII - Informatika. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá: SII - Informatika Způsob vyhodnocení: Při vyhodnocení budou za nesprávné odpovědi strhnuty body. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá: a) sekundární klíč b)

Více

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

Databá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í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

Popis 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í. 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íce

Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model

Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model Databázové systémy Tomáš Skopal - relační model * relační kalkuly Osnova přednášky relační kalkuly doménový n-ticový Relační kalkuly využití aparátu predikátové logiky 1. řádu pro dotazování rozšíření

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

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

Analýza a modelování dat 6. přednáška. Helena Palovská Analýza a modelování dat 6. přednáška Helena Palovská Historie databázových modelů Jak je řešena temporalita? Temporalita v databázích Možnosti pro platnost faktu (valid time): platí nyní, je to aktuální

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

Databáze 2011/2012 SQL SELECT II. RNDr.David Hoksza, Ph.D.

Databá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íce

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

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu: Čtvrtek 8 prosince Pascal - opakování základů Struktura programu: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury

Více

Použití dynamických parametrů prostředí SET_ENV_ v MarushkaDesignu

Použití dynamických parametrů prostředí SET_ENV_ v MarushkaDesignu 0 Použití dynamických parametrů prostředí SET_ENV_ v MarushkaDesignu OBSAH 1 CÍL PŘÍKLADU...2 2 PRÁCE S PŘÍKLADEM...2 3 UKÁZKA DIALOGOVÉHO OKNA...3 4 STRUČNÝ POPIS PŘÍKLADU V MARUSHKADESIGNU...5-1 - 1

Více

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

Databá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íce

Reporting. Ukazatele je možno definovat nad libovolnou tabulkou Helios Orange, která je zapsána v nadstavbě firmy SAPERTA v souboru tabulek:

Reporting. 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íce

Slučování tabulek. Sloučení dvou tabulek

Slučování tabulek. Sloučení dvou tabulek Slučování tabulek Newsletter Statistica ACADEMY Téma: Příprava dat Typ článku: Návody Máte informace ve více tabulkách a chcete je sloučit dohromady? Pak je tento článek právě pro Vás. Vysvětlíme, jaké

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

Kontingenční tabulky v MS Excel 2010

Kontingenč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íce

DJ2 rekurze v SQL. slajdy k přednášce NDBI001. Jaroslav Pokorný

DJ2 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íce

Řešené příklady STUDENT(RČ, JMÉNO, SPECIALIZACE) PŘEDMĚT(KÓD, NÁZEV, SYLLABUS, GARANT) ZÁPIS(RČ, KÓD, SEMESTR, ZNÁMKA)

Řešené příklady STUDENT(RČ, JMÉNO, SPECIALIZACE) PŘEDMĚT(KÓD, NÁZEV, SYLLABUS, GARANT) ZÁPIS(RČ, KÓD, SEMESTR, ZNÁMKA) Řešené příklady Použijeme především příklady z kapitoly 5. Mějme databázi studentů a předmětů, na které se zapisují a které absolvují. Databáze je realizována třemi relacemi se schematy (pozn. primární

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

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 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í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

Osnova je orientační pro FIT, u FEKTu se dá předpokládat, že budou zohledněny předchozí znalosti studentů, kde většina s databází nikdy přímo

Osnova je orientační pro FIT, u FEKTu se dá předpokládat, že budou zohledněny předchozí znalosti studentů, kde většina s databází nikdy přímo 1 Osnova je orientační pro FIT, u FEKTu se dá předpokládat, že budou zohledněny předchozí znalosti studentů, kde většina s databází nikdy přímo nepracovala. 2 3 4 5 6 7 8 9 10 11 12 Autor zadání je doc.

Více

Microsoft Office. Excel vyhledávací funkce

Microsoft Office. Excel vyhledávací funkce Microsoft Office Excel vyhledávací funkce Karel Dvořák 2011 Vyhledávání v tabulkách Vzhledem ke skutečnosti, že Excel je na mnoha pracovištích používán i jako nástroj pro správu jednoduchých databází,

Více

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

Obsah. 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í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

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

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

Úvod do databázových systémů Úvod do databázových systémů Databáze je dnes velmi často skloňovaným slovem. Co se pod tímto termínem skrývá si vysvětlíme na několika následujících stranách a cvičeních. Databáze se využívají k ukládání

Více

Databáze pro evidenci výrobků

Databáze pro evidenci výrobků Databáze pro evidenci výrobků Databáze ve formátu Microsoft Access je součástí systému, který řídí automatizovanou výrobní linku. Tabulka tblcharge obsahuje data o výrobcích a je plněna automaticky řídicím

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

Dotaz se souhrny a dotaz křížový

Dotaz 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í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

Databázové systémy I

Databázové systémy I 2015 Databázové systémy I PROJEKT 2 ČÁST MIROSLAV POKORNÝ Stránka 0 z 21 Zadání Implementujte datový model vytvořený v první části projektu do relační databáze a vytvořte pohledy a uloženou proceduru dle

Více

Sada 1 - PHP. 15. Výběr dat z databáze. Příkaz SELECT

Sada 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íce

PA152. Implementace databázových systémů

PA152. Implementace databázových systémů PA152 Implementace databázových systémů RAID level 1 zrcadlení disku výpočet MTTF 2 stejné disky, MTTF 3 roky výměna vadného 3,5 dne výpadek oba disky během 3,5 dne p(výpadku disku za rok) = 1/6 p(výp.

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

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

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph) Marketingová komunikace Kombinované studium Skupina N9KMK3PH (vm3aph) 2. a 3. soustředění Mgr. Pavel Vávra 9103@mail.vsfs.cz http://vavra.webzdarma.cz/home/index.htm Co nás čeká: 2. soustředění 16.1.2009

Více

Databázové systémy Tomáš Skopal

Databá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í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

Kapitola 4: SQL. Základní struktura

Kapitola 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í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

Materializované pohledy

Materializované 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í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

Tiskové sestavy. Zdroj záznamu pro tiskovou sestavu. Průvodce sestavou. Použití databází

Tiskové 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íce

KIV/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. 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í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

41 Konzultace bariéry

41 Konzultace bariéry 41 Konzultace bariéry Uživatelský modul Konzultace realizuje běžnou denní agendu pracovníků konzultačního centra pro odstraňování bariér. V tomto modulu jsou evidovány pokládané dotazy/požadavky spolu

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

TimescaleDB. Pavel Stěhule 2018

TimescaleDB. Pavel Stěhule 2018 TimescaleDB Pavel Stěhule 2018 O výkonu rozhodují Algoritmy Datové struktury 80-90 léta - vize univerzálních SQL databází Po roce 2000 - specializované databáze Relační SQL databáze Běžně optimalizována

Více

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

Databáze I. Přednáška 2 Databáze I Přednáška 2 Transformace E-R modelu do relačního modelu (speciality) zaměříme se na dva případy z předmětu Analýza a modelování dat reprezentace entitního podtypu hierarchie ISA reprezentace

Více

5. POČÍTAČOVÉ CVIČENÍ

5. POČÍTAČOVÉ CVIČENÍ 5. POČÍTAČOVÉ CVIČENÍ Databáze Databázi si můžeme představit jako místo, kam se ukládají všechny potřebné údaje. Přístup k údajům uloženým v databázi obstarává program, kterému se říká Systém Řízení Báze

Více

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

Úvod do MS Access. Modelování v řízení. Ing. Petr Kalčev Úvod do MS Access Modelování v řízení Ing. Petr Kalčev Postup při tvorbě aplikace Vytvoření tabulek Vytvoření relací Vytvoření dotazů Vytvoření formulářů Vytvoření sestav Tabulky Slouží k definování polí,

Více