Antywzorce języka SQL. Jak unikać pułapek podczas programowania baz danych
- Autor:
- Bill Karwin
- Wydawnictwo:
- Helion
- Ocena:
- 5.1/6 Opinie: 32
- Stron:
- 400
- Druk:
- oprawa miękka
- Dostępne formaty:
-
PDFePubMobi
Opis ebooka: Antywzorce języka SQL. Jak unikać pułapek podczas programowania baz danych
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!
Wybrane bestsellery
-
Ta książka pomoże Ci się przygotować do pracy na stanowisku testera oprogramowania, a także zapewni wsparcie podczas wykonywania nowych zadań. Znajdziesz tu dokładne omówienie podstaw testowania, jego różnych rodzajów i poziomów w odniesieniu do zastosowania na różnych etapach pracy nad projektem...
Tester samouk. Praktyczny przewodnik po testowaniu oprogramowania na bazie gotowego projektu Tester samouk. Praktyczny przewodnik po testowaniu oprogramowania na bazie gotowego projektu
(35.40 zł najniższa cena z 30 dni)38.35 zł
59.00 zł(-35%) -
Firmy z branży IT prześcigają się w tworzeniu rozwiązań zwiększających wydajność pracy, jak również podnoszących poziom specjalizacji pracowników w określonych dziedzinach. Od kilku już lat pozycja full stack developera, który wykonywał wszystkie prace programistyczne, jest wielką rzadkością. Obe...
Postman i SQL. Kurs video. Metody testowania REST API i przeszukiwania baz danych Postman i SQL. Kurs video. Metody testowania REST API i przeszukiwania baz danych
(39.90 zł najniższa cena z 30 dni)103.34 zł
159.00 zł(-35%) -
Zigi to postać fikcyjna - warta poznania! Autor książki, sam będący od wielu lat testerem, wyposażył swojego bohatera we własne doświadczenia. Dołożył do nich trochę „case’ów”, które widział, o których słyszał lub czytał, ubrał je w przystępne słowa i sfabularyzował dla podkręce...(35.40 zł najniższa cena z 30 dni)
38.35 zł
59.00 zł(-35%) -
Testowanie oprogramowania to jedna z najdynamiczniej rozwijających się dziedzin inżynierii oprogramowania. Zarobki doświadczonych testerów są porównywalne z wynagrodzeniem, jakie otrzymują dobrzy programiści. Aby rozpocząć karierę w tym zawodzie, trzeba się legitymować odpowiednimi umiejętnościam...
Certyfikowany tester ISTQB®. Poziom podstawowy. Wydanie II Certyfikowany tester ISTQB®. Poziom podstawowy. Wydanie II
(65.40 zł najniższa cena z 30 dni)70.85 zł
109.00 zł(-35%) -
Właściwe wymagania to nie tylko kwestia ich dokumentacji, ale też przede wszystkim kwestia odpowiedniego ich pozyskania i walidacji. Dobrej jakości wymagania zmniejszają ryzyko produktowe i projektowe, pozwalają tworzyć systemy, które realnie spełniają potrzeby interesariuszy i umożliwiają im osi...
Inżynieria wymagań. Kurs video. Modelowanie wymagań i rozwiązań w projektach informatycznych Inżynieria wymagań. Kurs video. Modelowanie wymagań i rozwiązań w projektach informatycznych
(39.90 zł najniższa cena z 30 dni)109.85 zł
169.00 zł(-35%) -
Ta książka stanowi świetne wprowadzenie do analizy danych. Dzięki niej nauczysz się korzystać z surowych danych, nawet jeśli nie masz odpowiedniego doświadczenia. Zaczniesz od formułowania hipotez i generowania statystyk opisowych, a następnie przystąpisz do pisania zapytań w języku SQL w celu ag...
SQL dla analityków danych. Opanuj możliwości SQL-a, aby wydobywać informacje z danych. Wydanie III SQL dla analityków danych. Opanuj możliwości SQL-a, aby wydobywać informacje z danych. Wydanie III
(65.40 zł najniższa cena z 30 dni)70.85 zł
109.00 zł(-35%) -
Ten przystępny przewodnik jest przeznaczony dla analityków danych, którzy chcą dobrze poznać proces tworzenia analitycznego zbioru danych i samodzielnie pisać kod niezbędny do uzyskania zamierzonego wyniku. Przedstawiono w nim składnię języka SQL oraz zasady budowania szybko działających zapytań ...
SQL dla analityków danych. Tworzenie zbiorów danych dla początkujących SQL dla analityków danych. Tworzenie zbiorów danych dla początkujących
(41.40 zł najniższa cena z 30 dni)44.85 zł
69.00 zł(-35%) -
Naglący termin, niedoczas, permanentne opóźnienie - oto najwierniejsi towarzysze i zarazem najwięksi wrogowie kierownika projektu. Nawet certyfikowani project managerowie, ludzie z ogromną wiedzą i nie mniejszym doświadczeniem, raz po raz znajdują się w sytuacji, w której potrzeba naprawdę wielki...(35.40 zł najniższa cena z 30 dni)
38.35 zł
59.00 zł(-35%) -
Relacyjne bazy danych są wszędzie wokół nas, a do podstawowych umiejętności wymaganych od współczesnych programistów należy dobra znajomość języka SQL. Na świecie nie ma jednak osób, którym nie zdarza się czegoś zapomnieć. Jeśli potrzebujesz pomocy w codziennej pracy lub chcesz odświeżyć wiedzę n...(6.90 zł najniższa cena z 30 dni)
8.49 zł
17.00 zł(-50%) -
Trzymasz w dłoni kolejne wydanie niezwykle popularnego podręcznika do nauki C. Podobnie jak poprzednie wydania, także to zostało zaktualizowane i uzupełnione, między innymi o elementy standardu C11. Książka stanowi przemyślane, przejrzyste i wnikliwe wprowadzenie do języka C. Czytelnie wyjaśnia z...(107.40 zł najniższa cena z 30 dni)
116.35 zł
179.00 zł(-35%)
Ebooka "Antywzorce języka SQL. Jak unikać pułapek podczas programowania baz danych" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Antywzorce języka SQL. Jak unikać pułapek podczas programowania baz danych" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Antywzorce języka SQL. Jak unikać pułapek podczas programowania baz danych" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- Tytuł oryginału:
- SQL Antipatterns: Avoiding the Pitfalls of Database Programming
- Tłumaczenie:
- Mikołaj Szczepaniak
- ISBN Książki drukowanej:
- 978-83-246-3482-8, 9788324634828
- Data wydania książki drukowanej:
- 2012-01-27
- ISBN Ebooka:
- 978-83-246-4714-9, 9788324647149
- Data wydania ebooka:
- 2012-02-15 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Format:
- 158x235
- Numer z katalogu:
- 7514
- Rozmiar pliku Pdf:
- 3.4MB
- Rozmiar pliku ePub:
- 3.5MB
- Rozmiar pliku Mobi:
- 7.5MB
- Przykłady na ftp
Ebook zawiera materiały dodatkowe, które możesz pobrać z serwera FTP - link znajdziesz na stronie redakcyjnej.
Spis treści ebooka
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
Rozdział 1. Wprowadzenie (11)
Część I. Antywzorce logicznego projektu bazy danych (23)
Rozdział 2. Przechodzenie na czerwonym świetle (25)
Rozdział 3. Naiwne drzewa (37)
Rozdział 4. Identyfikator potrzebny od zaraz (61)
Rozdział 5. Wpis bez klucza (75)
Rozdział 6. Encja-atrybut-wartość (85)
Rozdział 7. Związki polimorficzne (103)
Rozdział 8. Atrybuty wielokolumnowe (117)
Rozdział 9. Tribble metadanych (127)
Część II. Antywzorce fizycznego projektu bazy danych (141)
Rozdział 10. Błędy zaokrągleń (143)
Rozdział 11. 31 smaków (153)
Rozdział 12. Pliki-widma (165)
Rozdział 13. Strzelanie indeksami (177)
Część III. Antywzorce zapytań (193)
Rozdział 14. Strach przed nieznanym (195)
Rozdział 15. Niejasne grupy (209)
Rozdział 16. Losowy wybór (223)
Rozdział 17. Wyszukiwarka nędzarza (233)
Rozdział 18. Zapytanie-spaghetti (251)
Rozdział 19. Ukryte kolumny (263)
Część IV. Antywzorce wytwarzania aplikacji (273)
Rozdział 20. Czytelne hasła (275)
Rozdział 21. Wstrzykiwanie SQL-a (289)
Rozdział 22. Obsesja czystości pseudokluczy (309)
Rozdział 23. Przymykanie oczu na zło (321)
Rozdział 24. Immunitet dyplomatyczny (331)
Rozdział 25. Magiczna fasola (347)
Dodatki (365)
Dodatek A. Reguły normalizacji (367)
Dodatek B. Bibliografia (385)
Skorowidz (387)
Oceny i opinie klientów: Antywzorce języka SQL. Jak unikać pułapek podczas programowania baz danych Bill Karwin (32) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.
(15)
(11)
(3)
(1)
(1)
(1)
więcej opinii