Używamy cookies, aby ułatwić korzystanie z Portalu. Możesz określić warunki przechowywania, dostępu do plików cookies w Twojej przeglądarce. Dowiedz się więcej.
strona główna Strona główna | Nowości | Promocje | Zapowiedzi Twoje konto | Zarejestruj | Schowek | Kontakt | Pomoc
mapa działów
Szukaj: szukanie zaawansowane
Koszyk
Książki \ Bazy danych \ SQL Server

Antywzorce języka SQL. Jak unikać pułapek podczas programowania baz danych Język: 1

978-83-246-3482-8

Cena Brutto: 69.00

Cena netto: 65.71

Ilość:
Wersja: Drukowana
Autor Bill Karwin
Liczba_stron 400
Wydawnictwo Helion
Oprawa miękka
Data_Wydania 2012-01-27
Poziom All Levels

Antywzorce języka SQL

Jak unikać pułapek podczas programowania baz danych

___________________________________________________________________________________________

 

Książka z grupy:

SQL Server podręcznik

 

Naucz się tego czego umieć nie powinieneś - czyli:

 

  • 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!

     

    Poznaj:

    • 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!

    Antywzorce języka SQL. Jak unikać pułapek podczas programowania baz danych -- 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)

    powrót
     
    Produkty Podobne
    Exam Ref 70-765 Provisioning SQL Databases
    Mistrzowski SQL. 61 technik pisania wydajnego kodu SQL
    Exam Ref 70-764 Administering a SQL Database Infrastructure
    SQL Server i T-SQL w mgnieniu oka. Wydanie II
    SQL Server 2016 High Availability Unleashed (includes Content Update Program)
    Microsoft SQL Server 2016 Analysis Services: Modelowanie tabelaryczne
    Tabular Modeling in Microsoft SQL Server Analysis Services, 2nd Edition
    Exam Ref 70-768 Developing SQL Data Models
    Exam Ref 70-762 Developing SQL Databases
    Microsoft SQL Server T-SQL in 10 Minutes, Sams Teach Yourself, 2nd Edition
    Więcej produktów