Obsah
3
Obsah Novinky v tomto vydání Význam základních principů Výuka principů nezávisle na databázových produktech Klíčové pojmy, kontrolní otázky, cvičení, případové studie a projekty Software, na který kniha odkazuje Změny od pátého vydání Přehled obsahu knihy Poděkování Zpětná vazba od čtenářů Errata
O autorech
10 11 12 12 12 13 14 14 15 15
17 PRVNÍ ČÁST
Základy databází KAPITOLA 1
Začínáme Proč používat databázi Problémy se seznamy Použití relačních databázových tabulek Zpracování relačních tabulek
Co to je databázový systém Databáze Systém řízení databáze Porovnání osobních databázových systémů se systémy podnikové třídy Systém řízení vztahů se zákazníky společnosti „Wallingford Motors“ Vytvoření databáze Microsoft Access Uživatelské rozhraní Fluent systému Microsoft Office Zavření databáze a ukončení systému Microsoft Access Otevření existující databáze Microsoft Access Vytvoření tabulky databáze Microsoft Access Vložení dat do tabulek: zobrazení datového listu Úpravy dat v tabulkách: zobrazení datového listu Odstranění řádků v tabulkách: zobrazení datového listu Vložení dat do tabulek: použití formuláře Úpravy dat a odstranění záznamů: použití formuláře Vytvoření sestavy systému Microsoft Access s jednou tabulkou Zavření databáze a ukončení systému Microsoft Access 2010
Shrnutí Klíčové pojmy Cvičení Cvičení ke kurzu systému Access
K2136_sazba.indd 3
19 20 20 22 27
29 30 31 34 40 41 43 44 46 47 55 58 59 61 63 63 67
68 68 70 71
22.12.2014 12:39:08
4
Obsah
Otázky k případové studii agentury San Juan Sailboat Charters Otázky k projektu Garden Glory Otázky k projektu Queen Anne Curiosity Shop
73 74 74
KAPITOLA 2
Relační model Relace Ukázka relace a dvou nerelačních tabulek Poznámka k prezentaci relačních struktur Terminologická poznámka
Typy klíčů
77 78 78 79 80
81
Složené klíče Kandidátní a primární klíče Náhradní klíče Cizí klíče a referenční integrita
81 82 85 86
Problém hodnot null Funkční závislosti a normalizace
90 90
Funkční závislosti Definice primárních a kandidátních klíčů Normalizace Principy relačního návrhu Proces normalizace Příklady normalizace
Část 2 Práce s více tabulkami v systému Microsoft Access
91 92 92 93 94 96
101
Možné modifikační problémy v databázi WMCRM Práce s více tabulkami Vytvoření vztahů mezi tabulkami Použití formuláře, který zahrnuje dvě tabulky Vytvoření sestavy, která zahrnuje data ze dvou tabulek Zavření databáze a ukončení systému Microsoft Access
101 107 109 112 113 115
Shrnutí Klíčové pojmy Cvičení Cvičení ke kurzu systému Access Otázky k případové studii společnosti Regional Labs Otázky k projektu Garden Glory Otázky k projektu Queen Anne Curiosity Shop
116 117 119 120 123 124 125
KAPITOLA 3
Jazyk SQL Ukázková databáze „Nefunguje ve verzi ANSI-89 jazyka SQL v systému Microsoft Access“
Definování dat pomocí jazyka SQL Definování primárních klíčů pomocí omezení tabulky Definování cizích klíčů pomocí omezení tabulky Odeslání kódu SQL databázovému systému
Vkládání relačních dat pomocí jazyka SQL Vkládání dat
Relační dotazy v jazyce SQL Struktura SELECT/FROM/WHERE jazyka SQL Načtení určitých řádků z jedné tabulky
K2136_sazba.indd 4
127 128 132
133 136 140 142
145 145
148 148 151
22.12.2014 12:39:08
Obsah
Načtení určitých řádků a určitých sloupců z jedné tabulky Rozsahy, zástupné znaky a hodnoty null v klauzulích WHERE Řazení výsledků dotazu Integrované funkce a výpočty v jazyku SQL Integrované funkce a seskupování Dotazování na více tabulek pomocí poddotazů Dotazování na více tabulek pomocí spojení Syntaxe JOIN … ON jazyka SQL Vnitřní a vnější spojení
Úpravy a odstranění relačních dat pomocí jazyka SQL Úpravy dat Odstranění dat
5
153 154 157 159 161 162 164 168 171
173 174 176
Úpravy a odstranění tabulek a omezení pomocí jazyka SQL Příkaz DROP TABLE Příkaz ALTER TABLE Příkaz TRUNCATE TABLE Omezení CHECK
177 177 177 178 178
Pohledy SQL Část 3 Práce s dotazy v systému Microsoft Access Práce s kódem SQL v systému Microsoft Access Práce s rozhraním QBE systému Microsoft Access Práce s parametrickými dotazy systému Microsoft Access Vytvoření tabulek pomocí jazyka SQL v systému Microsoft Access Úpravy tabulek systému Access kvůli přidání požadavků na data, které jazyk SQL v systému Access nepodporuje Vložení dat pomocí jazyka SQL v systému Microsoft Access Přidání omezení referenční integrity pomocí jazyka SQL v systému Access Úpravy databází Access kvůli přidání omezení, které jazyk SQL v systému Access nepodporuje Zavření databáze a ukončení systému Access
Shrnutí Klíčové pojmy Kontrolní otázky Cvičení Cvičení ke kurzu systému Access Otázky k případové studii firmy Heather Sweeney Designs Otázky k projektu Garden Glory Otázky k projektu Queen Anne Curiosity Shop
179 180 180 184 190 191 194 199 203 204 207
207 209 209 214 215 219 228 229
DRUHÁ ČÁST
Databázový návrh KAPITOLA 4
Datové modelování a E-R model Analýza požadavků Datový E-R model Entity Atributy Identifikátory Vztahy
E-R diagramy Varianty E-R modelu
K2136_sazba.indd 5
243 236 237 237 238 238 239
241 242
22.12.2014 12:39:08
6
Obsah
Varianty E-R modelu v produktech datového modelování Slabé entity ID-závislé entity ID-nezávislé slabé entity Entity podtypů Rekurzivní vztahy
243 244 245 246 248 250
Vývoj ukázkového E-R diagramu Heather Sweeney Designs
250 250
Seznam účastníků semináře Formulářový dopis zákazníkům Prodejní faktura Specifikace atributů Obchodní pravidla Ověření datového modelu
250 252 255 256 256 258
Část 4 Prototypování pomocí systému Microsoft Access Vytvoření prototypu formuláře pro původní datový model Vytvoření prototypu formuláře pro upravený datový model Pásmové editory formulářů a sestav v systému Microsoft Access Práce s přepínacími panely systému Microsoft Access Zavření databáze a ukončení systému Microsoft Access
Shrnutí Klíčové pojmy Cvičení Cvičení ke kurzu systému Access Případová studie instruktorského programu na Highline University Otázky k případové studii Washington State Patrol Otázky k projektu Garden Glory Otázky k projektu Queen Anne Curiosity Shop
258 260 260 265 266 267
267 268 270 270 271 273 274 274
KAPITOLA 5
Databázový návrh Transformace datového modelu na návrh databáze Reprezentace entit v relačním modelu Reprezentace entity ITEM Reprezentace entity CUSTOMER Denormalizace Relační návrh entity SALES_COMMISSION Reprezentace slabých entit
Reprezentování vztahů Vztahy mezi silnými entitami Vztahy se slabými entitami Vztahy s podtypy Reprezentování rekurzivní ch vztahů
Databázový návrh pro firmu Heather Sweeney Designs Slabé entity Ověření normalizace Určení vlastností sloupců Vztahy Vynucování referenční integrity
Část 5 Vztahy v systému Microsoft Access Vztahy N:M v systému Microsoft Access Vztahy 1:1 v systému Microsoft Access Zavření databáze a ukončení systému Microsoft Access
K2136_sazba.indd 6
277 277 278 278 280 281 282 284
287 287 293 296 297
299 300 300 301 302 303
305 305 305 311
22.12.2014 12:39:08
Obsah
Shrnutí Klíčové pojmy Cvičení Cvičení ke kurzu systému Access Otázky k případové studii agentury San Juan Sailboat Charters Otázky k případové studii Washington State Patrol Otázky k projektu Garden Glory Otázky k projektu Queen Anne Curiosity Shop
7
311 311 314 314 315 316 317 318
TŘETÍ ČÁST
Správa databází KAPITOLA 6
Administrace databází Implementace databáze firmy Heather Sweeney Designs Význam kontroly, zabezpečení a spolehlivosti Kontrola souběžnosti Potřeba atomických transakcí Zpracování souběžných transakcí Problém ztracené aktualizace Problémy se souběžností: nečistá čtení, neopakovatelná čtení a fantomní čtení Uzamykání prostředků Serializovatelné transakce Uváznutí Optimistické a pesimistické uzamykání Deklarace vlastností zámku Konzistentní transakce Úroveň izolace transakcí
Typy kurzorů Zabezpečení databáze Uživatelské účty Práva a povinnosti uživatelů při zpracování Zabezpečení na úrovni databázového systému Zabezpečení na úrovni aplikace
Zálohování a obnovení databáze Obnovení založené na opakovaném zpracování Obnovení pomocí vrácení zpět a postupu vpřed
Další úkoly databázového administrátora Část 6 Administrace databází v systému Microsoft Access
K2136_sazba.indd 7
321 322 323 324 324 326 326 327 328 329 329 330 331 332 333
334 336 337 337 340 341
342 343 343
346 347
Zabezpečení databází v systému Microsoft Access Zabezpečení databází v systému Microsoft Access 2010
347 348
Shrnutí Klíčové pojmy Cvičení Cvičení ke kurzu systému Access Otázky k případové studii firmy Marcia’s Dry Cleaning Otázky k projektu Garden Glory Otázky k projektu Queen Anne Curiosity Shop
367 370 372 373 374 374 376
22.12.2014 12:39:08
8
Obsah
KAPITOLA 7
Aplikace databázového zpracování Prostředí zpracování databáze Dotazy, formuláře a sestavy Klient-server a tradiční aplikační zpracování Uložené procedury a spouště
Webové databázové zpracování ODBC Webové zpracování pomocí webového serveru Microsoft IIS Začínáme s webovým stránkami v jazyce HTML Webová stránka index.html Vytvoření webové stránky index.html Webové databázové zpracování pomocí jazyka PHP Aktualizace tabulky pomocí jazyka PHP Problémy při webovém databázovém zpracování Útoky SQL injection
379 380 380 382 383
383 385 390 392 393 393 395 402 406 408
Databázové zpracování a jazyk XML
409
Význam jazyka XML XML jako značkovací jazyk Jazyk XML a databázové zpracování XML Web Services
409 409 410 410
Část 7 Webové databázové zpracování pomocí systému Microsoft Access
412
Vytvoření pohledu na kontakty se zákazníky Webová domovská stránka společnosti Wallingford Motors Výběr databázového souboru Vytvoření zdroje dat ODBC Vytvoření stránky PHP Spuštění stránky PHP Závěr
412 412 415 416 416 417 420
Shrnutí Klíčové pojmy Cvičení Cvičení ke kurzu systému Access Otázky k případové studii firmy Marcia’s Dry Cleaning Otázky k projektu Garden Glory Otázky k projektu Queen Anne Curiosity Shop
420 422 424 426 427 429 430
KAPITOLA 8
Veledata (Big Data), datové sklady a systémy Business Intelligence Systémy Business Intelligence Vztahy mezi provozními systémy a systémy BI Vykazovací systémy a aplikace dolování dat Vykazovací systémy Aplikace dolování dat
Datové sklady a datová tržiště Komponenty datového skladu Datové sklady versus datová tržiště Databáze dimenzí
K2136_sazba.indd 8
431 433 433 434 434 435
435 435 437 438
22.12.2014 12:39:08
Obsah
OLAP (Online Analytical Processing) Distribuované databázové zpracování
445 448
Typy distribuovaných databází Problémy s distribuovanými databázemi
449 450
Objektově-relační databáze Veledata (Big Data) a hnutí Not Only SQL
451 452
Strukturované úložiště Proces MapReduce Hadoop
Část 8 Systémy Business Intelligence založené na systému Microsoft Access Vytvoření zobrazovacího dotazu pro sestavu OLAP Vytvoření listu Microsoft Excel pro sestavu OLAP Vytvoření základní sestavy OLAP Vytvoření struktury sestavy OLAP Úpravy sestavy OLAP Závěr
Shrnutí Klíčové pojmy Cvičení Cvičení ke kurzu systému Access Otázky k případové studii firmy Marcia’s Dry Cleaning Otázky k projektu Garden Glory Otázky k projektu Queen Anne Curiosity Shop
452 453 454
455 455 458 459 461 466 467
468 470 472 473 473 475 475
Slovník pojmů
477
Rejstřík
490
K2136_sazba.indd 9
9
22.12.2014 12:39:08