Architektury databázových



Podobné dokumenty
KIV/ZIS - SELECT, opakování

KIV/ZIS - SQL dotazy. stáhnout soubor ZIS- 04_TestovaciDatabaze accdb. SQL dotazy. budeme probírat pouze SELECT

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

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

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

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

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

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

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

Databázové systémy I

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

Semestrální práce z DAS2 a WWW

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

PG 9.5 novinky ve vývoji aplikací

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

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

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

Databázové systémy a SQL

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

MS Access Dotazy SQL

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

Paralelní dotazy v PostgreSQL 9.6 (a 10.0)

Optimalizace SQL dotazů

Co bude výsledkem mého SELECTu? RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT

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

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

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

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

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

Databáze SQL SELECT. David Hoksza

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

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

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

Datové modelování II

IDS optimalizátor. Ing. Jan Musil, IBM ČR Community of Practice for

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

TimescaleDB. Pavel Stěhule 2018

RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 3.4.

Multi-dimensional expressions

KIV/ZIS cvičení 2. Martin Kryl

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

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

37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody

FAKULTA STAVEBNÍ STUDIJNÍ PROGRAM: GEODÉZIE A KARTOGRAFIE TYP PROGRAMU: MAGISTERSKÝ STUDIJNÍ OBOR: GEOMATIKA ÚVOD DO ZPRACOVÁNÍ PROSTOROVÝCH DAT

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

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

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.

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

KIV/ZIS - cvičení. je dobré chodit na cvičení, lépe se pak vypracovávají semestrálky. první 2 týdny podle kapacity 1/37

Stručný obsah. K2118.indd :15:27

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

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

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

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

Úvod do SQL v systému SAS Martin Branda

Databáze I. 5. přednáška. Helena Palovská

Instalace. 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.

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

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

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava

Internetová filmová databáze IFDB

KIV/ZIS - primární klíč

INDEXY JSOU GRUNT. Pavel Stěhule

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

Novinky v PostgreSQL 9.4. Tomáš Vondra, 2ndQuadrant

8. Zpracování dotazu. J. Zendulka: Databázové systémy 8 Zpracování dotazu 1

J. Zendulka: Databázové systémy 8 Zpracování dotazu Podstata optimalizace zpracování dotazu

Rezervační systém Tvorba WWW stránek

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

KIV/ZIS - primární klíč

Databáze. datum jmeno prijmeni adresa_ulice adresa_mesto cislo_uctu platba zustatek

Microsoft Access. Úterý 26. února. Úterý 5. března. Typy objektů databáze: Vytvoření a návrh nové tabulky

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

KIV/ZIS Základy informačních systémů

Marketingová komunikace. 3. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK3PH (vm3bph)

ÚVOD DO DATABÁZÍ. Metodické listy pro předmět

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

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

Spark SQL, Spark Streaming. Jan Hučín

WORD. 4. Texty vyskytují se v dokumentu 3x mají zelenou barvu

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

Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky. 9. června krovacek@students.zcu.cz

Spark SQL, Spark Streaming. Jan Hučín

Základy relačních databází, jejich využití v programování webu

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

Databáze I. 1. přednáška. Helena Palovská

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

Operátory ROLLUP a CUBE

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

Tvorba informačních systémů

5. blok Souhrnné a skupinové dotazy

KIV/ZIS - cvičení 1/39

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

Optimalizace dotazů a databázové transakce v Oracle

Programování v jazyku C# II. 5.kapitola

Fyzické uložení dat a indexy

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

SEMESTRÁLNÍ PRÁCE. z předmětu KIV/DB1

Transkript:

Univerzita Pardubice Fakulta elektrotechniky a informatiky Semestrální práce na Architektury databázových systémů Matěj Trakal Poslední úprava: 8. listopadu 2010

INADS 2010 (Žák) OBSAH Obsah 1 Zadání 2 2 Vypracování 2 2.1 Dotaz 1: Zjistěte seznam pošt v okrese Pardubice.......... 2 2.1.1 Postup vykonávání dotazů................... 2 2.1.2 Zrychlení dotazu........................ 3 2.1.3 Postup vykonávání dotazů po optimalizaci.......... 3 2.2 Dotaz 2: Najděte PSČ všech částí obcí v obci Hradec Králové... 4 2.2.1 Postup vykonávání dotazů................... 4 2.2.2 Zrychlení dotazu........................ 4 2.2.3 Postup vykonávání dotazů po optimalizaci.......... 5 2.3 Dotaz 3: Zjistěte, kolik procent domácností v okrese Kolín si nepřeje vkládat reklamní materiály....................... 5 2.3.1 Postup vykonávání dotazů................... 6 2.3.2 Zrychlení dotazu........................ 7 2.3.3 Postup vykonávání dotazů po optimalizaci.......... 7 Matěj Trakal fei.trtkal.net 1

