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 \ Servery \ SQL Server

Microsoft SQL Server 2008 od środka: Programowanie w języku T-SQL Język: 1

9788375410631

Cena Brutto: 135.45

Cena netto: 129.00

Ilość:
Wersja: Drukowana
Autor Itzik Ben-Gan, Dejan Sarka, Roger Wolter, Greg Low, Ed Katibah, Isaac Kune
Liczba_stron 840
Wydawnictwo Microsoft Press
Oprawa miękka
Data_Wydania 2010-03-01
Poziom All Levels


Microsoft SQL Server 2008 od środka: Programowanie w języku T-SQL


Opanuj zaawansowane techniki programowania w języku T-SQL i implementuj niezawodne rozwiązania
Poznaj efektywne konstrukcje programistyczne i tajniki T-SQL - języka programowania baz danych wbudowanego w SQL Server. Ekspert w dziedzinie T-SQL Itzik Ben-Gan wraz z kolegami z zespołu Microsoft SQL Server i nie tylko zaprezentują praktyczne, zaawansowane metody, które zapewniają maksymalną wydajność kodu.

Dowiedz się jak:

  • Implementować funkcje, procedury składowane i wyzwalacze w języku T-SQL lub CLR
  • Dokonywać wyboru między operacjami relacyjnymi a stosowaniem kursorów
  • Wykorzystywać nowe technologie śledzenia dostępu i modyfikacji danych
  • Dostosować model współbieżności do wymagań określonej aplikacji
  • Rozszerzać SQL Server o definiowane przez użytkownika typy CLR
  • Implementować wsparcie dla danych tymczasowych, danych daty/godziny oraz danych przestrzennych
  • Określać gdzie i kiedy warto korzystać z technologii XML i dynamicznych instrukcji SQL
  • Wykorzystywać system Service Broker do niezawodnego, asynchronicznego realizowania zadań

Przykłady kodu są dostępne do pobrania z witryny internetowej.
Dodatek zawiera szczegółowe instrukcje implementacji i wdrożenia wszystkich prezentowanych obiektów CLR
Wymagania systemowe zostały opisane we Wprowadzeniu.

O autorach
Itzik Ben-Gan jest mentorem i współzałożycielem firmy Solid Quality Mentors. Uzyskał tytuł SQL Server MVP w 1999 roku. Prowadzi szkolenia i udziela konsultacji w zakresie budowania zapytań, programowania T-SQL oraz optymalizacji zapytań. Jest autorem wielu książek i artykułów, a także lektorem na konferencjach Tech•Ed, DevWeek, PASS oraz SQL Server Magazine Connections.
Dejan Sarka posiada tytuł SQL Server MVP i jest ekspertem w dziedzinie modelowania relacyjnego. Pełni rolę mentora w firmie Solid Quality Mentors. Dejan specjalizuje się w rozwijaniu aplikacji bazodanowych oraz Business Intelligence.
Roger Wolter pełni funkcję architekta w zespole Microsoft IT MDM i brał udział w projektach związanych m.in. z technologiami SQL Server Service Broker, SQLXML oraz Master Data Services.
Greg Low posiada tytuł PhD oraz SQL Server MVP. Piastuje stanowisko dyrektora regionalnego w firmie Microsoft. Prowadzi szkolenia SQL Server 2008 w ramach programu Microsoft Certified Masters.
Ed Katibah pełni funkcję menedżera programu w zespole SQL Server Strategy, Infrastructure, and Architecture. Specjalizuje się w systemach bazodanowych oferujących wsparcie dla funkcji przestrzennych.
Isaac Kunen piastuje stanowisko menedżera programu w zespole SQL Server Engine Programmability, który pomógł w implementacji funkcjonalności danych przestrzennych w wersji SQL Server 2008.

Przedmowa.xiii
Podziękowania
.xvi
Wprowadzenie
.xix

1 Widoki.1

Co to są widoki?.1

ORDER BY w widoku.3

Odświeżanie widoków.7

Rozwiązania modularne.8

Modyfikowanie widoków.16

Opcje widoku.20

ENCRYPTION.20

SCHEMABINDING.20

CHECK OPTION.22

VIEW_METADATA.23

Widoki indeksowane.24

Podsumowanie.30

2 Funkcje definiowane przez użytkownika.31

Wybrane fakty dotyczące funkcji UDF.32

Skalarne funkcje UDF.32

Skalarne funkcje UDF T-SQL.33

Względy wydajnościowe.35

Funkcje UDF wykorzystywane w ograniczeniach.41

Skalarne funkcje UDF CLR.44

Podpis SQL.58

Tabelaryczne funkcje UDF.65

