Facebook - konwersja
Pobierz fragment

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

Wydawnictwo:
Data wydania:
15 lutego 2012
Format ebooka:
PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
Pobierz fragment
69,00

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

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)

Kategoria: Bazy danych
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-246-4714-9
Rozmiar pliku: 3,4 MB

BESTSELLERY

Kategorie: