načítání...


menu
nákupní košík
Košík

je prázdný
a
b

E-kniha: 1001 tipů a triků pro SQL – Ľuboslav Lacko

1001 tipů a triků pro SQL

Elektronická kniha: 1001 tipů a triků pro SQL
Autor: Ľuboslav Lacko

Publikace na praktických ukázkách demonstruje možnosti moderních databázových platforem. Tipy jsou rozděleny do tří kategorií: pro začátečníky, pokročilé a znalce. Součástí je CD se zdrojovými kódy a odkazy. ... (celý popis)
Titul je skladem - ke stažení ihned
Médium: e-kniha
Vaše cena s DPH:  199
+
-
6,6
bo za nákup

hodnoceni - 79.9%hodnoceni - 79.9%hodnoceni - 79.9%hodnoceni - 79.9%hodnoceni - 79.9% 100%   celkové hodnocení
2 hodnocení + 0 recenzí

Specifikace
Nakladatelství: » Computer press
Dostupné formáty
ke stažení:
PDF
Upozornění: většina e-knih je zabezpečena proti tisku a kopírování
Médium: e-book
Rok vydání: 2015
Počet stran: 416
Rozměr: 23 cm + 1 CD-ROM
Úprava: ilustrace
Vydání: Vyd. 1.
Spolupracovali: překlad Lukáš Krejčí
Skupina třídění: Programování. Software
Jazyk: česky
ADOBE DRM: bez
Nakladatelské údaje: Brno, Computer Press, 2011
ISBN: 978-80-251-3010-0
Ukázka: » zobrazit ukázku
Popis / resumé

Publikace na praktických ukázkách demonstruje možnosti moderních databázových platforem. Tipy jsou rozděleny do tří kategorií: pro začátečníky, pokročilé a znalce. Součástí je CD se zdrojovými kódy a odkazy.

Popis nakladatele

Využívá váš projekt databázi k ukládání dat? Potřebujete vyřešit spolupráci s tímto úložištěm rychle a efektivně? Nebo pracujete jenom s databázemi a hledáte, jak vaše SQL dotazy napsat lépe a elegantněji? Tato kniha nabízí více než tisíc tipů a triků, jak využít SQL a databáze na maximum.

Zkušený autor, který patří mezi špičkové experty na problematiku databází, vás v krátkých radách a návodech seznámí nejen se základními operacemi, ale i řadou pokročilých technik, které řeší určitý specifický problém. Najdou zde inspiraci začátečníci, pokročilí, ale i profesionálové, kteří se bez SQL a databází ve svých projektech neobejdou. Jednotlivé rady jsou přehledně členěny do tématických sekcí, nalezení požadované odpovědi je tak dílem okamžiku.

Kniha vám mimo jiné ukáže, jak:
* Zjistit duplicity v databázi
* Použít indexy při vyhledávání
* Ošetřit sdílený přístup více uživatelů
* Importovat a exportovat údaje
* Pracovat s procedurami, funkcemi a spouštěmi
* Vybrat údaje z tabulky do souboru XML
* Ukládat geometrické údaje do databázové tabulky
* Řídit přístup k údajům pomocí pohledů

O autorovi
Ľuboslav Lacko je předním slovenským odborníkem na databázové technologie a webové programování, působí jako školitel a konzultant. Publikuje články a seriály v odborných časopisech a je autorem desítek knih a příruček.

Předmětná hesla
Zařazeno v kategoriích
Ľuboslav Lacko - další tituly autora:
 (kniha + DVD)
Oracle -- Správa, programování a použití databázového systému Oracle
Jak vyzrát na Microsoft SQL Server 2008 -- Správa, konfigurace, programování Jak vyzrát na Microsoft SQL Server 2008
 (e-book)
Osobní cloud pro domácí podnikání a malé Osobní cloud pro domácí podnikání a malé
Mistrovství - Android Mistrovství
 (e-book)
Mistrovství - Android Mistrovství
Vývoj aplikací pro iOS Vývoj aplikací pro iOS
 
Recenze a komentáře k titulu
Zatím žádné recenze.


Ukázka / obsah
Přepis ukázky

Luboslav Lacko

1001 tipů a triků pro SQL

Computer Press, a. s.

Brno

2011


1001 tipů a triků pro SQL Luboslav Lacko Computer Press, a. s., 2011. Vydání první. Computer Press, a. s., Holandská 3, 639 00 Brno Objednávky knih: http://knihy.cpress.cz distribuce@cpress.cz tel.: 800 555 513 ISBN 978-80-251-3010-0 Prodejní kód: K1932 Vydalo nakladatelství Computer Press, a. s., jako svou 4133. publikaci. © Computer Press, a. s. Všechna práva vyhrazena. Žádná část této publikace nesmí být kopírována a rozmnožována za účelem rozšiřování v jakékoli formě či jakýmkoli způsobem bez písemného souhlasu vydavatele. Překlad: Lukáš Krejčí Jazyková korektura: Martina Mojzesová Sazba: René Kašík Rejstřík: Daniel Štreit Obálka: Martin Sodomka Komentář na zadní straně obálky: Martin Herodek

Technická spolupráce: Jiří Matoušek,

Zuzana Šindlerová, Dagmar Hajdajová

Odpovědný redaktor: Martin Herodek

Technický redaktor: Jiří Matoušek

Produkce: Petr Baláš


Stručný obsah

Úvod 33

Výběr vhodné databáze 35

Základy databázové teorie 45

Základy jazyka SQL 63

Databázové tabulky 71

Normalizace databází 89

Pohledy 95

Vkládání, aktualizace a mazání údajů 101

Výběr údajů 117

Spojování údajů z více tabulek a databází 133

Výběr pomocí vnořených dotazů 149

Funkce jazyka SQL 157

Seskupování údajů 191

Indexy 197

Kurzory 203

Transakce a konzistentnost 209

Zachování konzistentnosti údajů 213

Zálohování, import a export údajů 217

Komprese, šifrování a audit údajů 233

Procedurální nadstavby jazyka SQL 241

Uložené procedury, funkce a spouště 257

XML jako nativní formát pro ukládání údajů 267

Vyhledávání v textu 297

Ukládání geografických a geometrických (prostorových) údajů 305


Stručný obsah4

Ukládání binárních a multimediálních údajů 333

Základy administrace 341

Optimalizace na úrovni přístupu a dotazování 355

Optimalizace na úrovni databázových struktur 375

Jednoduché řešení z oblasti Business Intelligence 385

Vytvoření a naplnění testovacích tabulek 401

Rejstřík 407


Obsah

Úvod 33

Komu je kniha určena 33

Konvence použité v knize 33

Doprovodné CD 33

Zpětná vazba od čtenářů 34

Errata 34

Výběr vhodné databáze 35

1 Databáze jako základní pilíř informačního systému 35

2 Výběr databáze pro informační systém 35

3 Jak bude databáze v rámci informačního systému používána? 35

4 Úloha databázového systému v podnikové informatice 36

5 Vývojem prošly nejen technologie, ale i cenová politika 36

6 Komerční produkt versus Open Source 36

7 Kritéria pro výběr databáze 36

8 Jaká edice databáze je vhodná pro konkrétní informační systém? 37

9 Co umí edice Enterprise 37 10 Typické scénáře nasazení pro edici Enterprise 37 11 Co umí edice Standard 37 12 Typické scénáře nasazení pro edici Standard 37 13 Co umí edice Web 38 14 Co umí edice Compact a Mobile 38 15 Co umí edice Express 38 16 Typické scénáře nasazení pro edici Express 38 17 XML jako alternativa malé databáze? 39 18 Microsoft SQL Server 2008 39 19 Je to ještě MySQL, nebo už Oracle? 39 20 MySQL: Instalace a konfigurace 39 21 Oracle XE: konfigurace uživatelského přístupu 40 22 Oracle XE: Využití cvičného schématu HR 41 23 Oracle 11g XE: Odemčení účtu 41 24 Oracle 10g XE: Odemčení účtu 41 25 Oracle 10g XE: Nastavení oprávnění 42 26 Jak na praktické pokusy 42 27 Jak připravit cvičnou databázi 42 28 Co ukládá tabulka pro testování výrazů a funkcí 43


