T-SQL dla zaawansowanych. Przewodnik programisty. Wydanie IV - Helion
Tytuł oryginału: Pro T-SQL Programmer's Guide, 4th Edition
Tłumaczenie: Andrzej Stefański
ISBN: 978-83-283-2248-6
stron: 632, Format: ebook
Data wydania: 2016-06-13
Księgarnia: Helion
Cena książki: 74,25 zł (poprzednio: 99,00 zł)
Oszczędzasz: 25% (-24,75 zł)
W wielu Å›rodowiskach IT serwer bazodanowy jest szczególnie ważnym elementem infrastruktury. Microsoft SQL Server jest jednym z częściej spotykanych rozwiÄ…zaÅ„. Aby w peÅ‚ni wykorzystać jego możliwoÅ›ci, trzeba dogÅ‚Ä™bnie poznać jÄ™zyk Transact-SQL — potężne narzÄ™dzie, które wyewoluowaÅ‚o z jÄ™zyka zapytaÅ„ SQL i wciąż jest rozwijane przez firmÄ™ Microsoft.
Niniejsza książka, przeznaczona dla programistów T-SQL, jest uaktualnionym wydaniem świetnego przewodnika po SQL Server. Omówiono w niej zaawansowane mechanizmy dostępne w T-SQL, włączając w to również nowości, takie jak mechanizmy pamięciowe będące częścią SQL Server 2014. Istotne kwestie są przystępnie wyjaśnione za pomocą praktycznych przykładów i obszernych fragmentów kodu źródłowego. Autorzy położyli nacisk przede wszystkim na demonstrację opcji T-SQL, ich możliwe zastosowania, a sam podręcznik zorganizowali w sposób umożliwiający szybkie wyszukanie potrzebnych informacji.
Najważniejsze zagadnienia omówione w książce:
- podstawy T-SQL i przegląd dobrych praktyk programowania w tym języku
- narzędzia dołączone do SQL Server 2014 (w tym SSMS, SQLCMD, SSDT oraz SQL Profiler)
- procedury składowane wykonywane po stronie serwera oraz tabele OLTP
- obsługa XML, XQuery oraz XPath w SQL Server 2014
- szyfrowanie baz danych, usługi ADO.NET oraz usługi IIS/.NET
- obsługa błędów, testowanie i zabezpieczenie kodu SQL
Sprawdź nowe możliwości T-SQL i SQL Server!
Miguel Cebollero — od ponad 16 lat zajmuje siÄ™ SQL Server i innymi systemami bazodanowymi, wÅ‚Ä…czajÄ…c w to projektowanie, programowanie i administracjÄ™. CzÄ™sto wypowiada siÄ™ na różnego rodzaju konferencjach zwiÄ…zanych z bazami danych.
Jay Natarajan — od ponad 15 lat projektuje i implementuje rozwiÄ…zania oparte na SQL Server. Ma na koncie wiele skomplikowanych rozwiÄ…zaÅ„ dla dużych klientów. DoÅ‚Ä…czyÅ‚a do Microsoft Consulting Services w 2008 roku.
Michael Coles — ma za sobÄ… ponad dekadÄ™ doÅ›wiadczeÅ„ przy projektowaniu i administrowaniu bazami danych SQL Server. Jest autorem licznych artykułów na temat SQL Server, szczególnie o specjalnych zastosowaniach T-SQL.
Osoby które kupowały "T-SQL dla zaawansowanych. Przewodnik programisty. Wydanie IV", wybierały także:
- Windows Media Center. Domowe centrum rozrywki 66,67 zł, (8,00 zł -88%)
- Przywództwo w świecie VUCA. Jak być skutecznym liderem w niepewnym środowisku 58,64 zł, (12,90 zł -78%)
- Mapa Agile & Scrum. Jak si 57,69 zł, (15,00 zł -74%)
- Sztuka podst 53,46 zł, (13,90 zł -74%)
- Lean dla bystrzaków. Wydanie II 49,62 zł, (12,90 zł -74%)
Spis treści
T-SQL dla zaawansowanych. Przewodnik programisty. Wydanie IV eBook -- spis treści
- O autorach
- O korektorze merytorycznym
- Podziękowania
- Wprowadzenie
- Dla kogo jest ta książka
- Jak podzielona jest ta książka
- Rozdział 1.
- Rozdział 2.
- Rozdział 3.
- Rozdział 4.
- Rozdział 5.
- Rozdział 6.
- Rozdział 7.
- Rozdział 8.
- Rozdział 9.
- Rozdział 10.
- Rozdział 11.
- Rozdział 12.
- Rozdział 13.
- Rozdział 14.
- Rozdział 15.
- Rozdział 16.
- Rozdział 17.
- Rozdział 18.
- Rozdział 19.
- Dodatek A
- Dodatek B
- Dodatek C
- Dodatek D
- Przyjęte konwencje
- Wymagania
- Przykłady kodu
- Rozdział 1. Podstawy T-SQL
- Krótka historia T-SQL
- Języki imperatywne i deklaratywne
- Podstawy SQL
- Wyrażenia
- Bazy danych
- Logi transakcyjne
- Schematy
- Tabele
- Widoki
- Indeksy
- Procedury składowane
- Funkcje użytkownika
- Moduły SQL CLR
- Podstawy stylu
- Białe znaki
- Konwencje nazewnictwa
- Jedno wejście, jedno wyjście
- Programowanie defensywne
- Wyrażenie SELECT *
- Inicjalizacja zmiennych
- Podsumowanie
- Rozdział 2. Narzędzia
- SQL Server Management Studio
- IntelliSense
- Fragmenty kodu
- Schematy skrótów klawiszowych
- Debugowanie T-SQL
- Opcje edycji w SSMS
- Pomoc kontekstowa
- Graficzna reprezentacja planów wykonania zapytaÅ„
- Opcje do zarzÄ…dzania projektami
- Eksplorator obiektów
- Narzędzie SQLCMD
- SQL Server Data Tools
- SQL Profiler
- Extended Events
- SQL Server Integration Services
- BCP
- SQL Server 2014 Books Online
- Przykładowa baza danych AdventureWorks
- Podsumowanie
- SQL Server Management Studio
- Rozdział 3. Kod proceduralny
- Logika trójwartoÅ›ciowa
- Przepływ sterowania
- SÅ‚owa kluczowe BEGIN i END
- Wyrażenie IF ... ELSE
- Wyrażenia WHILE, BREAK i CONTINUE
- Wyrażenie GOTO
- Wyrażenie WAITFOR
- Wyrażenie RETURN
- Wyrażenie CASE
- Proste wyrażenie CASE
- Przeszukiwane wyrażenie CASE
- CASE i tabele przestawne
- Wyrażenie IIF
- CHOOSE
- COALESCE i NULLIF
- Kursory
- Podsumowanie
- Rozdział 4. Funkcje użytkownika
- Funkcje skalarne
- Rekurencja w skalarnych UDF
- Kod proceduralny w funkcjach użytkownika
- Wielowyrażeniowe funkcje zwracające tabelę
- Wbudowane funkcje zwracajÄ…ce tabelÄ™
- Ograniczenia funkcji definiowanych przez użytkownika
- Funkcje niedeterministyczne
- Stan bazy danych
- Podsumowanie
- Funkcje skalarne
- Rozdział 5. Procedury składowane
- Wprowadzenie
- Odkrywanie metadanych
- Natywnie kompilowane procedury składowane
- Zarządzanie procedurami składowanymi
- Najlepsze praktyki związane z tworzeniem procedur składowanych
- Przykład procedury składowanej
- Rekurencja w procedurach składowanych
- Parametry tabelaryczne
- Tymczasowe procedury składowane
- Rekompilacja i pamięć podręczna
- Statystyki procedur składowanych
- Przechwytywanie parametrów
- Rekompilacja
- Podsumowanie
- Rozdział 6. Obiekty pamięciowe
- Czynniki napędzające technologie pamięciowe
- Trendy sprzętowe
- Podstawy obiektów pamiÄ™ciowych
- Krok 1. Dodanie nowej grupy plików optymalizowanej do operacji pamiÄ™ciowych
- Krok 2. Dodanie nowego kontenera optymalizowanego do operacji pamięciowych
- Krok 3. Utwórz nowÄ… tabelÄ™ optymalizowanÄ… do operacji pamiÄ™ciowych
- Ograniczenia tabel pamięciowych
- Indeksy tabel pamięciowych OLTP
- Indeksy typu hash
- Indeksy zakresu
- Natywnie kompilowane procedury składowane
- Rozdział 7. Wyzwalacze
- Wyzwalacze DML
- Wiele wyzwalaczy
- Kiedy używać wyzwalaczy DML
- Wirtualne tabele inserted i deleted
- PrzeglÄ…danie za pomocÄ… wyzwalaczy DML
- Wykorzystanie zapisywania modyfikacji danych
- Udostępnianie danych wyzwalaczom
- Wyzwalacze zagnieżdżone i rekurencyjne
- Funkcje UPDATE() i COLUMNS_UPDATED()
- Wyzwalacze na widokach
- Wyzwalacze DDL
- Typy zdarzeń DDL i grupy zdarzeń
- Wyzwalacze logowania
- Podsumowanie
- Wyzwalacze DML
- Rozdział 8. Szyfrowanie
- Hierarchia szyfrowania
- Klucze gÅ‚ówne usÅ‚ugi
- Klucze gÅ‚ówne bazy danych
- Certyfikaty
- Ograniczenia szyfrowania asymetrycznego
- Klucze asymetryczne
- Kopie zapasowe klucza asymetrycznego
- Klucze symetryczne
- Tymczasowe klucze symetryczne
- Sól i uwierzytelnianie
- Szyfrowanie bez kluczy
- Tworzenie skrótów
- Rozszerzone zarzÄ…dzanie kluczami
- Przeźroczyste szyfrowanie danych
- Podsumowanie
- Rozdział 9. Wyrażenia nazwane i funkcje okna
- Wyrażenia nazwane
- Wiele zapytań nazwanych
- Zwiększona czytelność CTE
- Rekurencyjne zapytania nazwane
- Funkcje okna
- Funkcja ROW_NUMBER
- Stronicowanie zapytania za pomocÄ… OFFSET/FETCH
- Funkcje RANK i DENSE_RANK
- Funkcja NTILE
- Funkcje agregacyjne, analityczne i klauzula OVER
- Przykłady funkcji analitycznych
- CUME_DIST i PERCENT_RANK
- PERCENTILE_CONT i PERCENTILE_DISC
- LAG i LEAD
- FIRST_VALUE i LAST_VALUE
- Podsumowanie
- Wyrażenia nazwane
- Rozdział 10. Typy danych i zaawansowane typy danych
- Podstawowe typy danych
- Znaki
- Typy danych max
- Wartości numeryczne
- Typy danych dla daty i czasu
- UTC i czas wojskowy
- Funkcje daty i czasu
- Przesunięcia a strefy czasowe
- Typ danych uniqueidentifier
- Typ danych hierarchyid
- Reprezentacja danych hierarchicznych
- Przykład hierarchyid
- Metody hierarchyid
- Przestrzenne typy danych
- (X, Y) czy (szerokość, długość)
- PóÅ‚kula i orientacja
- Michigan i wielkie jeziora
- Obsługa FILESTREAM
- Włączanie obsługi FILESTREAM
- Tworzenie grup plików FILESTREAM
- Tabele korzystajÄ…ce z FILESTREAM
- Korzystanie z danych FILESTREAM
- Obsługa FileTable
- Funkcje filetable
- Wyzwalacze na filetable
- Podsumowanie
- Podstawowe typy danych
- Rozdział 11. Wyszukiwanie pełnotekstowe
- Architektura FTS
- Tworzenie katalogów peÅ‚notekstowych i indeksów
- Tworzenie katalogów peÅ‚notekstowych
- Tworzenie indeksów peÅ‚notekstowych
- Zapytania pełnotekstowe
- Predykat FREETEXT
- Optymalizacja wydajności FTS
- Predykat CONTAINS
- Funkcje FREETEXTTABLE i CONTAINSTABLE
- Tezaurusy i stoplisty
- Procedury składowane, dynamiczne widoki zarządcze i funkcje
- Semantyka statystyczna
- Podsumowanie
- Architektura FTS
- Rozdział 12. XML
- XML dawniej
- OPENXML
- Formaty generowane przez OPENXML
- Klauzula FOR XML
- FOR XML RAW
- FOR XML AUTO
- FOR XML EXPLICIT
- FOR XML PATH
- Typ danych xml
- Niestrukturyzowany xml
- Ustrukturyzowany xml
- Metody typu danych xml
- Metoda query
- Metoda value
- Metoda exist
- Metoda nodes
- Metoda modify
- Indeksy XML
- Przekształcenia XSL
- Ustawienia związane z bezpieczeństwem SQL CLR
- Podsumowanie
- Rozdział 13. XQuery i XPath
- XPath i FOR XML PATH
- Atrybuty XPath
- Kolumny bez nazw i wieloznaczniki
- Grupowanie elementów
- Funkcja data
- Testowanie wÄ™zÅ‚ów i funkcje
- XPath i NULL
- Klauzula WITH XMLNAMESPACES
- Testowanie wÄ™zÅ‚ów
- XQuery i typ danych xml
- Wyrażenia i sekwencje
- Metoda query
- Ścieżki określające lokalizację
- Testowanie wÄ™zÅ‚ów
- Przestrzenie nazw
- Oznaczenia osi
- Dynamiczne generowanie XML
- Komentarze XQuery
- Typy danych
- Predykaty
- Operatory porównujÄ…ce wartoÅ›ci
- Operatory porównaÅ„ ogólnych
- Format daty XQuery
- Porównania wÄ™zÅ‚ów
- Wyrażenia warunkowe (ifthenelse)
- Wyrażenia arytmetyczne
- Dzielenie liczb całkowitych w XQuery
- Funkcje w XQuery
- Konstruktory i rzutowanie
- Wyrażenia FLWOR
- SÅ‚owa kluczowe for i return
- SÅ‚owo kluczowe where
- SÅ‚owa kluczowe order by
- SÅ‚owo kluczowe let
- Obsługa UTF-16
- Podsumowanie
- XPath i FOR XML PATH
- Rozdział 14. Widoki katalogowe i dynamiczne widoki zarządcze
- Widoki katalogowe
- Metadane tabel i kolumn
- Odpytywanie o pozwolenia
- Dynamiczne widoki zarzÄ…dcze i funkcje
- Metadane indeksowe
- Informacje o sesji
- Informacje o połączeniu
- Aktualnie wykonywany SQL
- Pamięciowe widoki systemowe
- Najdroższe zapytania
- Przestrzeń tempdb
- Zasoby serwera
- Niewykorzystywane indeksy
- Statystyki oczekiwania
- Widoki INFORMATION_SCHEMA
- Podsumowanie
- Widoki katalogowe
- Rozdział 15. Programowanie klienta .NET
- ADO.NET
- Klient SQL .NET
- PoÅ‚Ä…czenie ze źródÅ‚em danych
- Odłączone zbiory danych
- Zapytania parametryzowane
- Zapytania niezwracajÄ…ce wyników, skalarne i XML
- SqlBulkCopy
- Wiele aktywnych zbiorów wyników
- LINQ to SQL
- Designer
- Zapytania z LINQ to SQL
- Podstawy zapytań LINQ to SQL
- Klauzula where
- Klauzula orderby
- Klauzula join
- Odroczone wykonanie zapytania
- Od LINQ do Entity Framework
- Odpytywanie elementów
- Podsumowanie
- Rozdział 16. Programowanie z CLR
- Stary sposób
- RozwiÄ…zania ze zintegrowanym CLR
- Pakiety CLR
- Funkcje użytkownika
- Procedury składowane
- Funkcje agregujące użytkownika
- Tworzenie prostej funkcji agregujÄ…cej
- Tworzenie zaawansowanych UDA
- Typy użytkownika w zintegrowanych CLR
- Wyzwalacze
- Podsumowanie
- Rozdział 17. Usługi danych
- LocalDB z SQL Server 2014 Express
- Programowanie asynchroniczne z ADO.NET 4.5
- ODBC dla Linuksa
- JDBC
- Architektura SOA i usługi danych WCF
- Tworzenie WCF Data Service
- Definiowanie źródÅ‚a danych
- Tworzenie usługi danych
- Tworzenie odbiornika WCF Data Service
- Podsumowanie
- RozdziaÅ‚ 18. ObsÅ‚uga bÅ‚Ä™dów i dynamiczny SQL
- ObsÅ‚uga bÅ‚Ä™dów
- Stare metody obsÅ‚ugi bÅ‚Ä™dów
- Wyrażenie RAISERROR
- ObsÅ‚uga wyjÄ…tków TRY...CATCH
- TRY_PARSE, TRY_CONVERT i TRY_CAST
- Wyrażenie THROW
- Narzędzia do debugowania
- Debugowanie za pomocą wyrażenia PRINT
- Flagi śledzenia
- Debugger zintegrowany z SSMS
- Debugger T-SQL w Visual Studio
- Dynamiczny SQL
- Wyrażenie EXECUTE
- Wstrzykiwanie SQL i dynamiczny SQL
- Usuwanie problemów z dynamicznym SQL
- Procedura składowana sp_executesql
- Dynamiczny SQL i zasięg
- Parametryzacja po stronie klienta
- Podsumowanie
- Rozdział 19. Poprawianie wydajności
- Pamięć masowa w SQL Server
- Pliki i grupy plików
- Alokacja przestrzeni
- Partycje
- Kompresja danych
- Kompresja wierszy
- Kompresja stron
- Kolumny rzadkie
- Zbiory kolumn rzadkich
- Indeksy
- Sterty
- Indeksy klastrowe
- Gwarantowany porzÄ…dek
- Indeksy nieklastrowe
- Indeksy filtrowane
- Optymalizacja zapytań
- Czytanie planów zapytaÅ„
- Rzeczywisty czy szacowany?
- Metodologia
- Oczekiwanie
- Extended Events
- Podsumowanie
- Pamięć masowa w SQL Server
- Dodatek A Odpowiedzi do ćwiczeń
- Rozdział 1.
- Rozdział 2.
- Rozdział 3.
- Rozdział 4.
- Rozdział 5.
- Rozdział 6.
- Rozdział 7.
- Rozdział 8.
- Rozdział 9.
- Rozdział 10.
- Rozdział 11.
- Rozdział 12.
- Rozdział 13.
- Rozdział 14.
- Rozdział 15.
- Rozdział 16.
- Rozdział 17.
- Rozdział 18.
- Rozdział 19.
- Dodatek B Typy danych XQuery
- Dodatek C SÅ‚owniczek
- ACID
- adjacency list model
- ADO.NET Data Services
- agregat użytkownika (UDA)
- API
- atomowe typy danych
- BCP
- certyfikat
- certyfikat serwera
- cięcie
- content expression
- context item expression
- context node (węzeł kontekstowy)
- CWA
- dane przestrzenne
- domena danych
- EDM (entity data model)
- EKM (extensible key management)
- ETL (Extract, Transform, Load)
- Extended Events (XEvents)
- facet
- formy fleksyjne
- funkcja skalarna
- Funkcje i operatory (F&O)
- funkcje okna
- GML (Geography Markup Language)
- indeks klastrowy
- indeks nieklastrowy
- indeks pełnotekstowy
- indeks przestrzenny
- katalog pełnotekstowy
- klucz gÅ‚ówny bazy danych
- klucz obcy
- klucz szyfrowania bazy danych
- komentarz
- konstruktor obliczany
- konstruktor wiersza
- krok
- LINQ (Language Integrated Query)
- listy
- logika trójwartoÅ›ciowa (3VL)
- mapowanie obiektowo-relacyjne (O/RM)
- MARS (Multiple Active Result Sets)
- model ścieżki zmaterializowanej
- model zbiorów zagnieżdżonych
- niestrukturyzowany xml
- obszar
- opcjonalny wskaźnik wystąpienia
- oÅ›
- parametryzacja
- plan zapytania
- połączone typy danych
- poprawny składniowo XML (well-formed XML)
- porównanie ogólne
- porównanie wartoÅ›ci
- porównanie wÄ™zÅ‚ów
- predykat
- proste wyrażenie CASE
- przeszukiwane wyrażenie CASE
- przeźroczyste szyfrowanie danych (TDE)
- pusta sekwencja
- rekompilacja
- rekurencja
- rekurencja pośrednia
- schemat XML
- sekwencja
- sekwencja heterogeniczna
- sekwencja homogeniczna
- skrót (hash)
- SMK (service master key)
- SOAP
- sprawdzanie ograniczeń (check constraint)
- SQL Server Data Tools
- sterta
- strona danych
- szyfrowanie asymetryczne
- ścieżka lokalizacyjna
- test węzła
- typ tabeli
- typ użytkownika (UDT)
- układ odniesienia
- W3C (World Wide Web Consortium)
- wartość predykatu
- wektor inicjalizacyjny (IV)
- węzeł
- widok katalogowy
- WKT (well-known text)
- wstrzykiwanie SQL
- wyrażenie filtrujące
- wyrażenie FLWOR
- wyrażenie pierwotne
- wyrażenie ścieżki
- wyszukiwanie pełnotekstowe (FTS, full-text search)
- wyzwalacz logowania
- XDM (XQuery/XPath Data Model)
- XML
- XPath
- XQuery
- XSL
- XSLT
- założenie otwartego świata (OWA)
- zapytanie kotwiczÄ…ce
- zbiór grupujÄ…cy
- Dodatek D Krótki przewodnik po SQLCMD
- Opcje wiersza poleceń
- Zmienne skryptowe
- Polecenia