Księgarnia Informatyczno-Techniczna w Lublinie   Księgarnia Informatyczno-Techniczna w Lublinie
Projekty budowlane
SZUKAJ

Zaawansowane wyszukiwanie

SZYBKI ZAKUP
Wpisz model.

OSTATNIO OGLĄDANE:

The Smashing Book # 2. Edycja polska.

The Smashing Book # 2. Edycja polska.

Cena detaliczna 69,00 zł
Cena promocyjna 55,20 zł


nie zaw. kosztów wysyłki

Dodatkowa informacja na stronie Moje dane

Znajdziesz tutaj:
Inne graficzne

RECENZJE
NOWE PRODUKTY

Oświetlenie. Kreatywna fotografia.

Oświetlenie. Kreatywna fotografia.

Cena detaliczna 59,00 zł
Cena promocyjna 47,20 zł


nie zaw. kosztów wysyłki

AUTORZY

Antywzorce języka SQL. Jak unikać pułapek podczas programowania baz danych. Baza programisty.

Cena detaliczna 69,00 zł
Cena promocyjna 55,20 zł


nie zaw. kosztów wysyłki

MODEL: 978-83-246-3482-8

Wydrukuj kartę produktu 

Dostawa:   1-2 Dni

Antywzorce języka SQL. Jak unikać pułapek podczas programowania baz danych
Autor: Bill Karwin
Data wydania: 2012/01
Stron: 400
    Tytuł oryginału: SQL Antipatterns: Avoiding the Pitfalls of Database Programming
    Tłumaczenie: Mikołaj Szczepaniak
    ISBN: 9788324634828 / 978-83-246-3482-8
    Format: 158x235
    Oprawa: miękka
    Numer z katalogu: 7514

Wydawnictwo Helion

Zobacz, jak tego nie robić!

    Jak nie projektować modelu logicznego i fizycznego bazy danych?
    Jak nie zadawać zapytań SQL?
    Jak nie wytwarzać aplikacji?

Podobno najlepiej jest uczyć się na cudzych błędach. Ta mądrość sprawdza się w wielu dziedzinach życia, także w informatyce. Ile razy brnąłeś w złe rozwiązanie, aż ktoś powiedział: "tak się nie robi"? Czy nie pomyślałeś wtedy o książce, w której zamiast metod rozwiązywania danych problemów znalazłbyś informacje, jak do nich nie dopuścić? Chciałbyś, żeby ta książka dotyczyła języka SQL? Oto ona!

Niniejsza publikacja przedstawia zbiór antywzorców w języku SQL. Dzięki niej poznasz błędy najczęściej popełniane przy projektowaniu i wykorzystywaniu baz danych. Dowiesz się z niej, jak nie tworzyć logicznego i fizycznego projektu bazy danych, jak nie zadawać zapytań SQL oraz jak nie wytwarzać aplikacji - a wszystko po to, aby zrozumieć, jak nie popełniać błędów. W każdej z czterech części znajdziesz ogrom interesujących informacji: poznasz zasady przechowywania haseł, błędy pojawiające się w wyniku zaokrągleń czy sposoby radzenia sobie z brakiem integralności bazy danych. Książka ta jest genialną pozycją, dzięki której już nigdy nie zboczysz z drogi w codziennej pracy z bazami danych i językiem SQL!

    Antywzorce logicznego projektu bazy danych
    Modelowanie drzew
    Tworzenie kluczy głównych
    Związki polimorficzne
    Atrybuty wielokolumnowe
    Antywzorce fizycznego projektu bazy danych
    Błędy zaokrągleń
    Przechowywanie dużych plików
    Indeksy
    Antywzorce zapytań
    Wykorzystanie NULL-a
    Grupowanie kolumn
    Losowe wybieranie wiersza
    Przeszukiwanie tekstów
    Optymalizacja zapytań SQL
    Antywzorce wytwarzania aplikacji
    Przechowywanie haseł
    Wstrzykiwanie SQL