Obsah6

Základy databázové teorie 45

29 Co je to databáze, server, platforma 45

30 Co je to databázový systém 45

31 Co znamená transakční zpracování údajů 45

32 Zotavení z chyb a nehod 45

33 Jak na víceuživatelský přístup 46

34 Jak se definuje ochrana údajů 46

35 Co jsou to databázové tabulky 46

36 Relační vztahy mezi údaji uloženými ve více databázových tabulkách 47

37 Jaké existují typy domén 47

38 Jaký je význam domén 47

39 Co říkají podmínky relačnosti 47

40 Co jsou to integritní omezení 48

41 Co je to primární klíč 48

42 Primární klíč z pohledu relační integrity 48

43 Primární klíč mohou vytvořit jen silné entity 48

44 Jednoduchý a kompozitní primární klíč 48

45 Co je to unikátní klíč 49

46 Co je to cizí klíč 49

47 Cizí klíč z pohledu relační integrity 49

48 Jednoduchý a kompozitní cizí klíč 49

49 Pravidla pro relační databázové systémy 49

50 Co říká pravidlo informace 49

51 Co říká pravidlo zaručeného přístupu 50

52 Jak na systematické ošetření prázdných hodnot 50

53 Proč je popis struktury je založen na relačním modelu 50

54 Co říká pravidlo komplexního datového jazyka 50

55 Co je aktualizace pohledů 50

56 Co umí vysokoúrovňová manipulace s údaji 50

57 Co je fyzická datová nezávislost 50

58 Co je logická datová nezávislost 50

59 Co je nezávislost integrity 50

60 Co je to distribuční nezávislost 51

61 Co říká pravidlo nenarušení 51

62 Jak na modelování 51

63 Modelování databázové aplikace 51

64 Modelovaní obchodních požadavků 51

65 Modelování databází 51


Obsah 7

66 Co je to databázové schéma 52

67 Co popisuje konceptuální model 52

68 Co je to entita 52

69 Co je to entitně-relační model 52

70 K čemu slouží vztah 52

71 Co je to atribut 53

72 Co říká kardinalita vztahů mezi entitami 53

73 Co říká vztah jedna ku jedné (1:1, one-to-one) 54

74 Co říká vztah jeden ku více (1:N, many-to-one) 54

75 Co říká vztah více ku více (N:M, many-to-many) 54

76 Co je to parcialita vztahu 55

77 Co je to unární relace 55

78 Příklad unární relace 56

79 Problémy spojené s implementací hierarchické struktury 56

80 Návrh hierarchické struktury umožňující operace 57

81 Implementace hierarchické struktury umožňující operace 58

82 Vytvoření a naplnění hierarchické tabulky 58

83 Jak to vlastně funguje? 59

84 Výběr záznamu a jeho „nadřízených“ 60

85 Výběr záznamu a jeho „podřízených“ 60

86 Operace v tabulce obsahující hierarchickou strukturu 60

Základy jazyka SQL 63

87 K čemu slouží jazyk SQL 63

88 Stručný pohled do historie jazyka SQL 63

89 SQL – slovní zásoba 63

90 SQL – gramatika 64

91 Data Definition Language (DDL) 64

92 Data Manipulation Language (DML) 64

93 Data Control Language (DCL) 65

94 Příkazy pro řízení transakcí (Transaction Control Commands) 65

95 Praktický příklad DCL 65

96 Praktický příklad DDL 65

97 Praktický příklad DML 66

98 Středník za SQL příkazem 66

99 Jak používat komentáře 66 100 Víceslovné názvy objektů 67 101 Konvence pro názvy objektů 67 102 Jak zadat příkaz databázovému serveru 67


Obsah8

103 SQL Server: SQL Server Management Studio 67

104 Oracle: Klientské a administrátorské aplikace 68

105 MySQL: Konzolová aplikace 69

Databázové tabulky 71

106 Vytvoření databáze 71

107 Vytvoření databázové tabulky příkazem CREATE TABLE 71

108 Oracle – vytvoření dočasné tabulky 71

109 SQL Server – vytvoření dočasné tabulky 72

110 Oracle – vytvoření databázové tabulky podle už existující tabulky 72

111 SQL Server – vytvoření databázové tabulky podle už existující tabulky 72

112 Vytvoření databázové tabulky prostřednictvím vizuálního návrhu 72

113 Co jsou to datové typy 73

114 Jaké číselné datové typy jsou k dispozici 73

115 Jaké existují datové typy pro vyjádření finančních částek 73

116 Jaké existují datové typy na uložení celočíselných hodnot 73

117 Oracle – datový typ Number 74

118 Jaké existují znakové datové typy 74

119 Jaké existují datové typy pro uložení data a času 74

120 K čemu slouží hodnota NULL 75

121 SQL Server – jak na řídké sloupce 75

122 SQL Server – jak na filtrované indexy nad řídkými sloupci 76

123 SQL Server – použití filtrovaných indexů nad řídkými sloupci 76

124 SQL Server – jak na filtrovanou statistiku v tabulkách s řídkými sloupci 76

125 Definování uživatelských datových typů 77

126 SQL Server – definování datového typu 77

127 Oracle – definování datového typu 77

128 SQL Server – k čemu slouží datový typ HierarchyID 77

129 SQL Server – vložení kořenového elementu do hierarchické struktury 78

130 SQL Server – vložení potomka do hierarchické struktury 78

131 SQL Server – uložení procedury na vložení potomka do hierarchické struktury 78

132 SQL Server – výpis hierarchické struktury 79

133 SQL Server – vyhledávání v hierarchické struktuře 79

134 SQL Server – změna pozice v hierarchické struktuře 79

135 SQL Server – k čemu slouží datový typ TABLE 80

136 SQL Server – příklad bez použití datového typu TABLE 80

137 SQL Server – příklad použití datového typu TABLE 80

138 SQL Server – přidávání údajů s využitím datového typu TABLE 81

139 SQL Server – informace o datových typech TABLE 81


Obsah 9

140 Omezení pro atributy databázových tabulek 81

141 Vyloučení hodnoty NULL – NOT NULL 82

142 Co je implicitní hodnota v sloupci – DEFAULT 82

143 Jak na kontrolu zadávaných hodnot – CHECK 82

144 Co je omezení na unikátní hodnotu – UNIQUE 82

145 Co je to primární klíč – PRIMARY KEY 83

146 Jak na primární klíč nad více atributy 83

147 Co je to cizí klíč – FOREIGN KEY 83

148 Aktivování omezení 84

149 Deaktivování omezení 85

150 Modifikace databázové tabulky – ALTER TABLE 85

151 Odstranění databázové tabulky – DROP TABLE 86

152 Oracle – zjištění tabulek patřících do schématu 86

153 SQL Server – zjištění tabulek patřících do schématu 86

154 Výpis atributů databázové tabulky 86

155 Oracle – komplexní výpis atributů databázové tabulky 87

156 Oracle – komplexní výpis atributů databázové tabulky 87

157 Oracle – výpis indexovaných atributů databázové tabulky 87

158 SQL Server – výpis indexovaných atributů databázové tabulky 87

159 MySQL – výpis indexovaných atributů databázové tabulky 88

160 Oracle – výpis omezení týkajících se atributů databázové tabulky 88

161 Oracle – výpis omezení týkajících se atributů databázové tabulky 88