Wbudowane tabelaryczne funkcje UDF.65

Podział tablicy.67

Opcja ORDER w tabelarycznych funkcjach UDF CLR.73

Tabelaryczne funkcje UDF zawierające wiele instrukcji.75

Funkcje UDF wykonywane dla każdego wiersza.79

Podsumowanie.82

3 Procedury składowane.............................................83

Typy procedur składowanych.84

Procedury składowane definiowane przez użytkowników.84

Specjalne procedury składowane.88

Systemowe procedury składowane.90

Inne typy procedur składowanych.....................................92

Interfejs procedur składowanych.93

Skalarne parametry wejściowe.93

Parametry tabelowe.95

Parametry wyjściowe.97

Rozpoznawanie.99

Informacje o zależnościach.100

Kompilacje, rekompilacje i ponowne wykorzystywanie planów wykonania.104

Ponowne wykorzystywanie planów wykonania.104

Rekompilacje.110

Sondowanie zmiennych.114

Wytyczne planu...................................................121

EXECUTE AS.133

Parametryzowanie sposobu sortowania.134

Procedury składowane CLR.140

Podsumowanie.148

4 Wyzwalacze.149

Wyzwalacze AFTER.150

Tabele specjalne inserted oraz deleted.150

Identyfikowanie liczby przetworzonych wierszy.........................151

Identyfikowanie typu wyzwalacza.155

Zatrzymywanie wyzwalaczy dla wybranych instrukcji.157

Zagnieżdżanie i rekurencja..........................................161

UPDATE oraz COLUMNS_UPDATED.162

Przykładowa inspekcja.165

Wyzwalacze INSTEAD OF.167

Stosowanie wyzwalaczy na poziomie wierszy.169

Stosowanie wyzwalaczy na widokach.171

Automatyczna obsługa sekwencji.174

Wyzwalacze DDL.176

Wyzwalacze na poziomie bazy danych.177

Wyzwalacze na poziomie serwera.182

Wyzwalacze logowania.184

Wyzwalacze CLR.185

Podsumowanie.194

5 Transakcje i współbieżność.195

Co to są transakcje?.196

Blokady.198

Rozszerzanie blokad.203

Poziomy izolacji.205

Poziom izolacji READ UNCOMMITTED.206

READ COMMITTED.208

REPEATABLE READ.210

SERIALIZABLE.211

Poziomy izolacji bazujące na wersjach wierszy.212

Punkty zapisu.219vii

Zakleszczenia.221

Prosty przykład zakleszczenia.221

Zakleszczenia wynikające z brakujących indeksów.223

Zakleszczenie z pojedynczą tabelą.226

Podsumowanie.228

6 Obsługa błędów.229

Obsługa błędów bez pomocy konstrukcji TRY/CATCH.229

Obsługa błędów z wykorzystaniem konstrukcji TRY/CATCH.233

TRY/CATCH.233

Funkcje obsługi błędów.235

Błędy w transakcjach.237

Podsumowanie.248

7 Tabele tymczasowe i zmienne tabelaryczne.249

Tabele tymczasowe.250

Lokalne tabele tymczasowe.250

Globalne tabele tymczasowe.262

Zmienne tabelaryczne.264

Ograniczenia.264

tempdb.265

Zakres i widzialność.266

Kontekst transakcji.266

Statystyki.266

Operacje wstawiania rejestrowane w minimalnym zakresie.270

Aspekty bazy danych tempdb.272

Wyrażenia tabelowe.274

Zestawienie porównawcze.275

Ćwiczenia podsumowujące.276

Porównanie okresów.277

Najnowsze zamówienia.279

Podział relacyjny.283

Podsumowanie.288

8 Kursory.289

Stosowanie kursorów.289

Obciążenie wynikające z zastosowania kursora.291

Przetwarzanie pojedynczych wierszy.293

Dostęp w oparciu o kolejność.295

Niestandardowe agregacje.295

Agregacje kroczące.297

Maksymalna liczba równoległych sesji.304

Problem dopasowywania.312

Podsumowanie.318

9 Dynamiczne instrukcje SQL.319

EXEC.321viii

Proste przykłady wykorzystania polecenia EXEC.321

Polecenie EXEC nie ma interfejsu.322

Konkatenacja zmiennych.326

EXEC AT.327

sp_executesql.330

Interfejs polecenia sp_executesql.330

Limit instrukcji.334

Ustawienia środowiskowe.335

Zastosowanie dynamicznego kodu SQL.336

Dynamiczne operacje konserwacyjne.336

Przechowywanie wyniku obliczeń.338

Dynamiczne filtry.343