Ucz się na błędach... Cudzych!

Spis treści

Rozdział 1. Wprowadzenie 11

    1.1. Dla kogo jest ta książka 13
    1.2. Co znajduje się w tej książce 14
    1.3. Czego nie ma w tej książce 16
    1.4. Konwencje 18
    1.5. Przykładowa baza danych 19
    1.6. Podziękowania 22

Część I. Antywzorce logicznego projektu bazy danych 23
Rozdział 2. Przechodzenie na czerwonym świetle 25

    2.1. Cel: przechowywanie atrybutów wielowartościowych 26
    2.2. Antywzorzec: listy elementów oddzielonych przecinkami 27
    2.3. Jak rozpoznać ten antywzorzec 31
    2.4. Usprawiedliwione użycia tego antywzorca 31
    2.5. Rozwiązanie: utworzenie tabeli łączącej 32

Rozdział 3. Naiwne drzewa 37

    3.1. Cel: przechowywanie i uzyskiwanie hierarchii 38
    3.2. Antywzorzec: zawsze odwołuj się do rodzica 39
    3.3. Jak rozpoznać ten antywzorzec 43
    3.4. Usprawiedliwione użycia tego antywzorca 44
    3.5. Rozwiązanie: należy użyć alternatywnych modeli drzew 46

Rozdział 4. Identyfikator potrzebny od zaraz 61

    4.1. Cel: wypracowanie konwencji dla kluczy głównych 62
    4.2. Antywzorzec: jeden rozmiar dla wszystkich 64
    4.3. Jak rozpoznać ten antywzorzec 69
    4.4. Usprawiedliwione użycia tego antywzorca 70
    4.5. Rozwiązanie: klucz skrojony na miarę 70

Rozdział 5. Wpis bez klucza 75

    5.1. Cel: uproszczenie architektury bazy danych 76
    5.2. Antywzorzec: rezygnacja z ograniczeń 77
    5.3. Jak rozpoznać ten antywzorzec 80
    5.4. Usprawiedliwione użycia tego antywzorca 81
    5.5. Rozwiązanie: deklarowanie ograniczeń 81

Rozdział 6. Encja-atrybut-wartość 85

    6.1. Cel: obsługa zmiennych atrybutów 86
    6.2. Antywzorzec: zastosowanie uniwersalnej tabeli atrybutów 87
    6.3. Jak rozpoznać ten antywzorzec 93
    6.4. Usprawiedliwione użycia tego antywzorca 94
    6.5. Rozwiązanie: modelowanie podtypów 95

Rozdział 7. Związki polimorficzne 103

    7.1. Cel: odwołania do wielu rodziców 104
    7.2. Antywzorzec: zastosowanie dwuzadaniowego klucza obcego 105
    7.3. Jak rozpoznać ten antywzorzec 109
    7.4. Usprawiedliwione użycia tego antywzorca 110
    7.5. Rozwiązanie: uproszczenie relacji 110

Rozdział 8. Atrybuty wielokolumnowe 117

    8.1. Cel: przechowywanie atrybutów wielowartościowych 118
    8.2. Antywzorzec: utworzenie wielu kolumn 118
    8.3. Jak rozpoznać ten antywzorzec 122
    8.4. Usprawiedliwione użycia tego antywzorca 123
    8.5. Rozwiązanie: utworzenie tabeli zależnej 124

Rozdział 9. Tribble metadanych 127

    9.1. Cel: zapewnienie skalowalności 128
    9.2. Antywzorzec: klonowanie tabel lub kolumn 129
    9.3. Jak rozpoznać ten antywzorzec 134
    9.4. Usprawiedliwione użycia tego antywzorca 135
    9.5. Rozwiązanie: partycjonowanie i normalizacja 137