1 Zadání Vybrané exekuční plány 3 dotazů zkopírujte jako obrázky do pdf souboru a odevzdejte do 9.11.2010 včetně přes STAG odevzdávání prací blok Exekuční plány téma Skupina (den v týdnu týdnu a hodina, kdy chodíte na cvičení), označení souboru Prijmeni Jmeno dotazy Posty.pdf Všechny 3 exekuční plány popište, aby z popisu bylo zřejmé: jaké druhy spojení a přístupů jsou použity (česky), jak jdou operace za sebou, jaké indexy se používají a k čemu. Minimálně jeden popisovaný exekuční plán musí být nad dotazem, který spojuje minimálně 3 tabulky. 2 Vypracování U popisků vynechávám v názvech tabulek a případných indexech nápis CV04, pro zjednodušení a přehlednost práce. 2.1 Dotaz 1: Zjistěte seznam pošt v okrese Pardubice select distinct s1. from st22312. cv04 posta s1 l e f t join cv04 cobce s2 on s1. psc = s2. psc l e f t join cv04 obce s3 on s2. i d o b c e = s3. i d o b c e where s3. kod okresu = ( select kod okresu from st22312. cv04 okres where naz okresu = Pardubice ) ; 2.1.1 Postup vykonávání dotazů 1. Celé prohledání tabulky posta 2. Prohledání celé tabulky cobce 3. Celé prohledání tabulky okres s filtrem na název okresu Pardubice 4. Hash spojení všech tabulek s ohledem na primární klíče Matěj Trakal fei.trtkal.net 2

Obrázek 1: První dotaz před úpravou exekučního plánu 2.1.2 Zrychlení dotazu Z obrázku 1 je patrné, že pro vykonávání naz_okresu = Pardubice je použito plné prohledání tabulky. Vytvořením indexu nad sloupečkem naz okresu se nemusí chodit pro výsledek do tabulky a lze využít indexu, což urychlí vykonání dotazu, viz obrázek 2. 2.1.3 Postup vykonávání dotazů po optimalizaci 1. Celé prohledání tabulky posta, 2. rychlé prohledání indexu cobce, 3. prohledání indexu s unikátními klíči idx_naz_okresu, 4. prohledání tabulky okres dle indexů řádků, 5. prohledání celé tabulky obce, 6. hash spojení všech tabulek. Matěj Trakal fei.trtkal.net 3

Obrázek 2: První dotaz po úpravě exekučního plánu 2.2 Dotaz 2: Najděte PSČ všech částí obcí v obci Hradec Králové select s3. psc from cv04 posta s3, cv04 cobce s2, cv04 obce s1 where s1. naz obce = Hradec Králové and s1. i d o b c e = s2. i d o b c e and s2. psc = s3. psc order by s3. psc ; 2.2.1 Postup vykonávání dotazů 1. Prohledání unikátního indexu psc_pkx, 2. prohledání indexu metudou range scan, 3. přístup do tabulky cobce dle indexu řádků, 4. prohledání celé tabulky obce s restrikcí na název obce Hradec Králové, 5. seřazení tabulky. 2.2.2 Zrychlení dotazu Z obrázku 4 je patrné, že přidáním indexů nad sloupce, kde nastával samotný přístup do tabulky a její úplné prohledání, se výsledky zlepšily. Matěj Trakal fei.trtkal.net 4

Obrázek 3: Druhý dotaz před úpravou exekučního plánu 2.2.3 Postup vykonávání dotazů po optimalizaci 1. Prohledání unikátního indexu psc_pkx, 2. range scan prohledání indexu idx_cobce, 3. range scan nad indexem idx_naz_okresu, 4. prohledání tabulky obce dle indexů řádků, 5. seřazení tabulky. 2.3 Dotaz 3: Zjistěte, kolik procent domácností v okrese Kolín si nepřeje vkládat reklamní materiály with ws1 as ( select distinct s1. psc, s1. pocdom rpm from cv04 posta s1 l e f t join cv04 cobce s2 on s1. psc = s2. psc l e f t join cv04 obce s3 on s2. i d o b c e = s3. i d o b c e where s3. kod okresu = ( select kod okresu from cv04 okres where naz okresu = Kolín ) ), ws2 as ( select count ( ) celkem from cv04 schranky s1 Matěj Trakal fei.trtkal.net 5

Obrázek 4: Druhý dotaz po úpravě exekučního plánu l e f t join ws1 s2 on s1. psc = s2. psc ), ws3 as ( select sum( ws1. pocdom rpm ) celkem rpm from ws2, ws1 ) select ( ws2. celkem /( ws2. celkem ws3. celkem rpm )) 100 NO RPM from ws2, ws3 ; Obrázek 5: Třetí dotaz před úpravou exekučního plánu 2.3.1 Postup vykonávání dotazů 1. Úplné prohledání tabulky cobce, Matěj Trakal fei.trtkal.net 6

2. úplné prohledání tabulky obce a jejich spojení, 3. úplné prohledání tabulky posta, 4. spojení těchto tabulek na unikátnost. 5. Druhou část dotazu pro zjednodušení neuvádím (vycházím z obrázků), 6. její seřazení. 2.3.2 Zrychlení dotazu Z obrázku 6 je patrné, že přidáním indexu nad nejnáročnější událost (úplné procházení tabulky cobce) změní její úplné procházení za rychlé procházení indexu, čímž klesne cena výpočtu. 2.3.3 Postup vykonávání dotazů po optimalizaci 1. Celé prohledání tabulky posta, 2. rychlé prohledání indexu idx_cobce, 3. úplné prohledání tabulky obce (což nechápu, jelikož je nad všemi sloupci index), 4. spojení dle unikátnosti záznamů. Obrázek 6: Třetí dotaz po úpravě exekučního plánu Matěj Trakal fei.trtkal.net 7