Dynamiczne operacje PIVOT/UNPIVOT.354

Iniekcja SQL.368

Iniekcja SQL: Kod konstruowany dynamicznie po stronie klienta.369

Iniekcja SQL: kod konstruowany dynamicznie na serwerze.370

Ochrona przed atakami typu SQL Injection.374

Podsumowanie.377

10 Przetwarzanie danych daty i godziny.379

Typy data/godzina.379

Manipulowanie danymi daty i czasu.381

Funkcje daty i czasu.381

Literały.387

Określanie dnia tygodnia.390

Obsługa danych jedynie daty lub jedynie godziny w wersjach wcześniejszych niż SQL Server 2008.392

Przykładowe operacje wykonywane na danych daty i godziny.393

Problemy związane z zaokrąglaniem.398

Problemy związane z wykonywaniem zapytań na danych daty i godziny.400

Problemy z określaniem wieku.400

Nakładające się okresy.403

Grupowanie według tygodni.408

Dni robocze.410

Generowanie serii dat.411

Podsumowanie.412

11 Typy CLR definiowane przez użytkownika.413

Teoretyczne wprowadzenie do typów UDT.413

Domeny i relacje.413

Domeny i klasy.416

Złożone domeny.417

Do czego służą klasy złożone?.419

Język służący do tworzenia typów UDT.420

Programowanie typu UDT.421

Wymagania typu UDT.421ix

Tworzenie typu UDT.424

Instalowanie typu UDT przy użyciu kodu T-SQL.429

Podsumowanie.442

12 Wsparcie dla danych tymczasowych w modelu relacyjnym.443

Predykaty i sądy z sygnaturą czasową.444

Punkty czasowe.446

Tabela przeszukiwania zawierająca punkty czasowe.446

Problemy związane z danymi częściowo tymczasowymi.447

Ograniczenia danych częściowo tymczasowych.........................448

Testowanie ograniczeń częściowo tymczasowych.450

Zapytania wykonywane na tabelach z danymi częściowo tymczasowymi.451

Tabele z pełnym wsparciem dla danych tymczasowych.451

Typ UDT IntervalCID.453

Testowanie typu IntervalCID.465

Tabele z danymi w pełni tymczasowymi wykorzystujące typ IntervalCID.469

Testowanie ograniczeń dla danych w pełni tymczasowych.472

Zapytania wykonywane na tabelach z wsparciem dla danych w pełni tymczasowych.473

Odpakowywanie i pakowanie.475

Rozwinięte i zwinięte postacie zbiorów interwałów.478

Operator UNPACK.479

Operator PACK.482

Szósta postać normalna w praktyce.484

Dekompozycje poziome i pionowe.484

Szósta postać normalna.492

Podsumowanie.494

13 XML oraz XQuery.495

Konwertowanie danych relacyjnych do postaci XML i na odwrót.495

Wprowadzenie do XML.495

Generowanie dokumentu XML na podstawie danych relacyjnych.499

Szatkowanie danych XML do tabel.507

Język XQuery w systemie SQL Server 2008.510

Wprowadzenie do XQuery.511

Nawigacja.515

Iteracja i wartości zwrotne.521

Typ danych XML.....................................................526

Wsparcie dla danych XML w relacyjnej bazie danych.526

Kiedy warto stosować XML zamiast reprezentacji relacyjnej?.528

Serializowane obiekty XML w bazie danych.530

XML jako parametr procedury składowanej.540

Dynamiczny schemat relacyjny.541

Rozwiązania relacyjne.541

Rozwiązania zorientowane obiektowo.543

Wykorzystanie typu danych XML do realizacji dynamicznych schematów.543x

Podsumowanie.548

14 Dane przestrzenne................................................549

Wprowadzenie do danych przestrzennych.549

Podstawowe koncepcje związane z danymi przestrzennymi.550

Dane wektorowe a model typów w standardzie OGC Simple Features.550

Współrzędne kartezjańskie i geograficzne.552

Identyfikatory SRID.554

Standardy.555

Stosowanie elipsoid.556

Dane.557

Typowe formaty danych.557

Pozyskiwanie danych przestrzennych.558

Pobieranie danych przestrzennych.559

Przykładowe dane przestrzenne.559

Rozpoczęcie pracy z danymi przestrzennymi.560

Tworzenie tabeli z kolumną danych przestrzennych.560

Well-Known Text.560

Konstruowanie obiektów przestrzennych na podstawie ciągów i wstawianie ich do tabeli.561

Testowanie interakcji podstawowych obiektów.565

Podstawowe operacje przestrzenne.568

Zapytania dotyczące sąsiedztwa.575

Typ GEOGRAPHY..................................................581