Część II. Antywzorce fizycznego projektu bazy danych 141
Rozdział 10. Błędy zaokrągleń 143

    10.1. Cel: stosowanie liczb ułamkowych zamiast liczb całkowitych 144
    10.2. Antywzorzec: stosowanie typu danych FLOAT 144
    10.3. Jak rozpoznać ten antywzorzec 149
    10.4. Usprawiedliwione użycia tego antywzorca 150
    10.5. Rozwiązanie: stosowanie typu danych NUMERIC 150

Rozdział 11. 31 smaków 153

    11.1. Cel: ograniczenie zakresu danych kolumny do określonych wartości 154
    11.2. Antywzorzec: określanie wartości w definicji kolumny 155
    11.3. Jak rozpoznać ten antywzorzec 159
    11.4. Usprawiedliwione użycia tego antywzorca 160
    11.5. Rozwiązanie: określanie akceptowanych wartości na poziomie danych 160

Rozdział 12. Pliki-widma 165

    12.1. Cel: przechowywanie obrazów i innych dużych zasobów 166
    12.2. Antywzorzec: przekonanie o konieczności stosowania plików 167
    12.3. Jak rozpoznać ten antywzorzec 171
    12.4. Usprawiedliwione użycia tego antywzorca 172
    12.5. Rozwiązanie: stosowanie typów danych BLOB 173

Rozdział 13. Strzelanie indeksami 177

    13.1. Cel: optymalizacja wydajności 178
    13.2. Antywzorzec: stosowanie indeksów bez żadnego planu 179
    13.3. Jak rozpoznać ten antywzorzec 184
    13.4. Usprawiedliwione użycia tego antywzorca 184
    13.5. Rozwiązanie: zasada MENTOR dla indeksów 185

Część III. Antywzorce zapytań 193
Rozdział 14. Strach przed nieznanym 195

    14.1. Cel: odróżnianie brakujących wartości 196
    14.2. Antywzorzec: stosowanie NULL jako zwykłej wartości lub odwrotnie 197
    14.3. Jak rozpoznać ten antywzorzec 201
    14.4. Usprawiedliwione użycia tego antywzorca 202
    14.5. Rozwiązanie: stosowanie NULL jako unikatowej wartości 203

Rozdział 15. Niejasne grupy 209

    15.1. Cel: uzyskiwanie wiersza z największą wartością w skali grupy 210
    15.2. Antywzorzec: odwołania do niegrupowanych kolumn 211
    15.3. Jak rozpoznać ten antywzorzec 214
    15.4. Usprawiedliwione użycia tego antywzorca 215
    15.5. Rozwiązanie: jednoznaczne stosowanie kolumn 216

Rozdział 16. Losowy wybór 223

    16.1. Cel: uzyskiwanie przypadkowego wiersza 224
    16.2. Antywzorzec: losowe sortowanie danych 225
    16.3. Jak rozpoznać ten antywzorzec 226
    16.4. Usprawiedliwione użycia tego antywzorca 227
    16.5. Rozwiązanie: brak ustalonej kolejności... 228

Rozdział 17. Wyszukiwarka nędzarza 233

    17.1. Cel: pełne przeszukiwanie tekstu 234
    17.2. Antywzorzec: predykaty dopasowywania wzorców 235
    17.3. Jak rozpoznać ten antywzorzec 236
    17.4. Usprawiedliwione użycia tego antywzorca 237
    17.5. Rozwiązanie: stosowanie narzędzi odpowiednio dobranych do realizowanych zadań 237

Rozdział 18. Zapytanie-spaghetti 251

    18.1. Cel: ograniczenie liczby zapytań SQL-a 252
    18.2. Antywzorzec: rozwiązanie złożonego problemu w jednym kroku 253
    18.3. Jak rozpoznać ten antywzorzec 256
    18.4. Usprawiedliwione użycia tego antywzorca 257
    18.5. Rozwiązanie: dziel i zwyciężaj 257

