David Gešvindr MCT | MSP | MCITP | MCPD. Jak se zpracovává dotaz? Když norma nestačila Práce s XML Geografická data CTE Zpracování hierarchií a grafů.

Slides:



Advertisements
Podobné prezentace
Aplikační a programové vybavení
Advertisements

KIV/ZIS Cvičení 6 SQL - SELECT.
SQL Další dotazy a pohledy
SQL: DDL v ORACLE CREATE TABLE jméno_tabulky (atribut datový_typ [DEFAULT][attribut_constraint] [, atribut datový_typ [DEFAULT] [attribut_constraint]],...
Aplikační a programové vybavení
Jazyk SQL Ing. Zdena DOBEŠOVÁ. SQL Structured Query Language 1974 SEQUEL (Structured English Query Language) neprocedurální relační dotazovací jazyk norma.
 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
DB1 – 9. cvičení Optimalizace dotazu Konkurenční přístup a deadlock Indexace Transakce.
Databázové systémy SQL Výběr dat.
YDASYS1 Ing. Monika Šimková.
Fakulta elektrotechniky a informatiky
Informační systémy Nástroje pro sběr dat, návrh a realizace databáze.
AGREGACE Distinct, Group By, Having, SUM, …. DISTINCT  Slučování stejných řádků ve výsledku dotazu. AGREGACE 2 JménoPříjmeníID FrantišekVomáčka1 JosefPokorný2.
Další dotazy SQL Structured Query Language. Některé SQL příkazy mohou mít v sobě obsaženy další kompletní příkazy SELECT. Využijeme je tam, kde potřebujeme.
SQL Structured Query Language
Informatika pro ekonomy II přednáška 11
Architektury a techniky DS Tvorba efektivních příkazů I Přednáška č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy I Přednáška č. 5 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
Radek Špinka Přepínače MSSQL výběr.
Úvod do databází Databáze.
Martin Kirschbaum 4.A,  určitá uspořádaná množina informací (dat) uložená na paměťovém médiu  Databázový program - umožňuje tvořit, editovat,
SQL Přednáška DB1. Literatura CONNOLLY, T.M.-BEGG,C.E.-STRACHAN,A.D.: Database Systems – A Practial Approach to Design, Implementation and Management.
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
Databázové systémy II Přednáška č. 9 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Fakulta elektrotechniky a informatiky
Uložení a analýza bodového mračna bodů v Oracle Spatial Fakulta aplikovaných věd / Katedra matematiky Západočeská univerzita v Plzni Bc. Michal.
Databázové systémy teorie a návrh relačních databázových systémů část II.
Metainformační systém založený na XML Autor: Josef Mikloš Vedoucí práce: Ing. Jan Růžička, Ph.D. V/2004.
KIV/ZIS cvičení 6 Tomáš Potužák. Pokračování SQL Klauzule GROUP BY a dotazy nad více tabulkami Stáhnout soubor studenti_dotazy_sql.mdb.
Databázové systémy Přednáška č. 6.
SQL – základní pojmy Ing. Roman Danel, Ph.D.
SQL PVA Jan Hora. SQL „graficky“ Grafický vs. pravý SQL SELECT ORDED BY WHERE.
Rauer Luboš Kopic Petr Blažek Tomáš. Structured Query Language - dotazovací jazyk -> pracuje s dotazy - neprocedurální jazyk - mocný, ale přitom jednoduchý.
Novinky v SQL 2008 Piotr Grodzicki. Microsoft SQL Server Management Studio o Barevná indikace, volba databáze o Dedikované připojení pro administrátora.
Architektury a techniky DS Cvičení č. 9 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy Tomáš Skopal
Využití XML v DB aplikacích Michal Kopecký Výběr ze slajdů k 7. přednášce předmětu Databázové Aplikace (DBI026) na MFF UK.
Informatika II PAA DOTAZOVACÍ JAZYKY
RDF a RQL Roman Krejčík. RDF a RQL RDF – Resource Description Framework –Jazyk pro ukládání informací v XML –RDF Schema RQL – RDF Query Language –Dotazování.
Aplikační a programové vybavení
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B13 Autor Ing. Jiří Kalousek Období vytvoření březen.
Databázové systémy SQL Výběr dat.
XML data na disku jako databáze Kamil Toman
Administrace Oracle Paralelní zpracování.
SQL Další dotazy a pohledy Databázové systémy. Některé SQL příkazy mohou mít v sobě obsaženy další kompletní příkazy SELECT. Využijeme je tam, kde potřebujeme.
Ověření Možnosti Využití Jazyka XML a Formátu SVG Pro Potřeby Metainformačního Systému CAGI Zpracovatel:tomáš duchoslav Vedoucí: ing. Jan růžička.
Databázové systémy I Přednáška č. 6 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Příkazy jazyka SQL ve VFP a na SQL Serveru
Perzistence XML dat Kamil Toman
24 Používání relačních databází (základní pojmy a principy z oblasti relačních databází, struktura databáze,oblasti použití relačních databází, vkládání.
Zpracování XML a JSON dat na MS SQL Serveru
Databázové systémy přednáška 6 – Indexy
SQL – příkaz SELECT Ing. Roman Danel, Ph.D.
Databázové systémy I Přednáška 5 Databázové systémy 1 – KIT/IDAS1
Databázové systémy I Přednáška 8 Databázové systémy 1 – KIT/IDAS1
Databázové systémy a SQL
Ing. Tomáš Váňa, Ing. Jiří Zechmeister
Databázové systémy a SQL
Databázové systémy a SQL
Šablona 32 VY_32_INOVACE_038.ICT.34
[ START WITH podmínka ] CONNECT BY podmínka
A5M33IZS – Informační a znalostní systémy
Optimalizace SQL dotazů
Počítačová cvičení z předmětu Datové sklady
Dotazovací jazyk SQL - II
Přednáška 7 SQL – JOIN.
Přednáška 9 Triggery.
Databázové systémy a SQL
Transkript prezentace:

David Gešvindr MCT | MSP | MCITP | MCPD

Jak se zpracovává dotaz? Když norma nestačila Práce s XML Geografická data CTE Zpracování hierarchií a grafů Píšeme uložené procedury v C#

Popisuje chování dotazu Jeho fáze, jejich vstupy a výstupy nutně nesouvisí s vlastním fyzickým zpracováním dotazu

SELECT DISTINCT TOP FROM JOIN ON WHERE GROUP BY HAVING ORDER BY

Customers CustomerIDName 1David 2Jirka 3Martin Orders OrderIDCustomerID X CROSS JOIN Customers. CustomerID Customers. Name Orders. OrderID Orders. CustomerID 1David Martin44... VT1

Customers. CustomerID Customers. Name Orders. OrderID Orders. CustomerID 1David Martin44... ON CONDITION Customers.CustomerID = Orders.CustomerID Customers. CustomerID Customers. Name Orders. OrderID Orders. CustomerID 1David Jirka22 = INNER JOIN VT1 VT2

Customers. CustomerID Customers. Name Orders. OrderID Orders. CustomerID 1David Jirka22 VT2 Customers. CustomerID Customers. Name Orders. OrderID Orders. CustomerID 1David Jirka22 3MartinNULL VT3

Customers. CustomerID Customers. Name Orders. OrderID Orders. CustomerID 1David Jirka22 VT2 Customers. CustomerID Customers. Name Orders. OrderID Orders. CustomerID 1David Jirka22 NULL 44 VT3

Customers. CustomerID Customers. Name Orders. OrderID Orders. CustomerID 1David Jirka22 VT2 Customers. CustomerID Customers. Name Orders. OrderID Orders. CustomerID 1David Jirka22 3MartinNULL 44 VT3

SELECT DISTINCT TOP FROM JOIN ON WHERE GROUP BY HAVING ORDER BY

V podmínce ON, WHERE a HAVING: NULL chápáno jako FALSE V check-constraint: NULL chápáno jako TRUE V GROUP BY, ORDER BY a UNIQUE omezeních jsou si NULL rovny Three-valued Logic True False Unknown VT3 VT4

Customers. CustomerID Customers. Name Orders. OrderID Orders. CustomerID 1David Jirka22 3MartinNULL VT4 GROUP BY Customers.CustomerID GROUPSRAW Customers. CustomerID Customers. Name Orders. OrderID Orders. CustomerID 1David Jirka22 3MartinNULL VT5

HAVING COUNT(Orders.OrderID) > 0 VT5 GROUPSRAW Customers. CustomerID Customers. Name Orders. OrderID Orders. CustomerID 1David Jirka22 3MartinNULL GROUPSRAW Customers. CustomerID Customers. Name Orders. OrderID Orders. CustomerID 1David Jirka22 VT6

Vyhodnocení výrazů v části SELECT Vytvořené aliasy sloupců použitelné až v dalších krocích „All-at-once“ SELECT c1 + 1 AS e1, e1 + 1 AS e2 UPDATE Customers SET FirstName = LastName, LastName = FirstName UPDATE dbo.T1 SET c1 = c1 + (SELECT MAX(c1) FROM dbo.T1) VT6 VT7

Odstranění duplicitních řádků Redundantní s GROUP BY VT7 VT8

Vrání n prvních výsledků z dodaného tabulky Pokud je definováno ORDER BY, ovlivní pořadí řádků WITH TIES Deterministický x nedeterministický VT8 VT9

Seřazení množiny výsledků Dle ANSI SQL:1999 při použití DISTINCT jsme omezeni na sloupce vracené příkazem SELECT (VT7), jinak použitelná i VT6 Vrací kurzor Nelze použít jako table-expression View, Inline table-valued function, subquery, derived table nebo common table expression VT9 VC10

SELECT DISTINCT TOP FROM JOIN ON WHERE GROUP BY HAVING ORDER BY

Customers CustomerIDName 1David 2Jirka 3Martin Orders OrderIDCustomerID 31 Customers. CustomerID Customers. Name Orders. OrderID Orders. CustomerID 1David31 2Jirka22 SELECT TOP 1 * WHERE Orders.CustomerID = Customers.CustomerID ORDER BY Orders.OrderID DESC

Customers CustomerIDName 1David 2Jirka 3Martin Orders OrderIDCustomerID 31 Customers. CustomerID Customers. Name Orders. OrderID Orders. CustomerID 1David31 2Jirka22 3MartinNULL SELECT TOP 1 * WHERE Orders.CustomerID = Customers.CustomerID ORDER BY Orders.OrderID DESC

CustomerIDCityCategory 1BrnoSmall 2BrnoMedium 3PrahaLarge 4PrahaLarge 5OstravaMedium CitySmallMediumLarge Brno110 Praha002 Ostrava010

CitySmallMediumLarge Brno110 Praha002 Ostrava010 CityCategoryCustomersCount BrnoSmall1 BrnoMedium1 PrahaLarge2 OstravaMedium1

Ne na vše je relační podoba dat vhodná Převod dat z XML do relační podoby jen kvůli uložení nemusí být výhodný XML je univerzální formát pro výměnu dat Zjednodušení importu a exportu dat

Od verze 2005 Uložení XML do tabulky Datový typ XML (XML index) Podpora XML schémat XML document / XML fragment Generování XML z relačních dat Konverze XML na relační data Použití xquery v dotazech

FOR XML Rozšiřuje příkaz SELECT Nastavitelný formát výstupu Několik režimů AUTO, EXPLICIT, RAW, PATH Výhody Klient obdrží přímo XML Velmi rychlý export do XML

Výhodné pro import XML XML je převedeno na tabulku se kterou je možné pracovat Postup: 1.sp_XML_preparedocument 2.OPENXML 3.sp_xml_removedocument

Xquery Dostupné metody: Value Exists Query Nodes Výhody: Omezení síťového provozu Vyšší bezpečnost Lepší výkon

Microsoft SQL Server 2008 Možnost uložení geografických a geometrických dat Data jsou ukládána jako serializované instance geografických objektů Pokročilé možnosti dotazování Dobrý výkon – spatial indexy

Dostupné statické metody STPointFromText / STPointFromWKB STLineFromText / STLineFromWKB STPolyFromText / STPolyFromWKB Dostupné metody STArea, STAsText, STDistance, STIntersects, STLength, STUnion, STEquals

Table Valued Expression Obdoba derived table Výhody: Zpřehlednění kódu Tvorba rekurzivních dotazů

Využití Uložení organizační struktury Souborový systém Úkoly v projektech Možnosti uložení Tabulka s cizími klíči XML Hierarchyid

Nativní způsob pro uložení hierarchických dat Výhody Malá velikost Indexované Depth-firstBreadth-first

BEN-GAN, Itzik, et al. Inside Microsoft SQL Server 2008: T-SQL Querying. Redmond, Washington : Microsoft Press, s.

David Gešvindr