Prawidłowość danych przestrzennych.584

Problemy z poprawnością danych typu GEOMETRY.584

Pomiar długości i powierzchni.586

Porównanie pomiarów długości dla instancji GEOMETRY oraz GEOGRAPHY. 587

Porównanie pomiarów powierzchni dla instancji typu GEOMETRY oraz GEOMETRY.588

Indeksowanie danych przestrzennych.589

Wprowadzenie do indeksów przestrzennych.589

Indeksy przestrzenne w SQL Server.590

Stosowanie indeksów przestrzennych.591

Indeksy GEOGRAPHY.593

Plany wykonania zapytań.594

Integracja z metodami przestrzennymi................................596

Stosowanie danych i funkcji przestrzennych.597

Ładowanie danych przestrzennych.597

Ładowanie danych przestrzennych z plików tekstowych.599

Odnajdowanie lokalizacji w regionach geograficznych.605

Wyszukiwanie najbliższego sąsiada.608

Złączenia przestrzenne.611

Przetwarzanie danych przestrzennych.613

Rozszerzanie wsparcia dla danych przestrzennych przy użyciu procedur CLR.620

Typy w systemie klienckim.620xi

Rozpraszanie przy użyciu definiowanej przez użytkownika agregacji Union. 620

Zbiorniki i budowniczowie: transformacje liniowe.623

Podsumowanie.628

15 Śledzenie dostępu i modyfikacji danych.629

Jaką technologię wykorzystać?.629

Metody stosowane w poprzednich wersjach SQL Server.629

Technologie dodane do SQL Server 2008.630

Implementacja rozwiązania Extended Events.632

Hierarchia obiektów Extended Events.632

Implementacja scenariusza z wykorzystaniem Extended Events.639

Analiza koncepcji Extended Events.642

Implementacja rozwiązania SQL Server Audit.646

Hierarchia obiektów inspekcji.646

Implementacja scenariusza z wykorzystaniem funkcji Auditing.651

Analiza koncepcji SQL Server Audit.654

Implementacja rozwiązania Change Tracking.657

Implementacja scenariusza z wykorzystaniem funkcji Change Tracking.658

Kwestie związane z zarządzaniem śledzenia zmian.665

Microsoft Sync Framework.666

Implementacja rozwiązania Change Data Capture.670

Implementacja scenariusza z wykorzystaniem Change Data Capture.670

Zarządzanie funkcją Change Data Capture.675

Podsumowanie.678

16 Service Broker.679

Dialog.680

Konwersacja.681

Niezawodność.681

Wiadomości.684

Typ wiadomości DEFAULT.687

Kolejki.687

Rozpoczynanie i zakańczanie dialogu.693

Punkty końcowe konwersacji.696

Grupy konwersacji.698

Przesyłanie i odbieranie.700

Aktywacja.704

Wewnętrzna aktywacja.705

Zewnętrzna aktywacja.708

Priorytet konwersacji.712

Obiekt Broker Priority.714

Przykładowy dialog.718

Zatrute wiadomości.727

Bezpieczeństwo dialogu.728

Uwierzytelnianie asymetryczne.732

Konfigurowanie zabezpieczeń dialogu.733xii

Trasy i dystrybucja.737

Protokół Adjacent Broker Protocol.738

Punkty końcowe Service Broker......................................739

Trasy.744

Rozwiązywanie problemów.749

Scenariusze.753

Niezawodna architektura SOA.754

Przetwarzanie asynchroniczne.755

Zastosowania systemu Service Broker.755

Czym jest Service Broker.756

Czym nie jest Service Broker.756

Service Broker a MSMQ.756

Service Broker a BizTalk.757

Service Broker a Windows Communication Foundation.757

Podsumowanie.758

A Materiały pomocnicze dla procedur CLR.759

Stworzenie bazy danych CLRUtilities: SQL Server.760

Programowanie: Visual Studio.760

Tworzenie projektu.760

Pisanie kodu.761

Instalacja i testowanie: Visual Studio oraz SQL Server.761

Budowanie i instalacja rozwiązania.762

Testowanie rozwiązania.762

Indeks.789

powrót
 
Produkty Podobne
Tablice informatyczne. SQL. Wydanie II
SQL. Leksykon kieszonkowy. Wydanie II
Praktyczny kurs SQL. Wydanie II
SQL. Ćwiczenia praktyczne. Wydanie II
Hurtownie danych. Od przetwarzania analitycznego do raportowania
SQL. Rusz głową!
SQL Pocket Guide, Third Edition
Using SQLite
SQL Antipatterns
Oracle Database 11g PL/SQL Programming Workbook
Więcej produktów