Normalizace databází 89

162 Co jsou to normální formy 89

163 Jaké jsou úrovně normalizace 89

164 Co říká nultá normální forma (0NF) 89

165 Co říká první normální forma (1NF) 90

166 Úprava struktury tabulky do 1NF 90

167 Úprava struktury tabulky do 1NF pomocí dekompozice 91

168 Co je to vztah master–detail 91

169 Co říká druhá normální forma (2NF) 92

170 Úprava struktury tabulky do 2NF 92

171 Co říká třetí normální forma (3NF) 92

172 Přesnější definice 3NF 93

173 Co říká Boyce-Coddova normální forma (BCNF) 93

174 Co říká čtvrtá normální forma (4NF) 93

175 Co říká pátá normální forma (5NF) 93


Obsah10

Pohledy 95 176 K čemu slouží pohledy 95 177 Jak vytvořit pohled 95 178 Vztah pohledu a tabulek, z nichž byl pohled vytvořen 95 179 Co jsou to jednoduché pohledy 96 180 Co jsou to komplexní pohledy 96 181 Interakce mezi pohledem a tabulkou 96 182 Odstranění pohledu – DROP VIEW 97 183 K čemu slouží materializované pohledy 97 184 Oracle – vytvoření materializovaného pohledu 97 185 Oracle: Vytvoření protokolu materializovaného pohledu 98 186 Vztah mezi materializovaným pohledem a tabulkami, nad nimiž byl vytvořen 98 187 Odstranění materializovaného pohledu 99

Vkládání, aktualizace a mazání údajů 101 188 Co je impulzem pro vložení údajů do databáze 101 189 Vkládání nových záznamů 101 190 Vkládání nových záznamů s využitím pozice atributů 101 191 Vkládání údajů z jiné tabulky 102 192 Generování příkazů INSERT 102 193 Vkládání unikátních hodnot 102 194 Vkládání implicitních hodnot 103 195 Oracle – vkládání více hodnot do tabulky 103 196 SQL Server – vkládání více hodnot do tabulky 103 197 SQL Server – vkládání více záznamů v rámci jednoho příkazu INSERT 104 198 Oracle – vkládání údajů do více tabulek podle hodnoty atributu 104 199 Jedinečné hodnoty v primárních klíčích a jejich automatické generování 105 200 SQL Server – automatické generování unikátních hodnot 105 201 SQL Server – příklad pro automatické generování unikátních hodnot 105 202 Oracle – automatické generování unikátních hodnot pomocí sekvencí 106 203 Oracle – vytvoření sekvence 106 204 Oracle – příklad pro vytvoření a použití sekvence 106 205 Oracle – změna a odstranění sekvence 107 206 MySQL – automatické generování unikátních hodnot 107 207 MySQL – přidávání záznamů s využitím automatického generování unikátních hodnot 107 208 Přidělení nejnižšího volného identifikátoru 108 209 Změna údajů v tabulce – příkaz UPDATE 109 210 Aktualizace všech údajů v tabulce 109 211 Aktualizace vybraných údajů v tabulce 109


Obsah 11

212 Aktualizace záznamů s využitím příkazu CASE 110

213 Aktualizace obsahu tabulky na základě hodnot z jiné tabulky 110

214 SQL Server – vylepšení příkazu UPDATE pro změnu záznamů 111

215 Výměna hodnot sloupců 111

216 Vymazání údajů z tabulky – DELETE 111

217 Jaký je rozdíl mezi vymazáním a zrušením objektu 112

218 Vymazání duplicitních záznamů 112

219 Odhalování duplicit pomocí spojení samotné tabulky se sebou 113

220 Vyprázdnění databázové tabulky – TRUNCATE TABLE 113

221 SQL Server – k čemu slouží příkaz MERGE 113

222 SQL Server – jak na synchronizaci tabulek příkazem MERGE 114

223 SQL Server – jak na sloučení tabulek příkazem MERGE 115

Výběr údajů 117

224 Výběr údajů prostřednictvím projekce 117

225 Výběr údajů prostřednictvím restrikce 117

226 Výběr údajů prostřednictvím kombinace projekce a restrikce 117

227 Výběr údajů pomocí příkazu SELECT 118

228 K čemu slouží klauzule SELECT 118

229 K čemu slouží klauzule FROM 118

230 K čemu slouží klauzule WHERE 118

231 K čemu slouží klauzule GROUP BY 118

232 K čemu slouží klauzule HAVING 118

233 K čemu slouží klauzule ODRER BY 118

234 Jak na výběr všech údajů 119

235 Projekce pomocí uvedených atributů 119

236 Co jsou to aliasy atributů 119

237 K čemu slouží uvozovky v aliasech 119

238 Přidání textového atributu 120

239 Operace s hodnotami atributů 120

240 Vytvoření pseudoatributu pomocí aliasu 120

241 Spojování textových atributů 120

242 Použití klauzule CASE na přiřazení hodnoty 121

243 Použití klauzule CASE na přiřazení hodnoty do intervalu 121

244 Použití klauzule CASE na vytvoření souhrnů 121

245 Omezení výběru záznamů podle definovaných kritérií – restrikce 122

246 Porovnávací operátory pro vytvoření podmínky 122

247 Logické operátory pro vytvoření podmínky 123

248 Porovnávací operátory pro znakové datové typy 123


Obsah12

249 Operátory pro kombinované podmínky 123

250 Výběr hodnot patřících do intervalu 123

251 Výběr hodnot patřících do vyjmenované množiny 124

252 Výběr podle vzorů 124

253 Výběr pomocí operátoru LIKE 124

254 Zamezení výpisu duplicitních záznamů 125

255 Testování na hodnotu NULL 125

256 Seřazení údajů – ORDER BY 126

257 Seřazení v opačném pořadí 126

258 Seřazení podle více atributů 126

259 Seřazení podle údajů 126

260 SQL Server – k čemu slouží příkaz TOP(n) 127

261 SQL Server – výběr vzorku údajů pomocí klauzule TABLESAMPLE 127

262 Oracle – výběr údajů v náhodném pořadí 127

263 SQL Server – výběr údajů v náhodném pořadí 128

264 SQL Server – výběr údajů v náhodném pořadí pomocí funkce NEWID 128

265 SQL Server – výběr určeného počtu záznamů 128

266 Oracle – výběr určeného počtu záznamů 129

267 MySQL – výběr určeného počtu záznamů 129

268 MySQL – výběr od určeného záznamu 129

269 SQL Server – výběr počtu záznamů daného obsahem proměnné 129

270 SQL Server – výběr počtu záznamů daného obsahem proměnné z více tabulek 130

271 SQL Server – národní specifika ve vztahu k vyhledávání a řazení údajů 130

272 SQL Server – k čemu slouží parametr COLLATE 131

273 Oracle – k čemu slouží parametr NLS_LANG 131

274 MySQL – k čemu slouží proměnná CHARACTER_SET 132

Spojování údajů z více tabulek a databází 133

275 Výběr údajů z více tabulek 133

276 Tečková konvence pro specifikaci objektů 133

277 Spojování tabulek pomocí klauzule WHERE 134

278 Vynechání názvů schémat 134

279 Použití aliasů při výběru údajů z více tabulek 134

280 Použití klauzule WHERE pro spojení tabulek i restrikci 135

281 Výpis údajů z tabulek, které vzájemně souvisejí, přes jinou tabulku 135

282 Příklad spojení tabulek svázaných pomocí třetí tabulky 135

283 Výpis údajů z nepřímo souvisejících tabulek přes jinou tabulku 136

284 Spojení tabulky se sebou 137

285 Spojování tabulek pomocí klauzule JOIN 137

286 Výběr vhodného typu spojení 138


Obsah 13

