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

Mistrzowski SQL. 61 technik pisania wydajnego kodu SQL Język: 1

978-83-283-3563-9

Cena Brutto: 59.00

Cena netto: 56.19

Ilość:
Wersja: Drukowana
Autor John L. Viescas, Douglas J. Steele, Ben G. Clothier
Liczba_stron 320
Wydawnictwo Helion
Oprawa miękka
Data_Wydania 2017-10-20

Mistrzowski

SQL

61 technik pisania wydajnego kodu SQL


Bazy danych umożliwiają bezpieczne przechowywanie i użytkowanie danych. Dobrze napisana baza danych pracuje szybko i wydajnie. Najlepsze relacyjne bazy danych są nierozłącznie związane z językiem SQL, zatem aby profesjonalnie podejść do tego tematu, trzeba ten język dobrze opanować. SQL może wydawać się trudny i złożony, a co więcej, dla poszczególnych baz istnieją specyficzne dialekty SQL, niemniej jednak wspaniałe zalety najlepszych baz danych dostępne są tylko dla tych, którzy opanują sztukę pisania efektywnego kodu SQL.


Niniejsza książka jest świetnym kompendium przeznaczonym dla osób o podstawowej znajomości SQL. Dzięki niej poznasz najlepsze współczesne techniki pisania w tym języku. Każdą z nich poparto realistycznymi (i przydatnymi!) przykładami. Innymi słowy, znajdziesz tu zrozumiale objaśnione sztuczki ekspertów i mnóstwo użytecznego kodu. Poza zagadnieniami składni omówiono również tematykę optymalizacji projektu bazy, a także zarządzania hierarchiami i metadanymi. Wyjątkowość tej książki polega na tym, że zawarty w niej materiał bez trudu zastosujesz do baz: IBM DB2, Microsoft Access, Microsoft SQL Server, MySQL, Oracle Database czy PostgreSQL.