Rozdział 19. Ukryte kolumny 263

    19.1. Cel: ograniczyć ilość wpisywanego kodu 264
    19.2. Antywzorzec: skrót prowadzący na manowce 265
    19.3. Jak rozpoznać ten antywzorzec 267
    19.4. Usprawiedliwione użycia tego antywzorca 268
    19.5. Rozwiązanie: należy wprost nazywać kolumny 269

Część IV. Antywzorce wytwarzania aplikacji 273
Rozdział 20. Czytelne hasła 275

    20.1. Cel: odzyskiwanie lub resetowanie haseł 276
    20.2. Antywzorzec: przechowywanie haseł w formie zwykłego tekstu 276
    20.3. Jak rozpoznać ten antywzorzec 279
    20.4. Usprawiedliwione użycia tego antywzorca 280
    20.5. Rozwiązanie: przechowywanie zabezpieczonych kodów haseł 281

Rozdział 21. Wstrzykiwanie SQL-a 289

    21.1. Cel: pisanie dynamicznych zapytań języka SQL 290
    21.2. Antywzorzec: wykonywanie niesprawdzonych danych wejściowych jako kodu 291
    21.3. Jak rozpoznać ten antywzorzec 299
    21.4. Usprawiedliwione użycia tego antywzorca 300
    21.5. Rozwiązanie: nie ufać nikomu 301

Rozdział 22. Obsesja czystości pseudokluczy 309

    22.1. Cel: sprzątanie danych 310
    22.2. Antywzorzec: wypełnianie luk 311
    22.3. Jak rozpoznać ten antywzorzec 314
    22.4. Usprawiedliwione użycia tego antywzorca 314
    22.5. Rozwiązanie: zapomnieć o problemie 315

Rozdział 23. Przymykanie oczu na zło 321

    23.1. Cel: pisać mniej kodu 322
    23.2. Antywzorzec: ścinanie zakrętów 323
    23.3. Jak rozpoznać ten antywzorzec 326
    23.4. Usprawiedliwione użycia tego antywzorca 327
    23.5. Rozwiązanie: elegancka obsługa błędów 327

Rozdział 24. Immunitet dyplomatyczny 331

    24.1. Cel: stosowanie najlepszych praktyk 332
    24.2. Antywzorzec: kod SQL-a jako obywatel drugiej kategorii 333
    24.3. Jak rozpoznać ten antywzorzec 334
    24.4. Usprawiedliwione użycia tego antywzorca 335
    24.5. Rozwiązanie: ustanowienie możliwie szerokiej kultury jakości 336

Rozdział 25. Magiczna fasola 347

    25.1. Cel: upraszczanie modeli w architekturze model-widok-komponent 348
    25.2. Antywzorzec: model jako rekord aktywny Active Record 350
    25.3. Jak rozpoznać ten antywzorzec 356
    25.4. Usprawiedliwione użycia tego antywzorca 357
    25.5. Rozwiązanie: model zawierający rekord aktywny 358

Dodatki 365
Dodatek A. Reguły normalizacji 367

    A.1. Co to oznacza, że baza jest relacyjna? 368
    A.2. Mity dotyczące normalizacji 371
    A.3. Czym jest normalizacja? 372
    A.4. Zdrowy rozsądek 383

Dodatek B. Bibliografia 385
Skorowidz 387

Autor: Karwin Bill
Rok wydania: 2012
ISBN: 978-83-246-3482-8

Data dodania do sklepu niedziela, 05 luty 2012.


Opinie klientów:

Możesz dodać swoją recenzję nt. produktu.

Napisz recenzję

 » KOSZYK

Koszyk jest pusty.

 » Witamy ponownie !

Adres e-mail:

Hasło:

Nowe konto | Nie pamiętasz hasła?

SUBSKRYPCJA
Adres e-mail

TWÓJ STATUS

Grupa klientów: Gość
PRODUCENT
INFORMACJE O PRODUCENCIE