287 Jak na vnitřní spojení (INNER JOIN) 138

288 Jak na vnější spojení z levé strany (LEFT OUTER JOIN) 138

289 Jak na vnější spojení z pravé strany (RIGHT OUTER JOIN) 139

290 Jak na úplné spojení 139

291 Jak na výlučné spojení 139

292 Spojení z levé a pravé strany 140

293 Jak na vnější spojení 141

294 Jak na vnější spojení z „levé strany“ 141

295 Jak na vnější spojení z „pravé strany“ 141

296 Vyhledávání osiřelých záznamů 142

297 Jak na křížové spojení 142

298 Spojení tabulky se sebou (self-join) 142

299 Spojení tabulky se sebou s vyloučením duplicit 143

300 Spojení typu self-join jako alternativa k některým vnořeným dotazům 143

301 Jak na úplné spojení 144

302 SQL Server – k čemu slouží operátor APPLY 144

303 Spojování nehomogenních tabulek 144

304 Jak použít operátor UNION pro nehomogenní tabulky 146

305 Uložení údajů získaných z nehomogenních tabulek 146

306 Rozčlenění položek výpisu tabulky na více typů 147

307 Jak zjistit průnik dvou tabulek 147

308 Jak zjistit rozdíl dvou tabulek 148

Výběr pomocí vnořených dotazů 149

309 Jaké typy úloh se řeší pomocí vnořených dotazů 149

310 Porovnávání pomocí jednořádkových vnořených dotazů 149

311 Jak použít agregační funkce ve vnořeném dotazu 149

312 Jak zapsat víceřádkové vnořené dotazy 149

313 Jak zapsat vícesloupcové vnořené dotazy 150

314 Použití funkce NVL 150

315 Testování existence hodnot 150

316 Vyhledání „osiřelých“ záznamů 151

317 Jak na vnořené dotazy s komplexnějším porovnáváním 151

318 Vkládání, aktualizace a mazání údajů pomocí vnořených dotazů 152

319 Nalezení n-tého záznamu v pořadí podle daného kritéria 153

320 Výpis n záznamů podle daného kritéria 153

321 Co jsou to korelační vnořené dotazy 153

322 Příklad použití korelačního vnořeného dotazu I 154

323 Příklad použití korelačního vnořeného dotazu II 154


Obsah14

324 Příklad použití korelačního vnořeného dotazu III 154

325 SQL Server – Common Table Expressions jako alternativa vnořených dotazů 155

326 SQL Server – Common Table Expressions versus vnořené dotazy 155

Funkce jazyka SQL 157

327 K čemu se používají funkce? 157

328 Databázový server jako kalkulačka 157

329 Výpočet souhrnných hodnot pro více záznamů 157

330 Zjištění počtu záznamů 157

331 Co umí jednořádkové funkce 158

332 Jak zapsat přirozený logaritmus 158

333 Jak na výpočet mocniny čísla e 158

334 Jak na dekadický logaritmus 158

335 Jak zjistit všeobecnou mocninu 158

336 Jak zjistit druhou odmocninu 158

337 Jak zjistit zbytek po dělení 159

338 Jak na goniometrické funkce 159

339 Jak na inverzní goniometrické funkce 159

340 Jak na hyperbolické funkce 159

341 Funkce pro zjištění absolutní hodnoty 159

342 Jak na zaokrouhlování 160

343 Jak na ořezání čísla 160

344 Zjištění hodnoty nejbližšího většího celého čísla 160

345 Zjištění hodnoty nejbližšího menšího celého čísla 160

346 Zjišťování znaménka 160

347 Jak na agregační funkce 160

348 Výpočet aritmetického průměru 160

349 Zjištění maximální nebo minimální hodnoty 161

350 Identifikace záznamu obsahujícího maximum resp. minimum 161

351 Jak zjistit součet hodnot v množině údajů 161

352 Oracle – ohodnocení záznamu podle určených kritérií 161

353 Oracle – procentuální ohodnocení záznamu podle určených kritérií 162

354 SQL Server – k čemu slouží poziční funkce 162

355 SQL Server – příklad pro funkci RANK 162

356 SQL Server – příklad pro funkci RANK z cvičné databáze AdventureWorks2008 163

357 SQL Server – k čemu slouží funkce DENSE_RANK 163

358 SQL Server – k čemu slouží funkce ROW_NUMBER 164

359 SQL Server – k čemu slouží funkce NTILE 165

360 SQL Server – příklad použití funkcí pro ohodnocení 165


Obsah 15

361 Jak na statistické funkce 165

362 Oracle – překódování údajů podle kódovací tabulky 166

363 Oracle – použití funkce BITAND pro logický součin na úrovni bitů 167

364 Oracle – použití funkce DECODE pro výpis ve formě kontingenční tabulky 167

365 Zjištění délky textového řetězce 168

366 Převod řetězce na velká písmena 168

367 Převod řetězce na malá písmena 168

368 Převod prvního písmene na velké písmeno 168

369 Převod čísla na znak 168

370 Ořezání textového řetězce zleva 168

371 Ořezání textového řetězce zprava 169

372 Odstranění mezer nebo znaků z levé strany řetězce 169

373 Odstranění mezer nebo znaků z pravé strany řetězce 169

374 Doplnění řetězce zleva 169

375 Doplnění řetězce zprava 169

376 Nahrazování znaků v řetězci 170

377 Speciální nahrazování znaků v řetězci 170

378 Jak vytvořit podmnožinu řetězce 170

379 Oracle – výpis textových grafů 170

380 Oracle – zdokonalení výpisu textových grafů 171

381 Funkce pro práci s datem a časem 171

382 Způsob definování atributu pro datum a čas 172

383 Vložení aktuálního data a času 172

384 Vložení zadaného data a času 172

385 UTC, GMT, SEČ – světové časy a časová pásma 172

386 Přehled odlišností a příklad použití data a času pro jednotlivé platformy 173

387 SQL Server – datové typy pro datum a čas 173

388 SQL Server – nové datové typy pro datum a čas 174

389 SQL Server – seznam datových typů pro datum a čas 175

390 SQL Server – použití nových datových typů pro datum a čas 175

391 SQL Server – převod datových typů pro datum a čas 176

392 SQL Server – hierarchie datumových a časových hodnot 176

393 SQL Server – připočítání hodnoty k datu a času 176

394 SQL Server – rozdíl mezi dvěma hodnotami data a času 177

395 SQL Server – část data a času 177

396 SQL Server – zjištění hodnoty aktuálního data a času 177

397 SQL Server – zjištění hodnoty dne 177

398 SQL Server – zjištění hodnoty měsíce 177


Obsah16

399 SQL Server – zjištění hodnoty roku 177

400 Oracle – datové typy pro datum a čas 178

401 Oracle – zadávání datových typů pro datum a čas 178

402 Oracle – datový typ TIMESTAMP 178

403 Oracle – datové typy pro vyjádření intervalu 179

404 Oracle – posunutí data o několik měsíců 179

405 Oracle – aktuální datum a čas 179

406 Oracle – zjištění aktuálního data 179

407 Oracle – zjištění aktuálního data a času 180

408 Oracle – časový posun vůči GMT 180

409 Oracle – část data a času 180

410 Oracle – zjištění posledního dne v měsíci 180

411 Oracle – zjištění aktuální hodnoty lokálního data a času 180

412 Oracle – počet měsíců mezi dvěma daty 181

413 Oracle – následující den v týdnu 181

414 Oracle – část data a času 181

415 Oracle – zaokrouhlení hodnot data a času 181

416 Oracle – ořezání hodnot data a času 182

417 Oracle – časové posunutí připojení 182

418 Oracle – aktuální systémové datum a čas 182

419 Oracle – převod řetězce na datum a čas 182

420 MySQL – zjištění aktuálního data 182

