księgarnia informatyczna aton.pl

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

Wydawnictwo HELION

Cena:    69.00zł

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


Autor: Bill Karwin

ISBN: 978-83-246-3482-8

Ilość stron: 400

Data wydania: 01/2012

Oprawa: Miękka

Format: 158x235

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!

Rozdziały:

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)

Cena:    69.00zł


Antywzorce języka SQL Jak unikać pułapek podczas programowania baz danychKsiążka informatyczna: Antywzorce języka SQL Jak unikać pułapek podczas programowania baz danych
Księgarnia informatyczna aton.pl

Tutaj możesz kupić tę książkę w dobrej cenie. Zapraszamy na zakupy do naszej księgarni internetowej.