Spośród 61 zagadnień ujętych w książce warto wspomnieć o:

  • zasadach projektowania modelu danych
  • sposobach na efektywne wykorzystanie indeksów i więzów integralności
  • metodach szybkiego wyszukiwania danych z zastosowaniem algebry relacyjnej
  • stosowaniu podzapytań i złączeń
  • tajnikach tabel kalkulacyjnych
  • zbiorach zagnieżdżonych i domknięciach podległości

    Przedmowa (11)

    Podziękowania (13)

    O autorach (15)

    O korektorach merytorycznych (17)

    Wprowadzenie (19)

    • Krótka historia SQL (19)
    • Bazy danych, które wzięliśmy pod uwagę (23)
    • Przykładowe bazy (24)
    • Gdzie znaleźć przykłady (24)
    • Podsumowanie rozdziałów (25)

    Rozdział 1: Projektowanie modelu danych (27)

    • Zagadnienie 1: Sprawdzenie, czy wszystkie tabele posiadają klucz główny (27)
    • Zagadnienie 2: Eliminacja nadmiarowego przechowywania danych (31)
    • Zagadnienie 3: Pozbywanie się powtarzających się grup (34)
    • Zagadnienie 4: Przechowywanie jednej właściwości w kolumnie (37)
    • Zagadnienie 5: Dlaczego przechowywanie danych wyliczeniowych zazwyczaj nie jest dobrym pomysłem (40)
    • Zagadnienie 6: Definiowanie kluczy obcych do ochrony integralności referencyjnej (44)
    • Zagadnienie 7: Upewnij się, że relacje między tabelami mają sens (48)
    • Zagadnienie 8: Gdy 3NF to za mało, normalizuj dalej (51)
    • Zagadnienie 9: Wykorzystanie denormalizacji w magazynach danych (57)

    Rozdział 2: Programowalność i projektowanie indeksów (61)

    • Zagadnienie 10: Podczas tworzenia indeksów weź pod uwagę wartości NULL (62)
    • Zagadnienie 11: Rozważne tworzenie indeksów w celu minimalizacji skanowania indeksów i tabel (66)
    • Zagadnienie 12: Wykorzystanie indeksów nie tylko do filtrowania (70)
    • Zagadnienie 13: Nie przesadź z wyzwalaczami (74)
    • Zagadnienie 14: Rozważ użycie indeksu filtrowanego do wykluczenia lub zawarcia podzbioru danych (78)
    • Zagadnienie 15: Wykorzystanie deklaratywnych więzów integralności zamiast sprawdzeń programistycznych (81)
    • Zagadnienie 16: Rozpoznanie, z jakiego dialektu SQL korzysta Twój produkt, i wykorzystanie tej informacji (83)
    • Zagadnienie 17: Kiedy wykorzystywać wartości wyliczane w indeksach (86)

    Rozdział 3: Gdy nie możesz zmienić projektu (91)

    • Zagadnienie 18: Wykorzystanie widoków do uproszczenia tego, czego nie możesz zmienić (91)
    • Zagadnienie 19: Wykorzystanie ETL do zmiany danych nierelacyjnych w informacje (97)
    • Zagadnienie 20: Tworzenie tabel z podsumowaniem i ich utrzymywanie (101)
    • Zagadnienie 21: Wykorzystanie zapytania UNION do przestawienia nieznormalizowanych danych (104)

    Rozdział 4: Filtrowanie i wyszukiwanie danych (111)

    • Zagadnienie 22: Algebra relacyjna i jej wykorzystanie w SQL (111)
    • Zagadnienie 23: Odszukiwanie rekordów niepasujących lub brakujących (117)
    • Zagadnienie 24: Kiedy do rozwiązania problemu wykorzystać klauzulę CASE (120)
    • Zagadnienie 25: Znane techniki rozwiązywania problemów z wieloma kryteriami (124)
    • Zagadnienie 26: Dzielenie danych, gdy konieczne jest idealne dopasowanie (129)
    • Zagadnienie 27: Poprawne filtrowanie zakresu dat dla kolumny zawierającej datę i czas (132)
    • Zagadnienie 28: Pisanie zapytań w taki sposób, aby system na pewno wykorzystał indeksy (136)
    • Zagadnienie 29: Poprawne filtrowanie "prawej" strony "lewego" złączenia (140)

    Rozdział 5: Agregacje (143)

    • Zagadnienie 30: Jak działa GROUP BY (143)
    • Zagadnienie 31: Rozmiar klauzuli GROUP BY (150)
    • Zagadnienie 32: Wykorzystanie GROUP BY/HAVING do rozwiązywania skomplikowanych problemów (152)
    • Zagadnienie 33: Odszukiwanie wartości maksymalnych i minimalnych bez wykorzystania GROUP BY (157)
    • Zagadnienie 34: Unikanie błędnego wyniku funkcji COUNT() podczas korzystania z OUTER JOIN (162)
    • Zagadnienie 35: Uwzględnienie rekordów z wartością zerową podczas sprawdzania HAVING COUNT(x) < jakaś liczba (165)
    • Zagadnienie 36: Wykorzystanie DISTINCT do zliczania unikalnych wartości (168)
    • Zagadnienie 37: Jak korzystać z funkcji okna (171)
    • Zagadnienie 38: Tworzenie numerów wierszy i rankingu rekordów na podstawie innych rekordów (174)
    • Zagadnienie 39: Tworzenie ruchomej agregacji (176)

    Rozdział 6: Podzapytania (183)

    • Zagadnienie 40: Gdzie można wykorzystać podzapytania (183)
    • Zagadnienie 41: Różnica pomiędzy podzapytaniami skorelowanymi i nieskorelowanymi (188)
    • Zagadnienie 42: Wykorzystanie wspólnych wyrażeń tabelarycznych zamiast podzapytań (193)
    • Zagadnienie 43: Tworzenie bardziej wydajnych zapytań z wykorzystaniem złączeń zamiast podzapytań (199)

    Rozdział 7: Pobieranie i analizowanie metadanych (203)

    • Zagadnienie 44: Jak korzystać z analizatora zapytań swojego systemu (203)
    • Zagadnienie 45: Pobieranie metadanych o Twojej bazie (213)
    • Zagadnienie 46: Jak działa plan zapytania (218)

    Rozdział 8: Iloczyny kartezjańskie (227)

    • Zagadnienie 47: Utworzenie kombinacji rekordów pomiędzy dwiema tabelami i oznaczenie tych rekordów z drugiej tabeli, które niebezpośrednio odnoszą się do pierwszej (227)
    • Zagadnienie 48: Ustalanie rankingu rekordów na podstawie równych kwantyli (230)
    • Zagadnienie 49: Łączenie w pary rekordów tabeli ze wszystkimi innymi rekordami (235)
    • Zagadnienie 50: Wyświetlanie kategorii i liczby rekordów preferowanych (239)

    Rozdział 9: Tabele kalkulacyjne (245)

    • Zagadnienie 51: Wykorzystanie tabeli kalkulacyjnej do generowania rekordów z wartością NULL na podstawie parametru (245)
    • Zagadnienie 52: Sekwencjonowanie za pomocą tabel kalkulacyjnych i funkcji okna (249)
    • Zagadnienie 53: Generowanie wielu rekordów na podstawie zakresów wartości w tabelach kalkulacyjnych (254)
    • Zagadnienie 54: Konwertowanie wartości w jednej tabeli na podstawie zakresu wartości w tabeli kalkulacyjnej (258)
    • Zagadnienie 55: Wykorzystanie tabeli z datami do uproszczenia obliczeń na datach (264)
    • Zagadnienie 56: Tworzenie tabeli kalendarza spotkań z datami zdefiniowanymi w zakresie (270)
    • Zagadnienie 57: Obracanie tabeli z wykorzystaniem tabeli kalkulacyjnej (272)

    Rozdział 10: Modelowanie danych hierarchicznych (279)

    • Zagadnienie 58: Wykorzystanie modelu listy graniczenia jako punktu startu (280)
    • Zagadnienie 59: Wykorzystanie zagnieżdżonych zbiorów do wydajnego wyszukiwania przy sporadycznych aktualizacjach (282)
    • Zagadnienie 60: Wykorzystanie zmaterializowanej ścieżki, prostej w przygotowaniu i dającej ograniczone możliwości przeszukiwania (285)
    • Zagadnienie 61: Wykorzystanie domknięcia podległości dla zaawansowanego wyszukiwania (287)

    Dodatek A: Typy, operatory i funkcje dla dat i czasu (293)

    • IBM DB2 (293)
    • Microsoft Access (297)
    • Microsoft SQL Server (299)
    • MySQL (302)
    • Oracle (307)
    • PostgreSQL (309)

    Skorowidz (311)

powrót
 
Produkty Podobne
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
Pierwsze kroki z SQL. Praktyczne podejście dla początkujących
Więcej produktów