421 MySQL – zjištění aktuálního času 182

422 MySQL – zjištění aktuálního data a času 183

423 MySQL – formátovaný výstup data a času 183

424 MySQL – aktuální systémové datum a čas 183

425 MySQL – aktuální datum a čas 183

426 MySQL – část data a času 183

427 MySQL – datum určené počtem dní od začátku letopočtu 184

428 MySQL – připočtení intervalu k zadanému datu a času 184

429 MySQL – odečtení intervalu od zadaného data a času 184

430 MySQL – hodnota hodin 184

431 MySQL – hodnota minut 185

432 MySQL – hodnota vteřin 185

433 MySQL – hodnota roku a týdnu v roce 185

434 MySQL – název dne v týdnu 185

435 MySQL – název měsíce 185

436 MySQL – pořadové číslo dne v měsíci 185

437 MySQL – pořadové číslo dne v týdnu 185


Obsah 17

438 MySQL – pořadové číslo dne v roce 185 439 MySQL – pořadové číslo dne v týdnu 186 440 MySQL – pořadové číslo týdnu v roce 186 441 MySQL – pořadové číslo kvartálu 186 442 MySQL – pořadové číslo roku 186 443 MySQL – převod počtu vteřin na čas 186 444 MySQL – převod času na počet vteřin 186 445 MySQL – počet dní od začátku letopočtu 186 446 Datumová a časová aritmetika 186 447 MySQL – datumová a časová aritmetika 187 448 SQL Server – funkce pro převod datových typů 187 449 Oracle – převod binárního čísla na dekadické 188 450 Oracle – převod znakových datových typů 188 451 Oracle – převod datumových a časových typů na znakové 188 452 Oracle – převod na datový typ LOB 188 453 Oracle – převod na číselný datový typ 188 454 Využití matematických, řetězcových a převodních funkcí – kontrola rodných čísel 189

Seskupování údajů 191 455 Seskupování údajů na základě stanoveného kritéria 191 456 Seskupování záznamů pomocí klauzule GROUP BY 191 457 Omezení seskupovaných údajů – WHERE 191 458 Omezení skupinových výsledků – HAVING 192 459 Kombinace omezení 192 460 Seřazení skupinových výsledků 193 461 Seskupování záznamů obsahujících hodnotu NULL 193 462 Použití seskupování a agregačních funkcí 193 463 Eliminace záznamů obsahujících hodnotu NULL 194 464 Zjišťování duplicit 194 465 Zjišťování duplicit pomocí vnořeného dotazu 195 466 Seskupování údajů podle data a času 195 467 SQL Server – klauzule GROUPING SETS 196

Indexy 197 468 Vyhledávání a vkládání údajů v databázi při náhodném uspořádání 197 469 Vyhledávání a vkládání údajů v databázi uspořádané podle primárního klíče 197 470 Zavedení indexů 197 471 Použití indexů při vyhledávání 198 472 Vyhledávání pomocí B-stromů 198 473 Jak B-stromy fungují 198


Obsah18

474 Vytvoření indexu 198 475 SQL Server – vytváření indexů 199 476 Oracle – vytváření indexů 200 477 Oracle – bitmapové indexy 200 478 Oracle – použití bitmapových indexů 200 479 Odstranění indexu – DROP INDEX 201 480 Nevýhody indexů 201

Kurzory 203 481 K čemu slouží kurzory? 203 482 Proces výběru údajů pomocí kurzoru 203 483 SQL Server – deklarace kurzoru 203 484 SQL Server – otevření kurzoru 203 485 SQL Server – výběr údajů prostřednictvím kurzoru 204 486 SQL Server – naplnění proměnných prostřednictvím kurzoru 204 487 SQL Server – uzavření kurzoru 204 488 Oracle – deklarace kurzoru 204 489 Oracle – otevření kurzoru 204 490 Oracle – výběr údajů prostřednictvím kurzoru 205 491 Oracle – uzavření kurzoru 205 492 Oracle – cyklický výběr údajů pomocí kurzoru 205 493 Oracle – testování konce cyklického výběru pomocí kurzoru 205 494 Problémy spojené s kurzory 206

Transakce a konzistentnost 209 495 K čemu slouží transakce 209 496 Transakce pro zachování konzistentnosti údajů 209 497 Jak transakce fungují 210 498 Explicitní zrušení transakce 210 499 Vytváření návratových bodů 210 500 Zrušení změn od návratového bodu 211 501 Potvrzení transakce 211 502 MySQL – příklad pro transakce 211 503 Doporučení pro transakce 212

Zachování konzistentnosti údajů 213 504 Sdílený přístup více uživatelů 213 505 SQL Server – zachování konzistentnosti údajů 213 506 Oracle – zachování konzistentnosti údajů 214 507 SQL Server – vytvoření statického snímku databáze 214 508 SQL Server – příklad na vyzkoušení statického snímku databáze 215


Obsah 19

Zálohování, import a export údajů 217

509 Proč je potřeba chránit údaje 217

510 Jak na zálohování údajů 217

511 K čemu slouží fyzická záložní databáze 217

512 K čemu slouží logická záložní databáze 217

513 Synchronní a asynchronní logická záložní databáze 218

514 Co je kompletní zálohování databáze 218

515 Co je diferenciální zálohování databáze 218

516 Co uchovává záloha transakčního protokolu 218

517 Kdy je vhodná komprese zálohy 218

518 Co je to replikace databáze 219

519 Jaké existují druhy zálohování 219

520 SQL Server – modely obnovy databáze 219

521 SQL Server – zálohování databáze 220

522 SQL Server – komprese zálohy 220

523 SQL Server – zrcadlení databáze 221

524 SQL Server – vytvoření koncového bodu pro zrcadlení 221

525 SQL Server – informace o koncových bodech pro zrcadlení 221

526 SQL Server – vytvoření účtů pro zrcadlení 222

527 Oracle – obnova údajů z transakčního protokolu 222

528 Oracle – zálohování databáze ve verzi Express Edition (XE) 222

529 Import a export údajů 223

530 Kvalita importovaných údajů 223

531 Scénáře pro import a export údajů 223

532 Problémy při importu údajů 224

533 Oracle – export údajů 224

534 Oracle – import údajů 224

535 Export údajů do flat souboru 225

536 Oracle – export údajů do flat souboru 225

537 Oracle – import údajů z flat souboru 226

538 Oracle XE – export a import údajů 226

539 Oracle XE – import 227

540 Oracle XE – mapování atributů pro import 227

541 Oracle XE – definování primárního klíče pro import 228

542 Oracle XE – export 229

543 Oracle XE – export do formátu Excel 230

544 Oracle XE – export do formátu XML 230

545 SQL Server – nástroj pro export a import údajů 230


Obsah20

Komprese, šifrování a audit údajů 233 546 Komprese údajů v databázích 233 547 Oracle – pokročilá komprese (Advanced Compression) 233 548 SQL Server – řádková komprese 234 549 SQL Server – stránková komprese pomocí prefixů sloupců 234 550 SQL Server – stránková komprese pomocí slovníku 235 551 SQL Server – typické scénáře pro kompresi 235 552 SQL Server – transparentní šifrování údajů 236 553 SQL Server – vytvoření klíče MASTER KEY 236 554 SQL Server – vytvoření certifikátu 236 555 SQL Server – vytvoření šifrovacího klíče 237 556 SQL Server – auditování 237 557 SQL Server – vytvoření objektu typu AUDIT pro server 237 558 SQL Server – povolení auditu 238 559 SQL Server – vytvoření specifikace serverového auditu 238 560 SQL Server – vytvoření specifikace databázového auditu 238 561 SQL Server – testování auditu 238 562 SQL Server – ukončení auditu 239

