Szczegóły ebooka

Podstawy języka T-SQL: Microsoft SQL Server 2022 i Azure SQL Database

Podstawy języka T-SQL: Microsoft SQL Server 2022 i Azure SQL Database

Itzik Ben-Gan

Ebook

Zapytania i modyfikowanie danych przy użyciu T-SQL

Opanuj podstawy języka T-SQL i pisz poprawny niezawodny kod dla odpytywania i modyfikowania danych w Microsoft SQL Server 2022 i Azure SQL Database i Azure SQL Managed Instance. Itzik Ben-Gan, wieloletni MVP w dziedzinie Microsoft Data Platform, wyjaśnia kluczowe koncepcje języka T-SQL i pomaga w wykorzystaniu tej wiedzy w praktycznych zastosowaniach. Książka przedstawia zasady działania T-SQL i logikę działającą w tle. Następnie prowadzi czytelnika poprzez kluczowe zagadnienia, takie jak zapytania jednotabelowe, złączenia, podzapytania, wyrażenia tablicowe i operatory zbiorów. Przedstawiono również bardziej zaawansowane zagadnienia, takie jak funkcje okna, tworzenie tabel przestawnych i grupowanie zbiorów. Wyjaśnione zostaną techniki modyfikowania danych, tabele temporalne i obsługa transakcji oraz współbieżności. Opierając się na tych podstawach można ulepszyć swoje możliwości kodowania, od konstrukcji programistycznych po potężne nowe narzędzie SQL Graph. Jednocześnie Ben-Gan prezentuje przykładowy kod T-SQL, który niezawodnie działa w środowisku chmurowym, w siedzibie lub hybrydowym.

Ta książka pomoże Ci:

Zrozumieć działanie T-SQL, dzięki czemu można pisać lepszy kod

Odświeżyć informacje o teorii relacyjnej i architekturze SQL Server

Tworzyć tabele i definiować integralność danych

Budować zapytania, złączenia wielotabelowe i podzapytania

Korzystać z tabel pochodnych, wyrażeń CTE, widoków, włamywanych funkcji tablicowych oraz klauzuli APPLY

Skutecznie wykorzystywać operatory UNION, INTERSECT i EXCEPT

Analizować dane za pomocą funkcji okna, przestawiania danych, zbiorów grupujących i serii czasowych

Posługiwać się systemowo wersjonowanymi tabelami temporalnymi

Poznać i stosować mechanizmy transakcji i współbieżności, w tym równoległe połączenia użytkowników, blokady, rozwiązywanie zakleszczeń, poziomy izolacji i jeszcze więcej

Używać SQL Graph do modelowania, tworzenia, modyfikowania i odpytywania danych opartych na grafach

Poznawać obiekty programowalne SQL Server i możliwości programistyczne tego środowiska

Konfigurować środowisko robocze, instalować przykładowe bazy danych i znajdować jeszcze więcej pomocy

Dla profesjonalistów i konsultantów IT

Dla programistów T-SQL, administratorów baz danych, praktyków BI, danetyków, twórców raportów, analityków, architektów danych i innych zaawansowanych użytkowników SQL Server

Dla każdego, kto chciałby umieć pisać zapytania lub tworzyć kod dla SQL Server, Azure SQL Database albo Azure SQL Managed Instance

O autorze

Itzik Ben-Gan jest czołowym autorytetem w zakresie języka T-SQL, stale piszącym, nauczającym i prowadzącym wykłady na ten temat. Jest autorem licznych szkoleń koncentrujących się na takich zagadnieniach, jak zapytania w języku T-SQL, dostrajanie zapytań i programowanie. Jest też autorem wielu książek, w tym Podstawy języka T-SQL, Zapytania w języku T-SQL oraz Funkcje okna w języku T-SQL. Od roku 1999 ma tytuł Microsoft Data Platform MVP (Most Valuable Professional).

Kod źródłowy i ćwiczenia są dostępne na stronie:

MicrosoftPressStore.com/TSQLFund4e/downloads

  • Spis treści
  • Podziękowania
  • Wprowadzenie
  • O autorze
  • Rozdział 1
    • Podstawy zapytań i programowania T-SQL
      • Podstawy teoretyczne
        • SQL
        • Teoria zbiorów
        • Logika predykatów
        • Model relacyjny
        • Typy obciążeń bazodanowych
      • Architektura SQL Server
        • Wersje RDBMS w siedzibie i chmurowe
        • Instancje produktu SQL Server
        • Bazy danych
        • Schematy i obiekty
      • Tworzenie tabel i definiowanie integralności danych
        • Tworzenie tabel
        • Definiowanie integralności danych
      • Podsumowanie
  • Rozdział 2
    • Zapytania do pojedynczej tabeli
      • Elementy instrukcji SELECT
        • Klauzula FROM
        • Klauzula WHERE
        • Klauzula GROUP BY
        • Klauzula HAVING
        • Klauzula SELECT
        • Klauzula ORDER BY
        • Filtry TOP i OFFSET-FETCH
        • Szybki przegląd funkcji okna
      • Predykaty i operatory
      • Wyrażenia CASE
      • Znaczniki NULL
      • Funkcje GREATEST i LEAST
      • Operacje jednoczesne all-at-once
      • Dane znakowe (tekstowe)
        • Typy danych
        • Opcje sortowania (collation)
        • Operatory i funkcje
        • Predykat LIKE
      • Posługiwanie się danymi typu daty i czasu
        • Typy danych dotyczące daty i czasu
        • Literały
        • Rozdzielne stosowanie daty i czasu
        • Filtrowanie zakresów dat
        • Funkcje daty i godziny
      • Zapytania dotyczące metadanych
        • Widoki katalogowe
        • Informacyjne widoki schematu
        • Systemowe procedury składowane i funkcje
      • Podsumowanie
      • Ćwiczenia
        • Ćwiczenie 1
        • Ćwiczenie 2
        • Ćwiczenie 3
        • Ćwiczenie 4
        • Ćwiczenie 5
        • Ćwiczenie 6
        • Ćwiczenie 7
        • Ćwiczenie 8
        • Ćwiczenie 9
        • Ćwiczenie 10
      • Rozwiązania
        • Ćwiczenie 1
        • Ćwiczenie 2
        • Ćwiczenie 3
        • Ćwiczenie 4
        • Ćwiczenie 5
        • Ćwiczenie 6
        • Ćwiczenie 7
        • Ćwiczenie 8
        • Ćwiczenie 9
        • Ćwiczenie 10
  • Rozdział 3
    • Złączenia
      • Złączenia krzyżowe
        • Składnia SQL-92
        • Składnia SQL-89
        • Samo-złączenie krzyżowe (Self Cross Join)
        • Tworzenie tabel liczb
      • Złączenia wewnętrzne
        • Składnia SQL-92
        • Składnia SQL-89
        • Bezpieczeństwo złączenia wewnętrznego
      • Więcej rodzajów złączeń
        • Złączenia złożone
        • Złączenie nierównościowe (Non-Equi Join)
        • Złączenia wielokrotne (multi-join)
      • Złączenia zewnętrzne
        • Podstawy złączeń zewnętrznych
      • Dołączanie brakujących wartości
        • Filtrowanie atrybutów z niezachowywanej strony złączenia zewnętrznego
        • Stosowanie złączeń zewnętrznych w zapytaniach złączeń wielokrotnych
        • Agregacja COUNT w złączeniach zewnętrznych
      • Podsumowanie
      • Ćwiczenia
        • Ćwiczenie 1-1
        • Ćwiczenie 1-2
        • Ćwiczenie 2
        • Ćwiczenie 3
        • Ćwiczenie 4
        • Ćwiczenie 5
        • Ćwiczenie 6
        • Ćwiczenie 7
        • Ćwiczenie 8
        • Ćwiczenie 9
      • Rozwiązania
        • Ćwiczenie 1-1
        • Ćwiczenie 1-2
        • Ćwiczenie 2
        • Ćwiczenie 3
        • Ćwiczenie 4
        • Ćwiczenie 5
        • Ćwiczenie 6
        • Ćwiczenie 7
        • Ćwiczenie 8
        • Ćwiczenie 9
  • Rozdział 4
    • Podzapytania
      • Podzapytania niezależne
        • Przykłady skalarnych podzapytań niezależnych
        • Podzapytania niezależne o wielu wartościach
      • Podzapytania skorelowane
        • Predykat EXISTS
      • Zwracanie poprzednich lub kolejnych wartości
      • Agregacje bieżące
      • Postępowanie w przypadku nieprawidłowo działających podzapytań
        • Problemy dotyczące znaczników NULL
        • Błędy podstawień w nazwach kolumn podzapytania
      • Podsumowanie
      • Ćwiczenia
        • Ćwiczenie 1
        • Ćwiczenie 2
        • Ćwiczenie 3
        • Ćwiczenie 4
        • Ćwiczenie 5
        • Ćwiczenie 6
        • Ćwiczenie 7
        • Ćwiczenie 8
        • Ćwiczenie 9
        • Ćwiczenie 10
      • Rozwiązania
        • Ćwiczenie 1
        • Ćwiczenie 2
        • Ćwiczenie 3
        • Ćwiczenie 4
        • Ćwiczenie 5
        • Ćwiczenie 6
        • Ćwiczenie 7
        • Ćwiczenie 8
        • Ćwiczenie 9
        • Ćwiczenie 10
  • Rozdział 5
    • Wyrażenia tablicowe
      • Tabele pochodne
        • Przypisywanie aliasów kolumn
        • Używanie argumentów
        • Zagnieżdżanie
        • Wielokrotne odwołania
      • Wspólne wyrażenia tablicowe
        • Przypisywanie aliasów kolumn w wyrażeniach CTE
        • Używanie argumentów w wyrażeniach CTE
        • Definiowanie wielu wyrażeń CTE
        • Wielokrotne odwołania w wyrażeniach CTE
        • Rekurencyjne wyrażenia CTE
      • Widoki
        • Widoki i klauzula ORDER BY
        • Opcje widoku
      • Włamywane funkcje zwracające tabele
      • Operator APPLY
      • Podsumowanie
      • Ćwiczenia
        • Ćwiczenie 1
        • Ćwiczenie 2-1
        • Ćwiczenie 2-2
        • Ćwiczenie 3-1
        • Ćwiczenie 3-2
        • Ćwiczenie 4
        • Ćwiczenie 5-1
        • Ćwiczenie 5-2
        • Ćwiczenie 6-1
        • Ćwiczenie 6-2
      • Rozwiązania
        • Ćwiczenie 1
        • Ćwiczenie 2-1
        • Ćwiczenie 2-2
        • Ćwiczenie 3-1
        • Ćwiczenie 3-2
        • Ćwiczenie 4
        • Ćwiczenie 5-1
        • Ćwiczenie 5-2
        • Ćwiczenie 6-1
        • Ćwiczenie 6-2
  • Rozdział 6
    • Operatory zbiorowe
      • Operator UNION
        • Operator wielozbioru UNION ALL
        • Operator zbiorowy UNION z niejawną opcją Distinct
      • Operator INTERSECT
        • Operator INTERSECT (z niejawną opcją Distinct)
        • Operator wielozbioru INTERSECT ALL
      • Operator EXCEPT
        • Operator zbiorowy EXCEPT
        • Operator wielozbioru EXCEPT ALL
      • Pierwszeństwo
      • Omijanie nieobsługiwanych faz logicznych
      • Podsumowanie
      • Ćwiczenia
        • Ćwiczenie 1
        • Ćwiczenie 2
        • Ćwiczenie 3
        • Ćwiczenie 4
        • Ćwiczenie 5
        • Ćwiczenie 6
      • Rozwiązania
        • Ćwiczenie 1
        • Ćwiczenie 2
        • Ćwiczenie 3
        • Ćwiczenie 4
        • Ćwiczenie 5
        • Ćwiczenie 6
  • Rozdział 7
    • Kod T-SQL dla analizowania danych
      • Funkcje okna
        • Rankingowe funkcje okna
        • Offsetowe funkcje okna
        • Agregujące funkcje okna
        • Klauzula WINDOW
      • Przestawianie danych
        • Przestawianie danych przy użyciu zapytania grupującego
        • Przestawianie danych przy użyciu operatora PIVOT
      • Odwrotne przestawianie danych
        • Odwrotne przestawianie danych przy użyciu operatora APPLY
        • Odwrotne przestawianie danych za pomocą operatora UNPIVOT
      • Zbiory grupujące
        • Klauzula pomocnicza GROUPING SETS
        • Klauzula pomocnicza CUBE
        • Klauzula pomocnicza ROLLUP
        • Funkcje GROUPING i GROUPING_ID
      • Serie czasowe
        • Dane przykładowe
        • Funkcja DATE_BUCKET
        • Niestandardowe obliczanie początku kubełka zawierającego
        • Stosowanie kubełkowej logiki do przykładowych danych
        • Wypełnianie luk
      • Podsumowanie
      • Ćwiczenia
        • Ćwiczenie 1
        • Ćwiczenie 2
        • Ćwiczenie 3
        • Ćwiczenie 4
        • Ćwiczenie 5
        • Ćwiczenie 6
        • Ćwiczenie 7
        • Ćwiczenie 8
      • Rozwiązania
        • Ćwiczenie 1
        • Ćwiczenie 2
        • Ćwiczenie 3
        • Ćwiczenie 4
        • Ćwiczenie 5
        • Ćwiczenie 6
        • Ćwiczenie 7
        • Ćwiczenie 8
  • Rozdział 8
    • Modyfikowanie danych
      • Wstawianie danych
        • Wyrażenie INSERT VALUES
        • Instrukcja INSERT SELECT
        • Instrukcja INSERT EXEC
        • Instrukcja SELECT INTO
        • Instrukcja BULK INSERT
        • Właściwość identity i obiekt sekwencji
      • Usuwanie danych
        • Instrukcja DELETE
        • Instrukcja TRUNCATE
        • DELETE oparte na złączeniu
      • Aktualizowanie danych
        • Instrukcja UPDATE
        • UPDATE oparte na złączeniu
        • UPDATE z przypisaniem
      • Scalanie danych
      • Modyfikowanie danych przy użyciu wyrażeń tablicowych
      • Modyfikacje przy użyciu opcji TOP i OFFSET-FETCH
      • Klauzula OUTPUT
        • INSERT z klauzulą OUTPUT
        • DELETE z klauzulą OUTPUT
        • UPDATE z klauzulą OUTPUT
        • MERGE z klauzulą OUTPUT
        • Zagnieżdżone wyrażenia DML
      • Podsumowanie
      • Ćwiczenia
        • Ćwiczenie 1
        • Ćwiczenie 2
        • Ćwiczenie 3
        • Ćwiczenie 4
        • Ćwiczenie 5
        • Ćwiczenie 6
      • Rozwiązania
        • Ćwiczenie 1
        • Ćwiczenie 2
        • Ćwiczenie 3
        • Ćwiczenie 4
        • Ćwiczenie 5
        • Ćwiczenie 6
  • Rozdział 9
    • Tabele temporalne
      • Tworzenie tabel
      • Modyfikowanie danych
      • Odpytywanie danych
      • Podsumowanie
      • Ćwiczenia
        • Ćwiczenie 1
        • Ćwiczenie 2
        • Ćwiczenie 3
        • Ćwiczenie 4
      • Rozwiązania
        • Ćwiczenie 1
        • Ćwiczenie 2
        • Ćwiczenie 3
        • Ćwiczenie 4
  • Rozdział 10
    • Transakcje i współbieżność
      • Transakcje
      • Blokowanie
        • Blokady
        • Rozwiązywanie problemów związanych z blokadami
      • Poziomy izolacji
        • Poziom izolacji READ UNCOMMITTED
        • Poziom izolacji READ COMMITTED
        • Poziom izolacji REPEATABLE READ
        • Poziom izolacji SERIALIZABLE
        • Poziomy izolacji oparte na wersjonowaniu wierszy
        • Podsumowanie poziomów izolacji
      • Zakleszczenia
      • Podsumowanie
      • Ćwiczenia
        • Ćwiczenie 1
        • Ćwiczenie 2
        • Ćwiczenie 3
  • Rozdział 11
    • SQL Graph
      • Tworzenie tabel
        • Modelowanie tradycyjne
        • Modelowanie grafu
      • Odpytywanie danych
        • Klauzula MATCH
        • Zapytania rekurencyjne
        • Opcja SHORTEST_PATH
        • Funkcjonalności zapytań SQL Graph, których nadal brakuje
      • Uwarunkowania modyfikowania danych
        • Usuwanie i aktualizowanie danych
        • Scalanie danych
      • Podsumowanie
      • Ćwiczenia
        • Ćwiczenie 1
        • Ćwiczenie 2
        • Ćwiczenie 3
        • Ćwiczenie 4
      • Rozwiązania
        • Ćwiczenie 1
        • Ćwiczenie 2
        • Ćwiczenie 3
        • Ćwiczenie 4
      • Sprzątanie
  • Rozdział 12
    • Obiekty programowalne
      • Zmienne
      • Wsady
        • Wsad jako jednostka analizy
        • Wsady i zmienne
        • Instrukcje, których nie można łączyć w tym samym wsadzie
        • Wsad jako jednostka rozpoznawania
        • Opcja GO n
      • Elementy kontroli przepływu wykonania
        • Element kontroli przepływu IF ELSE
        • Element kontroli przepływu WHILE
      • Kursory
      • Tabele tymczasowe
        • Lokalne tabele tymczasowe
        • Globalne tabele tymczasowe
        • Zmienne tablicowe
        • Typy tablicowe
      • Dynamiczny kod SQL
        • Polecenie EXEC
        • Procedura składowana sp_executesql
        • PIVOT w dynamicznym kodzie SQL
      • Procedury
        • Funkcje definiowane przez użytkownika
        • Procedury składowane
        • Wyzwalacze
      • Obsługa błędów
      • Podsumowanie
  • Dodatek A
    • Rozpoczynamy
      • Rozpoczynamy pracę w Azure SQL
      • Instalowanie produktu SQL Server
        • 1. Uzyskanie oprogramowania instalacyjnego SQL Server
        • 2. Instalowanie silnika bazy danych
      • Pobieranie i instalowanie SQL Server Management Studio
      • Pobieranie kodu źródłowego i instalowanie przykładowej bazy danych
      • Posługiwanie się programem SQL Server Management Studio
      • Korzystanie z dokumentacji SQL Server
    • Polecamy także
  • Tytuł: Podstawy języka T-SQL: Microsoft SQL Server 2022 i Azure SQL Database
  • Autor: Itzik Ben-Gan
  • ISBN: 9788375415155, 9788375415155
  • Data wydania: 2023-06-15
  • Format: Ebook
  • Identyfikator pozycji: e_3bzl
  • Wydawca: Promise