Dotazovací jazyk pro řazená data
|
|
- Matyáš Vacek
- před 6 lety
- Počet zobrazení:
Transkript
1 Dotazovací jazyk pro řazená data NDBI Martin Chytil
2 Motivace - dotazy závislé na pořadí Úvod do jazyka AQuery Datový model Algebra Transformace dotazů - optimalizace Výsledky experimentů Podobné projekty Shrnutí
3
4 Výsledek dotazu se změní jiným uspořádáním vstupu Všechny nabídky dané akcie během dne Pěti-cenový klouzavý průměr Finanční svět, molekulární biologie, toky paketů v síti
5 Relační databáze pomocí doplňků Složité formulace jednoduchých dotazů Obtížná optimalizace
6 Schéma: Obchod(ID, datum, cena, časové_razítko) Dotaz: Pro danou akcii v daném dni najít nejlepší možný zisk
7 SELECT max(rozdíl) FROM (SELECT ID, datum, cena min(cena) OVER (PARTITION BY ID, datum ORDER BY časové_razítko ROWS UNBOUNDED PRECEDING) AS rozdíl, FROM Obchod ) AS t1 WHERE ID = 'ACME' AND datum = '05/11/03'
8 Schéma: Paket(ID, zdroj, cíl, délka, časové razítko) Dotaz: Počet paketů a průměrná délka paketů v každém datovém toku
9 WITH Předchozí (zdroj, cíl, délka, čr, pč) AS (SELECT zdroj, cíl, délka, čr, min(čr) OVER (PARTITION BY zdroj,cíl ORDER BY čr ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) FROM Paket), Tok (zdroj, cíl, délka, čr, flag) AS (SELECT zdroj, cíl, délka, čr, CASE WHEN čr-pč > 120 THEN 1 ELSE 0 END FROM Předchozí), TokID (zdroj, cíl, délka, čr, tid) AS (SELECT zdroj, cíl, délka, čr, sum(flag) OVER (ORDER BY zdroj, cíl, čr ROWS UNBOUNDED PRECEDING) FROM Tok) SELECT zdroj, cíl, avg(délka), count(čr) FROM TokID GROUP BY zdroj, cíl, tid
10
11 Podpora uspořádní na nejnižších základech Sémantické rozšíření relační algebry (SQL 92) Klauzule ASSUMING ORDER Arrable Základní datový typ Setříděná entita
12
13 Τ množina typů, každý t Τ je základního typu (integer, boolean, ) nebo jednodimensionální pole elementů základního typu. A neomezeně velké ale konečné pole elementů t Τ Kardinalita A = A = počet jeho prvků A,k- = k -tý element A (k = index / pozice)
14 Arrable r = kolekce pojmenovaných polí A 1, A 2,, A n, A 1 = A 2 = = A n, A i, 1 i n, je typu t Τ
15 Obchod ID Datum Cena ČR ACME WXYZ ACME ACME WXYZ Sada ID Datum Cena ČR ACME [12.02, 12.04, 12.05] [1, 5, 9] WXYZ [43.22, 43.23] [2, 13]
16 k tý záznam Arrable r r k = < A 1 k, A 2 k,, A n k > Indexace začíná od 0 Arrable je složen z uspořádaných polí arrable je uspořádaný
17 r(a 1,, A n ) arrable Arrable může být uspořádaný podle podmnožiny polí, ze kterých je složen B 1, B 2,, B m A 1, A 2,, A n, k 1, k 2 indexy, k 1 < k 2 i) B 1 k 1 = B 1 k 2,, B m k 1 = B m k 2 ii) i B i k 1 < B i k 2, Pro i > 1, B 1 k 1 = B 1 k 2,, B i 1 k 1 = B i 1 k 2 Pro sestupné uspořádání symetricky
18 r a s dva arrable nad stejnou množinou atributů r je ORDERED BY X 1,, X p, s je ORDERED BY Y 1,, Y q pak r a s jsou Order-ekvivalentní nad B 1,, B m, pokud: i) r a s jsou množinově ekvivalentní ii) B 1,, B m je prefixem X 1,, X p a Y 1,, Y q Značíme r B1,,B m s, r *+ s
19 V dotazech závislých na pořadí výsledek závisí na kombinaci více než jednoho vstupního záznamu AQuery se vyznačuje sémantikou zaměřenou na sloupce jednotlivé proměnné se vážou na celé své pole Výrazy definují mapování ze seznamu polí do pole
20 Funkce bere jako argument vektor a vrací vektor AQuery obsahuje spoustu takových funkcí Př. Prev, Next, Funkce se klasifikují podle vztahu k uspořádání vstupního pole a ke kardinalitě pole, kterou generují (Ne)závislé na uspořádání, (ne)zachovávající velikost
21 Výraz e je nezávislý na uspořádání, pokud: A i, 1 i m kde m je stupeň výrazu a pro libovolnou permutaci perm platí: e(a 1,, A m ) *+ e(a 1 Perm,, A m Perm ) Jinak je závislý na uspořádání
22 Trochu jiné Vector-to-vector funkce závislé na pořadí, zachovávající velikost Klouzavé minimum mins A i = min (A i, mins A i 1 ) mins A = 0 < i < A A i, i = 0 Klouzavá suma sums A i = A i + sums A i 1 ) sums A = 0 < i < A A i, i = 0
23 Např. first A,n = A,0.. n 1- last A,n = A, A n.. A 1- Pokud se takové funkce drží kraje pole, označují se jako hraniční funkce a mají specifický význam při optimalizaci
24
25 Podporuje operátory relační algebry Jako argumenty se používají pole Pokud je výraz závislý na uspořádání, pak operátor také zachovává uspořádání
26 r je Arrable e = e 1,, e m je seznam výrazů nad poli arrablu r, tž. e 1 = = e m Pořadí zachovávající projekce r nad e π op e r projection(e, r) 1. s empty arrable aving te same scema as e 2. for i = 0 to r 1 3. append < e 1 i,, e m i > to s 4. end for 5. output s
27 r je Arrable p predikát mapující pole r do pole boolean tž. r = p Pořadí zachovávající selekce r přes p σ op p r selection(p, r) 1. s empty arrable aving te same scema as r 2. for i = 0 to r 1 3. if p i is true 4. append r i to s 5. end if 6. end for 7. output s
28 r(a 1,, A m ) arrable B 1, B 2,, B m A 1, A 2,, A n Setřídění r podle B 1, B 2,, B m znamená permutaci s arrablu r takovou, že s(r) je ORDERED BY B 1, B 2, B m sort B1,B 2,,B m (r)
29 Schéma: Obchod(ID, datum, cena, časové_razítko) Dotaz: Pro danou akcii v daném dni najít nejlepší možný zisk
30 SELECT max(cena - mins(cena)) FROM Obchod ASSUMING ORDER časové_razítko WHERE ID = 'ACME' AND datum = '05/11/03 π e op (σ p op (sort cr (Obcod))), e = max cena mins cena, p = (ID = ACME ) (datum = 05/11/03 )
31 AQuery: SELECT max(cena - mins(cena)) FROM Obchod ASSUMING ORDER časové_razítko WHERE ID = 'ACME' AND datum = '05/11/03' SQL99: SELECT max(rozdíl) FROM (SELECT ID, datum, cena min(cena) OVER (PARTITION BY ID, datum ORDER BY časové_razítko ROWS UNBOUNDED PRECEDING) AS rozdíl, FROM Obchod ) AS t1 WHERE ID = 'ACME' AND datum = '05/11/03'
32 r je Arrable g = G 1,, G m je seznam výrazů nad poli arrablu r, tž. G 1 = = G m = r, Pro každé r i existuje skupina charakterizovaná g i Pořadí zachovávající group-by r nad g gby g op r
33 group-by(g,r) 1. groups := empty arrable having the same schema as g 2. s:= empty arrable having the same schema as r 3. for i = 0 to r if g[i] in groups 5. j:= index of g[i] in groups 6. for each column C in r 7. if C is not a grouped-by column 8. concat r[i].c to s[j].c 9. end if 10. end for 11. else 12. append g[i] to groups 13. append r[i] to s 14. end if 15.end for 16.output s
34 Obchod ID Datum Cena ČR ACME WXYZ ACME ACME WXYZ Sada ID Datum Cena ČR ACME [12.02, 12.04, 12.05] [1, 5, 9] WXYZ [43.22, 43.23] [2, 13]
35 A pole, parametr funkce F Each(F, A) 1. B := empty array of the same type of F's result 2. for i = 0 to A append F(A[i]) to B 4. end for 5. output B
36 Schéma: Paket(ID, zdroj, cíl, délka, časové razítko) Dotaz: Počet paketů a průměrná délka paketů v každém datovém toku
37 SELECT zdroj, cíl, avg(délka), count(čr) FROM Paket ASSUMING ORDER zdroj, cíl, čr GROUP BY zdroj, cíl, sums(deltas(čr) > 120) π e each (gby g op (sort zdroj,cíl,cr (Paket))), e = zdroj, cíl, each avg(), délka, each(count(), cr), g = zdroj, cíl, sums(deltas cr > 120)
38 AQUERY: SELECT zdroj, cíl, avg(délka), count(čr) FROM Paket ASSUMING ORDER zdroj, cíl, čr GROUP BY zdroj, cíl, sums(deltas(čr) > 120) SQL99: WITH Předchozí (zdroj, cíl, délka, čr, pč) AS (SELECT zdroj, cíl, délka, čr, min(čr) OVER (PARTITION BY zdroj,cíl ORDER BY čr ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) FROM Paket), Tok (zdroj, cíl, délka, čr, flag) AS (SELECT zdroj, cíl, délka, čr, CASE WHEN čr-pč > 120 THEN 1 ELSE 0 END FROM Předchozí), TokID (zdroj, cíl, délka, čr, tid) AS (SELECT zdroj, cíl, délka, čr, sum(flag) OVER (ORDER BY zdroj, cíl, čr ROWS UNBOUNDED PRECEDING) FROM Tok) SELECT zdroj, cíl, avg(délka), count(čr) FROM TokID GROUP BY zdroj, cíl, tid
39 r A 1,, A n, s B 1,, B m jsou arrably Levě-pravé spojení r a s pomocí predikátu p zachovávající uspořádání r p lrop s
40 join(p, r, s) 1. o:= empty arrable with schema < A 1,, A n, B 1,, B m > 2. for i = 0 to r for j = 0 to s if p(r[i],s[j]) is true 5. Append < A 1,i-,, A n,i-, B 1,j-,, B m,j- >to o 6. end if 7. end for 8. end for 9. output o
41
42 order r = seznam atributů, podle kterých je arrable r implicitně setříděn, tzn. ORDERED BY Můžeme použít pos r odkazujeme na r i = i, pokud se Speciální indexy FIRST a LAST
43 sort A r order r r, A je prefix order r Nemusím třídit setříděné
44 σ p op sort A r A sort A σ p r, p není závislé na uspořádání Můžu posunout třídění až za selekci Selekce může těžit z případného existujícího uspořádání Můžu třídit menší množinu záznamů
45 π op e,i- r order(r) π op e σ pos()=i r Nahrazení projekce s indexem čistou projekcí a konkrétní selekcí na určitou pozici Takové projekce se nazývají implicitní selekce Pokud je pozice na krajích operandu (pole) Hraniční selekce S takovou selekcí mohu posunovat Není potřeba třídit celý vstup
46 Fyzický operátor AQuery Implementuje obecný vzor hraniční selekce op σ edge cond sort r Používá modifikaci heapsortu k udržení správných elementů
47 sort A (r A=B s) A sort A r A, B scema r, s lop A=B s, Třídění výsledku spojení je ekvivalentní setřídění levé strany a následného spojení zachovávající uspořádání Stačí třídit až výsledek spojení
48 op σ A=B,i- r order(r) r A=B σ pos()=i r, A, B scema r Využití výhody implicitního třídění na arrable r Využití self-join Můžeme manipulovat s každou částí různě
49 σ p op r lop A=B s order r σ op p (σ each p gby A r lop A=B s, A, B scema r, s, p je pos() = FIRST or pos() = LAST, B je unikátní Optimalizace hraniční selekce po spojení Nemusím spojovat všechno, hraniční selekce toho dost vyloučí
50 Fyzický operátor Implementuje obecný vzor each σ edge cond gby r Silně optimalizovatelný vzor Nemusím seskupovat všechno, operátor velmi rychle dokáže vyloučit záznamy nevyhovující hraniční podmínce
51 gby A op (sort A,B r ) A,B sort B each (gby A op r ) Výsledek musí být setříděný podle seskupovaných atributů (zachování uspořádání) Seskupování musí probíhat přes prefix tříděných atributů Myšlenka: Třídění probíhá až uvnitř každých seskupení je jich méně, bude to rychlejší
52
53 Motivační příklad 1: Počet akcií obchodů / akcie Zlepšení roste s počtem akcií!!! 8 21 x lepší než SQL99 Důvod: protláčení selekce před tříděním SQL99 nemůže posunovat selekci, plán generuje n- tice, které zahazuje
54 Motivační příklad sessions Různé délky paketů 2K 10K Zlepšení 2 3x proti SQL99 AQuery používá pouze jedno třídění SQL99 si nedokáže poradit se dvěmi nesouvisejícími WINDOW vede ke dvou odlišným tříděním ještě před GROUP BY
55 1 milion obchodů s akciemi Postupně rovnoměrně rozděleno mezi 10, 100, 1000 a akcií Čím více záznamů může Edgeby zahodit, tím rychlejší Průměrně 2x rychlejší než provedení standardního GROUP BY přes celou tabulku
56 1 mil. Obchodů s akciemi Rozděleno do proměnlivého množství akcií Třídění v seskupených záznamech vychází vždy lépe Do 10 různých akcií je zlepšení v 10-kách ms Nad 10 ve 100-kách ms!!!
57 Využití Sort Edge Jednotky ms Nevyužití Sort Edge 100-ky ms Rozdíl jsou 100-ky ms!!!!!
58 Využití semi-join k redukci záznamů určených ke třídění Zlepšení se zastavilo na 100 a více unikátních záznamech určených ke třídění Došlo k situaci, že cena za semi-join začala převyšovat cenu za třídění
59 Strukturální jednoduchost AQuery pomáhá optimalizátoru najít vhodnější plán provedení Redukce práce s využitím Sort Edge a Sort Embedding je VELMI výrazná Transformace dotazů přináší podstatné zlepšení výkonu, zejména při optimalizacích ceny dotazů
60
61 AQuery je následovníkem KSQL Přebírá ze základů KSQL pojem Arrable Snaží se více udržet SQL základy Zavádí pouze jednoduchou klauzuli ASSUMING ORDER
62 Pouze doplňkové optimalizace, bez většího efektu Optimalizační kroky jsou stále oddělené, transformace obsahující redukci / eliminaci třídění nejsou uvažovány při jiných algebraických transformacích
63
64 Dotazy závislé na uspořádání vstupních dat AQuery dotazovací jazyk pro takové dotazy Datový model a algebra jazyka Optimalizační kroky Výsledky experimentů
65 Alberto Lerner, Dennis Shasha: AQuery: Query Language for Ordered Data, Optimization Techniques, and Experiments
66
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
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
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é
Ú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í
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
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
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
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
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í
Ú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
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
IDS optimalizátor. Ing. Jan Musil, IBM ČR Community of Practice for
IDS optimalizátor Ing. Jan Musil, IBM ČR Community of Practice for CEEMEA Agenda Optimalizační plán dotazu Typy přístupových plánů Metody pro spojení tabulek Určení optimalizačního plánu Vyhodnocení přístupových
Ú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
Ú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í
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
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é
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
Dotazování v relačním modelu a SQL
Databázové systémy Dotazování v relačním modelu a SQL Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/YDATA: Přednáška II. 14. říjen, 2016 1 / 35 Opakování Relační
Systémy řízení proudů dat
Systémy řízení proudů dat Tomáš Herceg Dotazovací jazyky I MFF UK 2011 Agenda Motivace Dotazování nad proudy dat a problémy STanford StREam DatA Manager Datový proud (Data Stream) data přicházejí průběžně
Ú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
DATA 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
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
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
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
8. Zpracování dotazu. J. Zendulka: Databázové systémy 8 Zpracování dotazu 1
8. Zpracování dotazu 8.1. Podstata optimalizace zpracování dotazu... 2 8.2. Postup optimalizace zpracování dotazu... 3 8.2.1. Implementace spojení... 5 8.2.2. Využití statistik databáze k odhadu ceny dotazu...11
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
Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem
Test prvočíselnosti Úkol: otestovat dané číslo N, zda je prvočíslem 1. zkusit všechny dělitele od 2 do N-1 časová složitost O(N) cca N testů 2. stačí zkoušet všechny dělitele od 2 do N/2 (větší dělitel
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
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
J. Zendulka: Databázové systémy 8 Zpracování dotazu Podstata optimalizace zpracování dotazu
8. Zpracování dotazu 8.1. Podstata optimalizace zpracování dotazu... 2 8.2. Postup optimalizace zpracování dotazu... 3 8.2.1. Implementace spojení... 5 8.2.2. Využití statistik databáze k odhadu ceny dotazu...11
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í
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
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á
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
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é
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
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
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
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
CS 245: Database System Principles
CS 245: Database System Principles Notes 6: Query Processing Hector Garcia-Molina CS 245 Notes 6 1 Vyhodnocení dotazu Dotaz Strom dotazu Logický plán Úpravy Fyzický plán Vyhodnocení CS 245 Notes 6 2 Příklad
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
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
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í
Novinky v PostgreSQL 9.4. Tomáš Vondra, 2ndQuadrant
Novinky v PostgreSQL 9.4 Tomáš Vondra, 2ndQuadrant (tomas@2ndquadrant.com) http://blog.pgaddict.com (tomas@pgaddict.com) vývojáři JSONB aggregate expressions (FILTER) SELECT a, SUM(CASE WHEN b < 10 THEN
Databázové systémy trocha teorie
Databázové systémy trocha teorie Základní pojmy Historie vývoje zpracování dat: 50. Léta vše v programu nevýhody poměrně jasné Aplikace1 alg.1 Aplikace2 alg.2 typy1 data1 typy2 data2 vytvoření systémů
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é
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
J. Zendulka: Databázové systémy 4 Relační model dat 1
4. Relační model dat 4.1. Relační struktura dat... 3 4.2. Integritní pravidla v relačním modelu... 9 4.2.1. Primární klíč... 9 4.2.2. Cizí klíč... 11 4.2.3. Relační schéma databáze... 13 4.3. Relační algebra...
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í
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
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í
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
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
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í
XML databáze. Přednáška pro kurz PB138 Moderní značkovací jazyky Ing. Petr Adámek
XML databáze Přednáška pro kurz PB138 Moderní značkovací jazyky 22. 4. 2003 Ing. Petr Adámek xadamek2@fi.muni.cz http://www.bilysklep.cz/petr/ XML databáze Proč XML databáze Efektivní ukládání a vyhledávání
Vyhodnocování dotazů slajdy k přednášce NDBI001. Jaroslav Pokorný MFF UK, Praha
Vyhodnocování dotazů slajdy k přednášce NDBI001 Jaroslav Pokorný MFF UK, Praha pokorny@ksi.mff.cuni.cz Časová a prostorová složitost Jako dlouho trvá dotaz? CPU (cena je malá; snižuje se; těžko odhadnutelná)
Databázové systémy. Dotazovací jazyk SQL - II
Databázové systémy Dotazovací jazyk SQL - II SELECT I SELECT FROM WHERE GROUP BY HAVING
4. Relační model dat. J. Zendulka: Databázové systémy 4 Relační model dat 1
4. Relační model dat 4.1. Relační struktura dat... 3 4.2. Integritní pravidla v relačním modelu... 9 4.2.1. Primární klíč... 9 4.2.2. Cizí klíč... 11 4.2.3. Relační schéma databáze... 13 4.3. Relační algebra...
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
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)
37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody
37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody Využití databázových indexů Databázové indexy slouží ke zrychlení přístupu k datům a měly by se používat
Třídění a vyhledávání Searching and sorting
Třídění a vyhledávání Searching and sorting Jan Kybic http://cmp.felk.cvut.cz/~kybic kybic@fel.cvut.cz 2016 1 / 33 Vyhledávání Třídění Třídící algoritmy 2 / 33 Vyhledávání Searching Mějme posloupnost (pole)
Ú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
Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky
Otázka 20 A7B36DBS Zadání... 1 Slovníček pojmů... 1 Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky... 1 Zadání Relační DB struktury sloužící k optimalizaci
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:
Databá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
Databázové systémy. Agregace, sumarizace, vnořené dotazy. Vilém Vychodil
Databázové systémy Agregace, sumarizace, vnořené dotazy Vilém Vychodil KMI/DATA1, Přednáška 7 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 7) Agregace, sumarizace, vnořené dotazy Databázové systémy
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
Stored Procedures & Database Triggers, Tiskové sestavy v Oracle Reports
, Marek Rychlý Vysoké učení technické v Brně Fakulta informačních technologií Ústav informačních systémů Demo-cvičení pro IDS 9. dubna 2014 Marek Rychlý Stored Procedures & Database Triggers, Demo-cvičení
Dotazy v SQL. Výraz relační algebry R1( )[A1,A2,...,Aj] lze zapsat takto: SELECT A1,A2,...,Aj FROM R1 WHERE. Výraz (R1, R2... Rk)( )[A1,A2,...
Jazyk SQL 1 Přehled SQL 1) jazyk pro definici dat (DDL), 2) jazyk pro manipulaci dat (DML), 3) jazyk pro definice pohledů 4) jazyk pro definice IO 5) jazyk pro přiřazení přístupových práv (DCL) 6) řízení
Kurz Databáze. Prezentace dat. Obsah. Tiskové sestavy (Report) Ing. Jolana Škutová
Kurz Databáze Prezentace dat Ing. Jolana Škutová Obsah Sestavy: tvorba, členění, zobrazení a kontrola platnosti zobrazení zdrojových dat. Třídění a seskupování záznamů v sestavě. Agregované výpočty, číslování
SQL - SELECT. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, P edn. 7
SQL - SELECT Ing. Michal Valenta PhD. Katedra softwarového inºenýrství Fakulta informa ních technologií ƒeské vysoké u ení technické v Praze c Michal Valenta, 2010 Databázové systémy BI-DBS ZS 2010/11,
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é
MS 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
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
Analýza a modelování dat 3. přednáška. Helena Palovská
Analýza a modelování dat 3. přednáška Helena Palovská Historie databázových modelů Relační model dat Codd, E.F. (1970). "A Relational Model of Data for Large Shared Data Banks". Communications of the ACM
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
Kapitola 3: Relační model. Základní struktura. Relační schéma. Instance relace
- 3.1 - Struktura relačních databází Relační algebra n-ticový relační kalkul Doménový relační kalkul Rozšířené operace relační algebry Modifikace databáze Pohledy Kapitola 3: Relační model Základní struktura
RDF a RDF Query. Jakub Nerad 1. prosince Nerad () RDF a RDF Query 1. prosince / 16
RDF a RDF Query Jakub Nerad jakubnerad@gmail.com 1. prosince 2009 Nerad () RDF a RDF Query 1. prosince 2009 1 / 16 Součastnost Součastnost množství informací zpracování pomocí statistické analýzy problém
OQL. (Object Query Language) Michal Bartoš Filip Bureš
OQL (Object Query Language) Michal Bartoš Filip Bureš Obsah (1) ODMG Základní vlastnosti OQL Struktura dotazu Datové typy Práce s objekty Tvorba objektů Objektová databáze Rozdíly oproti relační databázi:
Object Query Language. Daniel Fromek Miroslav Novotný
Object Query Language Daniel Fromek Miroslav Novotný MFF UK 2005 Relace vs. Objekty Z psychologického hlediska nám jsou bližší objekty. Žijeme v objektovém světe milionům let evoluce vděčíme za to, že
Optimalizace & soft omezení: algoritmy
Optimalizace & soft omezení: algoritmy Soft propagace Klasická propagace: eliminace nekonzistentních hodnot z domén proměnných Soft propagace: propagace preferencí (cen) nad k-ticemi hodnot proměnných
Informační systémy 2008/2009. Radim Farana. Obsah. Jazyk SQL
4 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Jazyk SQL, datové typy, klauzule SELECT, WHERE, a ORDER BY. Doporučená
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
Obsah. SQL konstrukce select join Rekurze (rekurzivní with) Analytické funkce, group by Pivoting
Cvičení 5 SQL 1 Obsah SQL konstrukce select join Rekurze (rekurzivní with) Analytické funkce, group by Pivoting 2 2 Oracle Model 3 3 Načtení modelu z katalogu Napojení: IP adresa: 193.85.191.165 Port:
Angličtina v matematických softwarech 2 Vypracovala: Mgr. Bronislava Kreuzingerová
Angličtina v matematických softwarech 2 Vypracovala: Mgr. Bronislava Kreuzingerová Název školy Název a číslo projektu Název modulu Obchodní akademie a Střední odborné učiliště, Veselí nad Moravou Motivace
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
Úvod do databázových systémů 1. cvičení
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů 1. cvičení Ing. Petr Lukáš petr.lukas@nativa.cz Ostrava, 2013 Úvod do databázových systémů
Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7
Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí
Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.
Primární a cizí klíč Kandidát primárního klíče (KPK) Je taková množina atributů, která splňuje podmínky: Unikátnosti Minimálnosti (neredukovatelnosti) Primární klíč (Primary Key - PK) Je právě jedna množina
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
Michal Krátký, Miroslav Beneš
Databázové a informační systémy Michal Krátký, Miroslav Beneš Katedra informatiky VŠB Technická univerzita Ostrava 5.12.2005 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 1/24 Obsah
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í =, , >=,
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é
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
Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy
Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 Procesor Procesorem je objekt, který vykonává algoritmem popisovanou
Jazyk SQL slajdy k přednášce NDBI001
Jazyk SQL slajdy k přednášce NDBI001 Jaroslav Pokorný MFF UK, Praha pokorny@ksi.mff.cuni.cz Dotazovací jazyky 1 Přehled SQL92 1) jazyk pro definici dat, 2) interaktivní jazyk pro manipulaci dat, 3) jazyk
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
5. Formalizace návrhu databáze
5. Formalizace návrhu databáze 5.1. Úvod do teorie závislostí... 2 5.1.1. Funkční závislost... 2 5.1.2. Vícehodnotová závislost (multizávislost)... 7 5.1.3. Závislosti na spojení... 9 5.2. Využití teorie
Databázové a informační systémy Jana Šarmanová
Databázové a informační systémy Jana Šarmanová Obsah Úloha evidence údajů, způsoby evidování Databázové technologie datové modely, dotazovací jazyky. Informační systémy Datové sklady Metody analýzy dat