Procedurální nadstavby jazyka SQL 241 563 Omezení jazyka SQL 241 564 T-SQL – jak zapsat komentáře 241 565 T-SQL – jak na ladicí výpisy 241 566 T-SQL – jak vypsat obsah proměnných 242 567 T-SQL – jak na převod data a času 242 568 T-SQL – naformátované ladicí výpisy 242 569 T-SQL – výpis pomocí příkazu RAISEERROR 243 570 T-SQL – jak na proměnné 243 571 T-SQL – naplnění proměnných z databázové tabulky 243 572 T-SQL – řízení toku provádění příkazů 243 573 T-SQL – podmínka IF – ELSE 244 574 T-SQL – cyklus WHILE 244 575 T-SQL – předčasné opuštění cyklu 245 576 T-SQL – skripty 245 577 T-SQL – dávky 245 578 K čemu slouží příkaz GO 245 579 Platnost proměnných v dávkách 246 580 Kdy použít dávku 246 581 T-SQL – ošetření chyb v T-SQL 246


Obsah 21

582 T-SQL – výpis chybových zpráv 247

583 T-SQL – výpis uživatelem definovaných chybových zpráv 247

584 PL/SQL – modulární procedurální jazyk 247

585 PL/SQL – komentáře 248

586 PL/SQL – ladicí výpisy 248

587 PL/SQL – proměnné 248

588 PL/SQL – deklarování typu proměnné podle jiné proměnné 248

589 PL/SQL – deklarování typu proměnné podle atributu databázové tabulky 249

590 PL/SQL – výpis obsahu proměnných 249

591 PL/SQL – použití znakových datových typů 249

592 PL/SQL – použití datových typů pro datum a čas 249

593 PL/SQL – použití datového typu BOOLEAN 249

594 PL/SQL – naplnění proměnných z databázové tabulky 250

595 PL/SQL – vnořené bloky 250

596 PL/SQL – práce s údaji v tabulkách 251

597 PL/SQL – řízení toku provádění příkazů 251

598 PL/SQL – podmínka IF – THEN – END IF 251

599 PL/SQL – podmínka IF – THEN – ELSE – END IF 252

600 PL/SQL – podmínka IF – THEN – ELSIF – END IF 252

601 PL/SQL – příkaz CASE pro vícenásobné větvení programu 252

602 PL/SQL – vícenásobné větvení podle podmínky 252

603 PL/SQL – jednoduchý cyklus, podmínka v klauzuli IF 253

604 PL/SQL – jednoduchý cyklus, podmínka v klauzuli WHEN 253

605 PL/SQL – cyklus FOR 253

606 PL/SQL – využití řídicí proměnné cyklu FOR 254

607 PL/SQL – cyklus FOR s definovaným inkrementováním 254

608 PL/SQL – dynamický cyklus FOR 254

609 PL/SQL – záznamy 255

610 PL/SQL – deklarace záznamu podle databázové tabulky 255

611 PL/SQL – ošetření chyb 255

612 PL/SQL – typy výjimek 255

613 PL/SQL – příklad pro ošetření chyb 256

614 PL/SQL – simulování výjimky 256

Uložené procedury, funkce a spouště 257

615 Uložené procedury 257

616 Vstupní a výstupní parametry uložených procedur 257

617 SQL Server – vytvoření uložené procedury 257

618 SQL Server – vytvoření uložené procedury v jazyce C# 258


Obsah22

619 Oracle – vytvoření uložené procedury 258

620 Uložená procedura s výstupním parametrem 259

621 Vnořené uložené procedury 259

622 Viditelnost objektů ve vnořených uložených procedurách 259

623 Odstranění uložené procedury 260

624 K čemu slouží funkce 260

625 SQL Server – vytvoření funkce 260

626 SQL Server – vytvoření funkce v jazyce C# 261

627 Oracle – vytvoření funkce 261

628 Odstranění funkce 262

629 K čemu slouží spouště 262

630 Definování událostí pro aktivaci 263

631 SQL Server – vytvoření spouště 263

632 SQL Server – příklad použití spouště 263

633 SQL Server – vytvoření spouště v jazyce C# 264

634 Oracle – vytvoření spouště 264

635 Oracle – příklad použití spouště 265

636 Odstranění spouště 265

637 Zřetězení spouští 265

638 Zakázání spouště 266

XML jako nativní formát pro ukládání údajů 267

639 Co je to XML 267

640 Jakou strukturu má dokument XML 267

641 Omezení ohledně volby názvů prvků 268

642 Schéma XML 268

643 Transformace pomocí jazyka XSLT 268

644 XML na platformě Oracle 268

645 Podporuje vaše verze databáze Oracle XML DB? 269

646 Oracle – vložení údajů z databáze do elementu XML 269

647 Oracle – vložení údajů do více elementů XML 269

648 Oracle – příklad vytvoření dokumentu XML 270

649 Oracle – příklad vytvoření formátovaného dokumentu XML 270

650 Oracle – generování elementů XML pomocí funkce SYS_XMLGEN 271

651 Oracle – sloučení elementů XML pomocí funkce SYS_XMLAGG 271

652 Oracle – výpis více atributů XML 271

653 Oracle – ukládání údajů v nativním formátu XML 272

654 Oracle – ukládání údajů v nativním formátu XML 272

655 Oracle – výpis údajů v nativním formátu XML 272


Obsah 23

656 Oracle – kombinace relačních atributů a atributů XML 273

657 Oracle – vyhledávání v dokumentu XML 274

658 SQL Server – výpis údajů ve formátu XML 275

659 SQL Server – výpis údajů s využitím klauzule ELEMENTS 275

660 SQL Server – výpis údajů ve formátu XML s použitím modifikátorů RAW, AUTO a PATH 276

661 SQL Server – použití modifikátoru RAW 276

662 SQL Server – použití modifikátoru AUTO 276

663 SQL Server – použití modifikátorů AUTO a ROOT 277

664 SQL Server – použití modifikátoru PATH 277

665 SQL Server – kombinace s modifikátorem XMLSCHEMA 278

666 Načítání části dokumentu XML do paměti 278

667 Načítání části dokumentu XML do databázové tabulky 279

668 SQL Server – nativní formát XML 279

669 SQL Server – vkládání údajů v nativním formátu XML 280

670 SQL Server – výběr údajů v nativním formátu XML 280

671 SQL Server – vložení dokumentu XML ze souboru 280

672 SQL Server – naplnění proměnné datového typu XML z databázové tabulky 281

673 SQL Server – výhody nativního datového typu XML 281

674 SQL Server – indexy XML 282

675 K čemu slouží technologie XQuery 282

676 XQuery – klíčové slovo FOR 283

677 XQuery – klíčové slovo LET 283

678 XQuery – klíčové slovo WHERE 283

679 XQuery – klíčové slovo ORDER BY 283

680 XQuery – klíčové slovo RETURN 283

681 Oracle – jak zadávat serveru příkazy jazyka XQuery 283

682 Oracle – jednoduchý příklad použití jazyka XQuery 284

683 Oracle – výběr údajů z dokumentu XML pomocí jazyka XQuery 284

684 Oracle – dotazy jazyka XQuery v cvičném schématu OE (Order Entry) 285

685 Oracle – zjištění počtu dokumentů pomocí jazyka XQuery 285

686 Oracle – restrikce pomocí podmínky jazyka XQuery 285

687 Oracle – zobrazení hodnot vybraných elementů pomocí jazyka XQuery 285

688 Oracle – vyhledávání pomocí identifikátoru přes jazyk XQuery 286

689 Oracle – zrychlení vyhledávání v jazyce XQuery pomocí indexů 287

690 Oracle – aplikování dotazů jazyka XQuery na relační tabulky 287

691 Oracle – cvičný příklad pro dotazy jazyka XQuery do relačních tabulek 287

