100_sposobow_na_SQL_100sql.pdf

(370 KB) Pobierz
100 sposobów na SQL
100 sposobw na SQL
Autor: Andrew Cumming, Gordon Russell
TĀumaczenie: Marcin Karbowski
ISBN: 978-83-246-0985-7
TytuĀ oryginaĀu : SQL Hacks
Format: B5, stron: 400
PrzykĀady na ftp: 135 kB
Wydawnictwo Helion
ul. Koľciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
Zbir praktycznych porad dla programistw i projektantw baz danych
¤ Jak obsĀugiwaě rŃne typy danych?
¤ W jaki sposb optymalizowaě wydajnoľě baz danych?
¤ Jak budowaě raporty za pomocĴ jķzyka SQL?
Jesteľ programistĴ, ktremu przypadĀo w udziale opracowanie aplikacji bazodanowej?
Szukasz sposobu na zoptymalizowanie dziaĀania zapytaĺ SQL? A moŃe zastanawiasz
siķ, w jaki sposb sprawnie zarzĴdzaě kontami uŃytkownikw bazy danych? Jķzyk SQL
to potķŃne narzķdzie, ktrego opanowanie pozwoli Ci na sprawne poruszanie siķ
w gĴszczu tabel kaŃdej bazy danych. Za pomocĴ odpowiednio sformuĀowanych
instrukcji moŃna manipulowaě danymi, zarzĴdzaě kontami uŃytkownikw i generowaě
raporty. Jednak, pomimo stosunkowo niewielkiej iloľci poleceĺ, jķzyk SQL kryje w sobie
wiele zawiĀoľci.
Dziķki ksiĴŃce â 100 sposobw na SQL Ò nie bķdziesz musiaĀ odkrywaě kaŃdej z nich
samodzielnie. W kaŃdym z rozdziaĀw znajdziesz praktyczne porady i sposoby
rozwiĴzywania typowych zadaĺ programistycznych zwiĴzanych z bazami danych
i jķzykiem SQL. Poznasz podstawy jķzyka, dowiesz siķ, w jaki sposb przetwarzaě
rŃne typy danych i korzystaě z symboli zastķpczych. Nauczysz siķ tworzyě aplikacje
sieciowe, optymalizowaě wydajnoľě tabel i zapytaĺ SQL oraz tworzyě raporty.
Przeczytasz ponadto o administrowaniu serwerem bazy danych i udostķpnianiu tabel
uŃytkownikom.
¤ Podstawowe elementy jķzyka SQL
¤ ÿĴczenie tabel
¤ Przetwarzanie danych tekstowych
¤ Operacje na liczbach i datach
¤ Bazy danych w aplikacjach sieciowych
¤ Zapytania niezaleŃne od tabel
¤ Maksymalizowanie wydajnoľci zapytaĺ
¤ Tworzenie raportw
¤ Administrowanie kontami uŃytkownikw
¤ Udostķpnianie informacji
Zostaĺ ekspertem w programowaniu baz danych!
692012481.006.png 692012481.007.png 692012481.008.png 692012481.009.png 692012481.001.png
Spis treści
Twórcy książki ................................................................................................................................9
Wstęp .............................................................................................................................................11
Rozdział 1. Podstawy SQL ...........................................................................................................19
1.
Uruchamianie SQL za pomocą wiersza poleceń ........................................................ 19
2.
Nawiązywanie połączenia między aplikacją a bazą danych SQL .................................. 27
3.
Warunkowe polecenia INSERT ..................................................................................... 32
4.
Polecenie UPDATE .......................................................................................................... 36
5.
Rozwiązywanie krzyżówek w SQL .............................................................................. 39
6.
Nie powtarzajcie bez przerwy tych samych obliczeń ................................................ 41
Rozdział 2. Polecenia JOIN, UNION oraz VIEW ..........................................................................45
7.
Modyfikowanie schematu bez naruszania kwerend ................................................. 45
8.
Filtrowanie wierszy i kolumn ........................................................................................ 47
9.
Filtrowanie kolumn indeksowanych ............................................................................ 50
10.
Konwertowanie podzapytań na wyrażenia JOIN ...................................................... 52
11.
Konwertowanie zagregowanych podzapytań na wyrażenia JOIN ......................... 55
12.
Upraszczanie skomplikowanych poleceń UPDATE .................................................. 56
13.
Dopasowywanie złączeń do relacji ............................................................................... 58
14.
Tworzenie kombinacji ..................................................................................................... 61
Rozdział 3. Obsługa tekstu ..........................................................................................................65
15.
Wyszukiwanie słów kluczowych bez użycia operatora LIKE ................................. 65
16.
Wyszukiwanie ciągów tekstowych w kolumnach ..................................................... 69
17.
Rozwiązywanie anagramów .......................................................................................... 71
18.
Sortowanie poczty elektronicznej ................................................................................. 76
Rozdział 4. Daty ............................................................................................................................81
19.
Konwertowanie ciągów tekstowych na daty .............................................................. 81
20.
Wyszukiwanie trendów .................................................................................................. 85
21.
Tworzenie raportów w oparciu o dowolne przedziały czasowe ................................. 89
22.
Raporty kwartalne ........................................................................................................... 94
23.
Drugi wtorek miesiąca .................................................................................................... 97
Spis treści |
5
692012481.002.png
Rozdział 5. Dane liczbowe ......................................................................................................... 103
24.
Mnożenie wartości ......................................................................................................... 103
25.
Sumy pośrednie ............................................................................................................. 105
26.
Dołączanie wierszy pominiętych przez wyrażenie JOIN ....................................... 109
27.
Identyfikowanie nakładających się zakresów ........................................................... 111
28.
Unikanie dzielenia przez zero ..................................................................................... 114
29.
Wyrażenie COUNT ....................................................................................................... 115
30.
Wyznaczanie wartości maksymalnej z dwóch pól .................................................. 118
31.
Dzielenie rezultatów funkcji COUNT ........................................................................ 120
32.
Błędy podczas zaokrąglania ........................................................................................ 121
33.
Jednoczesne pobieranie wartości i sum częściowych .............................................. 123
34.
Obliczanie mediany ....................................................................................................... 126
35.
Przedstawianie wyników w formie wykresu ........................................................... 130
36.
Obliczanie odległości między lokalizacjami wskazywanymi przez system GPS .... 132
37.
Porównywanie faktur i wpłat ...................................................................................... 136
38.
Wyszukiwanie błędów transpozycji ........................................................................... 139
39.
Naliczanie podatku progresywnego .......................................................................... 143
40.
Rangi ................................................................................................................................ 146
Rozdział 6. Aplikacje sieciowe .................................................................................................. 149
41.
Kopiowanie stron internetowych do tabeli ............................................................... 149
42.
Prezentowanie danych z wykorzystaniem skalowalnej grafiki wektorowej ...... 157
43.
Wzbogacanie aplikacji sieciowych o narzędzia do nawigacji ................................ 164
44.
Definiowanie połączenia między systemem MySQL a programem Access ........ 170
45.
Przetwarzanie dzienników serwerów sieciowych ................................................... 174
46.
Przechowywanie obrazów w bazie danych .............................................................. 181
47.
Atak SQL injection ......................................................................................................... 185
48.
Zapobieganie atakowi SQL injection .......................................................................... 191
Rozdział 7. Porządkowanie danych .......................................................................................... 197
49.
Śledzenie rzadko zmieniających się wartości ........................................................... 197
50.
Łączenie tabel zawierających różne dane .................................................................. 200
51.
Wyświetlanie wierszy w charakterze kolumn .......................................................... 202
52.
Wyświetlanie kolumn w charakterze wierszy .......................................................... 205
53.
Usuwanie niespójnych rekordów ............................................................................... 207
54.
Denormalizowanie tabel ............................................................................................... 209
55.
Importowanie danych innych użytkowników ......................................................... 211
56.
Zabawa w swatanie ....................................................................................................... 213
57.
Generowanie unikalnych numerów sekwencyjnych ............................................... 215
6
| Spis treści
692012481.003.png
Rozdział 8. Przechowywanie małych ilości danych ................................................................221
58.
Przechowywanie parametrów w bazie danych ........................................................ 221
59.
Definiowanie osobnych parametrów dla poszczególnych użytkowników ......... 227
60.
Lista parametrów ........................................................................................................... 231
61.
Bezpieczeństwo oparte na wierszach ......................................................................... 232
62.
Wykonywanie kwerend bez wykorzystywania tabel .............................................. 235
63.
Tworzenie wierszy bez udziału tabel ......................................................................... 237
Rozdział 9. Blokowanie i wydajność .........................................................................................241
64.
Określanie poziomu izolacji ......................................................................................... 241
65.
Blokowanie pesymistyczne .......................................................................................... 246
66.
Blokowanie optymistyczne .......................................................................................... 248
67.
Niejawne blokowanie wewnątrz transakcji ............................................................... 251
68.
Obsługa powtarzanych operacji .................................................................................. 252
69.
Wykonywanie funkcji w bazie danych ...................................................................... 257
70.
Łączenie kwerend .......................................................................................................... 259
71.
Pobieranie dużej liczby wierszy .................................................................................. 261
72.
Pobieranie podzbioru uzyskanych rezultatów ......................................................... 264
73.
Przechowywanie plików w bazie danych ................................................................. 266
74.
Porównywanie i synchronizowanie tabel .................................................................. 270
75.
Minimalizowanie obciążenia łącz dla zbyt wielu złączeń ...................................... 274
76.
Kompresowanie w celu uniknięcia typu danych LOB ............................................ 278
Rozdział 10. Raporty ...................................................................................................................281
77.
Uzupełnianie brakujących wartości w tabeli przestawnej ...................................... 281
78.
Podział na zakresy ......................................................................................................... 286
79.
Jednoznaczne identyfikowanie aktualizacji .............................................................. 290
80.
Sześć stopni od Kevina Bacona .................................................................................... 295
81.
Tabele decyzyjne ............................................................................................................ 298
82.
Generowanie sekwencyjnych lub brakujących danych ........................................... 302
83.
Wyszukiwanie n pierwszych wierszy w grupach .................................................... 309
84.
Przechowywanie list wartości oddzielonych przecinkami w kolumnach ........... 312
85.
Analizowanie prostych drzewek ................................................................................. 314
86.
Definiowanie kolejek w bazie danych ........................................................................ 318
87.
Tworzenie kalendarza ................................................................................................... 319
88.
Testowanie dwóch wartości za pomocą podzapytania ........................................... 322
89.
Wybieranie trzech możliwości spośród pięciu ......................................................... 324
Spis treści |
7
692012481.004.png
Rozdział 11. Użytkownicy i administracja ................................................................................ 329
90.
Implementowanie kont na poziomie aplikacji ......................................................... 329
91.
Eksportowanie i importowanie definicji tabel .......................................................... 336
92.
Wdrażanie aplikacji ....................................................................................................... 345
93.
Automatyczne tworzenie kont użytkowników ........................................................ 350
94.
Tworzenie kont użytkowników i administratorów ................................................. 352
95.
Automatyczne aktualizacje .......................................................................................... 355
96.
Tworzenie dziennika zdarzeń ..................................................................................... 358
Rozdział 12. Szerszy dostęp ...................................................................................................... 363
97.
Anonimowe konta ......................................................................................................... 364
98.
Wyszukiwanie i przerywanie długo wykonywanych kwerend ............................... 366
99.
Zarządzanie przestrzenią dyskową ............................................................................ 370
100.
Uruchamianie kwerend za pośrednictwem stron internetowych ......................... 374
Skorowidz .................................................................................................................................. 381
8
| Spis treści
692012481.005.png
Zgłoś jeśli naruszono regulamin