692 Oracle – výběr údajů z relačních tabulek do formátu XML 287

693 Oracle – výběr údajů z relačních tabulek do souboru XML 288


Obsah24

694 Oracle – výběr údajů z relačních tabulek do definovaného dokumentu XML 288 695 Oracle – dotazy jazyka XQuery do relačních tabulek obsahujících datový typ XML 289 696 Oracle – jednoduchý dotaz jazyka XQuery do relačních tabulek obsahujících datový typ XML 289 697 Oracle – příklad komplexního dotazu jazyka XQuery do relačních tabulek

obsahujících datový typ XML 290 698 Oracle – pohledy XML vytvořené z relačních tabulek pomocí dotazu jazyka XQuery 290 699 SQL Server – jak zadávat serveru příkazy jazyka XQuery 291 700 SQL Server – jednoduchý příklad použití jazyka XQuery 291 701 SQL Server – komentář v jazyce XQuery 291 702 SQL Server – využití funkcí jazyka XQuery 291 703 SQL Server – výběr údajů z databáze pomocí jazyka XQuery 291 704 SQL Server – příklad použití dotazu jazyka XQuery 292 705 SQL Server – použití klauzule LET 292 706 SQL Server – použití příkazů jazyka XQuery pro databázovou tabulku, příprava údajů 293 707 SQL Server – jednoduchý dotaz pomocí metody XML.query 294 708 SQL Server – jednoduchý dotaz typu FLOWR 294 709 SQL Server – dotaz typu FLOWR s podmínkou 294 710 SQL Server – výpis elementu pomocí predikátu jazyka XPath 295 711 SQL Server – metoda XML.exists 295 712 SQL Server – metoda XML.value 295 713 Metoda XML.nodes s klauzulí CROSS APPLY 295 714 Metoda XML.nodes s klauzulí OUTER APPLY 296

Vyhledávání v textu 297 715 Vyhledávání v textu 297 716 SQL Server – cvičná tabulka pro fulltextové vyhledávání 297 717 SQL Server – vytvoření fulltextového katalogu 297 718 SQL Server – vytvoření fulltextového indexu 298 719 SQL Server – výpis klíčových slov pro fulltextové vyhledávání 298 720 SQL Server – predikát FREETEXT pro sestavení podmínek vyhledávání 299 721 SQL Server – predikát CONTAINS pro sestavení neostrých podmínek vyhledávání 299 722 SQL Server – predikát CONTAINS, jednoduchý výraz 299 723 SQL Server – predikát CONTAINS, operátor AND (&) 300 724 SQL Server – predikát CONTAINS, operátor AND NOT (&!) 300 725 SQL Server – predikát CONTAINS, operátor OR (|) 300 726 SQL Server – kombinované podmínky 300 727 SQL Server – výrazy s použitím prefixů 301 728 SQL Server – příbuzenské výrazy 301 729 Oracle – cvičná tabulka pro fulltextové vyhledávání 302


Obsah 25

730 Oracle – vytvoření indexu pro nástroj Oracle Text 302

731 Oracle – vyhledávání pomocí operátoru CATSEARCH 302

732 Oracle – jednoduché vyhledávání 302

733 Oracle – kombinována podmínka „a zároveň“ 303

734 Oracle – kombinovaná podmínka „a zároveň neobsahuje“ 303

735 Oracle – kombinovaná podmínka „nebo“ 303

736 Oracle – kombinovaná podmínka se závorkami 303

Ukládání geografických a geometrických (prostorových) údajů 305

737 K čemu slouží technologie Spatial 305

738 Geografické minimum 305

739 Světový geodetický systém WGS 84 306

740 Zeměpisné souřadnice 306

741 Dotazování v geometrických údajích 306

742 Dotazování v geografických údajích 306

743 Uložení geometrických a geografických údajů v databázi 307

744 SQL Server – definice základních geometrických objektů 307

745 SQL Server – údaje popisující geometrické objekty 307

746 SQL Server – práce s body pomocí objektu POINT 307

747 SQL Server – transformace bodů mezi geometriemi 308

748 SQL Server – vyjádření množiny bodů pomocí objektu MULTIPOINT 308

749 SQL Server – znázornění lomené úsečky pomocí objektu LINESTRING 308

750 SQL Server – množina lomených úseček 309

751 SQL Server – vyjádření mnohoúhelníku pomocí objektu POLYGON 309

752 SQL Server – děravý mnohoúhelník 309

753 SQL Server – množina polygonů 310

754 SQL Server – sdružování geometrických útvarů 310

755 SQL Server – databázová tabulka pro údaje o geometrických objektech 310

756 SQL Server – ukládání geometrických objektů do databázové tabulky 310

757 SQL Server – dotazování do tabulky s údaji o geometrických objektech 311

758 SQL Server – textové atributy v tabulce pro údaje o geometrických objektech 311

759 SQL Server – dotazování do tabulky s údaji o geometrických objektech s textovým atributem 312

760 SQL Server – převod údajů o geometrických objektech do formátu XML 312

761 SQL Server – grafické zobrazování geometrických a geografických údajů 313

762 SQL Server – vytvoření tabulky s cvičnými údaji pro operace s geometrickými objekty 313

763 SQL Server – výpočet plochy geometrických objektů 314

764 SQL Server – zjištění průniku ploch 314

765 SQL Server – výpočet plochy průniku 314

766 SQL Server – zjištění průsečíku obrazců 315


Obsah26

767 SQL Server – sjednocení ploch 315

768 SQL Server – obrys plochy 315

769 SQL Server – obálka ploch 316

770 SQL Server – konvexní obrys plochy 316

771 SQL Server – počet vnitřních ploch (děr) 317

772 SQL Server – obrys vnitřní plochy (díry) 317

773 SQL Server – definování obrysu geometrického útvaru s odstupem 317

774 SQL Server – nachází se geometrický objekt uvnitř jiného objektu? 318

775 SQL Server – protíná řeka nebo cesta daný pozemek? 318

776 SQL Server – dotýkají se geometrické objekty? 318

777 SQL Server – ukládání geografických objektů do databázové tabulky 319

778 SQL Server – zjištění průsečíku geografických objektů 319

779 SQL Server – vytvoření tabulky s cvičnými údaji pro operace s geografickými objekty 320

780 SQL Server – určování vzdáleností v geografických souřadnicích 321

781 SQL Server – optimální zásobování 321

782 SQL Server – příklad použití vnořeného dotazu 321

783 SQL Server – spatial indexy 322

784 SQL Server – indexy pro geometrické údaje 322

785 SQL Server – indexy pro geografické údaje 322

786 SQL Server – vytvoření Spatial indexu 322

787 Oracle Spatial 323

788 Oracle – datový typ SDO_GEOMETRY 324

789 Oracle – vytvoření tabulky s cvičnými údaji pro pokusy s technologií Spatial 325

790 Oracle – naplnění cvičné tabulky údaji o plochách 325

791 Oracle – pohled obsahující Spatial metadata 326

792 Oracle – výpočet plochy geometrických útvarů 327

793 Oracle – výpočet vzdálenosti mezi geometrickými útvary 327

794 Oracle – zjištění průniku ploch 327

795 Oracle – grafický ekvivalent operace XOR 327

796 Oracle – komplexní příklad pro využití technologie Spatial 328

797 Oracle – vytvoření tabulky s cvičnými údaji pro operace s geografickými objekty 329

798 Oracle – naplnění tabulky cvičnými údaji pro operace s geografickými objekty 330

799 Oracle – vytvoření metadat 330

800 Oracle – vytvoření Spatial indexů 331

801 Oracle – určování vzdáleností v geografických souřadnicích 331

802 Oracle – optimální zásobování 331

Ukládání binárních a multimediálních údajů 333

803 Kombinace databáze a souborového úložiště 333

804 Údaje v databázi, binární dokumenty v souboru 333


Obsah 27

805 Ukládání dokumentů do datového typu BLOB 333

806 SQL Server – uložení dokumentu do datového typu VARBINARY(MAX) 333

807 SQL Server – uložení dokumentu v jazyce C# 334

808 SQL Server – výběr dokumentu z datového typu BLOB 335

809 SQL Server – ukládání dokumentů ze souborů do databáze 335

810 Oracle – uložení dokumentu do datového typu BFILE 336

811 SQL Server – datový typ FILESTREAM 336

812 SQL Server – povolení používání datového typu FILESTREAM 337

813 SQL Server – vytvoření nové databáze využívající datový typ FILESTREAM 337

814 SQL Server – vytvoření tabulky využívající datový typ FILESTREAM 338

815 SQL Server – naplnění tabulky využívající datový typ FILESTREAM 338

816 SQL Server – přístup k údajům datového typu FILESTREAM 339

817 SQL Server – zjištění cesty k souborům datového typu FILESTREAM 339

818 SQL Server – úprava údajů datového typu FILESTREAM 339

Základy administrace 341

819 Správa přístupu 341

820 Nevěřte nikdy nikomu 341

821 Ani jednoduché, ani složité heslo není dobré 341

822 Kdo přistupuje k databázovému serveru a databázi 341

823 Administrátorské připojení 342

824 Schémata jako skupiny vlastnických práv 342

825 Vlastnictví objektů 342

826 Není schéma jako schéma 342

827 Autentizace 343

828 Autorizace 343

829 Vnější a vnitřní bezpečnost 343

830 Správa relací (session management) 343

831 Víceúrovňová bezpečnost (multi-level labeled security) 343

832 Bezpečnost z pohledu jazyka SQL 343

833 Řízení přístupu k údajům pomocí pohledů 344

834 Řízení přístupu přes zabalování objektů 344

835 Autorizace s využitím rolí 344

836 Co udává oprávnění 344

837 SQL Server – řízení přístupových práv 345

838 SQL Server – autentizace systému Windows 345

839 SQL Server – vytvoření nového uživatelského účtu 345

840 SQL Server – bezpečnější vytvoření nového uživatelského účtu 345

841 SQL Server – vytvoření nového uživatele v databázi 346


Obsah28

842 SQL Server – vytvoření nového uživatele ve starších verzích 346

843 SQL Server – změna hesla uživatele ve starších verzích 346

844 SQL Server – odebrání uživatele ve starších verzích 347

845 SQL Server – nastavení práv uživatele pro přístup k databázi 347

846 SQL Server – jak na role 347

847 SQL Server – standardní a aplikační databázové role 347

848 SQL Server – vytvoření role 348

849 SQL Server – vytvoření role ve starších verzích 348

850 SQL Server – přidělení oprávnění pro roli 348

851 SQL Server – přidání uživatelů do role 348

852 SQL Server – výpis seznamu uživatelů 348

853 SQL Server – výpis informací o rolích 349

854 SQL Server – výpis informací o rolích a uživatelích v těchto rolích 349

855 SQL Server – jak na schémata 349

856 SQL Server – vytvoření schématu 349

857 SQL Server – přístup k údajům v tabulkách schématu 349

858 SQL Server – nastavení práv uživatele pro přístup k objektům databáze 350

859 SQL Server – odebírání oprávnění 350

860 Oracle – vytvoření nového uživatele 350

861 Oracle – bezpečnější vytvoření nového uživatele 350

862 Oracle – změna hesla uživatele 350

863 Oracle – odebrání uživatele 351

864 Oracle – přidělování oprávnění pro uživatele 351

865 Oracle – odebírání oprávnění 351

866 Oracle – vytvoření role 351

867 Oracle – přidělování oprávnění rolím 352

868 MySQL – řízení přístupových práv uživatelů 352

869 MySQL – co uchovává tabulka USER 352

870 MySQL – vytvoření nového uživatele 353

871 MySQL – co uchovává tabulka DB 353

872 MySQL – co uchovává tabulka HOST 354

873 MySQL – k čemu slouží tabulky TABLES_PRIV a COLUMNS_PRIV 354

874 MySQL – jak změnit heslo uživatele 354

875 MySQL – jak přidělovat oprávnění 354

876 MySQL – jak odebírat oprávnění 354

Optimalizace na úrovni přístupu a dotazování 355

877 Faktory a cíle optimalizace 355

878 Nejčastější problémy s výkonem 355


Obsah 29

879 Úrovně ladění výkonu 355

880 Co říká pravidlo 80/20 356

881 Co říká pravidlo 20/80 356

882 Definování reálných a měřitelných cílů 356

883 Co způsobuje problémy s výkonem? 356

884 Nadměrné dotazy 357

885 Zvýšená doba odezvy 357

886 Snížená propustnost 357

887 Co může vést k vyčerpání zdrojů 357

888 Pohled za oponu databázového serveru 357

889 Oracle – k čemu slouží System Global Area 358

890 Oracle – k čemu slouží Program Global Area 358

891 Oracle – úspěšnost využívání vyrovnávací mezipaměti 359

892 Oracle – úspěšnost využívání mezipaměti pro buffery 359

893 Oracle – úspěšnost využívání paměti při řazení 359

894 Oracle – jak odhalit dotazy jazyka SQL, které mají nejvyšší spotřebu zdrojů 360

895 Oracle – použití nástroje SQL Tuning Advisor 361

896 Proces provádění dotazu jazyka SQL 362

897 Oracle – vytvoření prováděcího plánu 363

898 Oracle – zobrazení prováděcího plánu 364

899 Oracle – ohodnocení prováděcího plánu pro neindexovaný dotaz 364

900 Oracle – ohodnocení prováděcího plánu pro indexovaný dotaz 365

901 Oracle – optimalizace prováděcích plánů 365

902 Oracle – pravidla pro ovlivnění optimalizace RBO 365

903 Oracle – jak potlačit použití indexů 365

904 Oracle – výpočet statistik pro optimalizaci CBO 365

905 Oracle – zobrazení statistik pro optimalizaci CBO 366

906 Oracle – vymazání statistik pro optimalizaci CBO 366

907 Operátory brání použití indexů 366

908 Funkce brání použití indexů 366

909 Oracle – vytvoření indexu nad funkcí 366

910 Oracle – operátor != brání použití indexu 367

911 Pozor na převod datových typů 367

912 Porovnávejte datum a čas bez použití funkcí 367

913 Oracle – jak využít spojení indexů 368

914 Snažte se vyhnout operátoru LIKE 368

915 Jak funguje upřednostňování atributů 368

916 Vliv pořadí sloupců při vytváření indexu 368

917 Vliv pořadí názvů tabulek v klauzuli FROM 369


Obsah30

918 Vliv pořadí podmínek v klauzuli WHERE 369

919 Používejte klauzuli BETWEEN místo IN 369

920 Oracle – účelové shlukování tabulek do klastrů 370

921 Oracle – shlukování tabulek do klastrů snižuje redundanci 370

922 Oracle – vytvoření klastru 371

923 Oracle – vytvoření tabulek v klastru 371

924 Oracle – vytvoření indexu klastru 371

925 SQL Server – pevné prováděcí plány 372

926 SQL Server – příklad scénáře pro pevný prováděcí plán 372

927 SQL Server – jednorázové vnucení prováděcího plánu pomocí funkce HINT 373

928 SQL Server – vytvoření prováděcího plánu pro dotaz 373

Optimalizace na úrovni databázových struktur 375

929 Rozdělení databázové tabulky na více oddílů 375



       
Knihkupectví Knihy.ABZ.cz – online prodej | ABZ Knihy, a.s.