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: Zapytania w języku T-SQL Język: 1

9788375410549

Cena Brutto: 135.45

Cena netto: 129.00

Ilość:
Wersja: Drukowana
Autor Itzik Ben-Gan, Lubor Kollar, Dejan Sarka, Steve Kass
Liczba_stron 956
Wydawnictwo Microsoft Press
Oprawa miękka
Data_Wydania 2009-08-01
Poziom All Levels

Opanuj mechanizmy zaawansowanych zapytań i dostrajania, aby uzyskać szybszy i bardziej skalowalny kod
Zespół autorów o wszechstronnej wiedzy na temat T-SQL pokazuje, jak radzić sobie z najtrudniejszymi problemami dotyczącymi zapytań opartych na zbiorach. Książka pozwala pogłębić wiedzę na temat architektury i wewnętrznych mechanizmów bazy danych i osiągnąć biegłość w znajdowaniu praktycznych i wydajnych rozwiązań.

Dowiedz się, jak:

  • przejść od proceduralnego programowania do myślenia o zbiorach i zależnościach logicznych,
  • optymalizować zapytania przy użyciu podejścia od góry do dołu,
  • szacować złożoność algorytmu, aby móc przewidywać wydajność i sprawność,
  • porównywać techniki agregowania danych, w tym nowe mechanizmy grupowania zbiorów,
  • dobierać mechanizmy modyfikacji danych – wstawianie, usuwanie, aktualizowanie i łączenie – pod kątem pożądanej wydajności,
  • pisać bardziej efektywne zapytania odwołujące się do tabel partycjonowanych,
  • korzystać z wykresów, drzew, hierachii i zapytań rekursywnych.
  • Dodatkowo – zbiór zagadek logicznych pozwalających podnieść umiejętność rozwiązywania problemów.

O autorach
Itzik Ben-Gan jest głównym wykładowcą i założycielem firmy Solid Quality Mentors. Od roku 1999 jako posiadacz certyfikatu Microsoft MVP for SQL Server prowadzi w wielu krajach szkolenia i seminaria poświęcone konstruowaniu zapytań, programowaniu i dostrajaniu zapytań w języku T-SQL. Jest autorem licznych artykułów, które pisuje do magazynu SQL Server Magazine oraz MSDN®, a także prowadzi własne prezentacje na takich konferencjach technicznych, jak Microsoft TechEd, DevWeek, PASS i SQL Server Connections.

Lubor Kollar jest menedżerem grupy tworzącej oprogramowanie SQL Server w firmie Microsoft. Jego zespół od 13 lat zajmuje się projektowaniem głównych udoskonaleń mechanizmu relacyjnej bazy danych oraz optymalizacji zapytań T-SQL.
Dejan Sarka posiada certyfikaty MCT i MCDBA oraz Microsoft MVP for SQL Server. Prowadzi szkolenia i konsultacje w firmie Solid Quality Mentors, występuje z własnymi prezentacjami na konferencjach TechEd i PASS oraz SQL Server DevCon.
Steve Kass jest wykładowcą matematyki i informatyki w stopniu doktora, a także ma tytuł MVP for SQL Server. Jest autorem licznych artykułów publikowanych w SQL Server Magazine.

Przedmowa .................... xiii
Podziękowania ................. xv
Wprowadzenie ................ xix

1. Logiczne przetwarzanie zapytań .......................... 1

Fazy logicznego przetwarzania zapytań ....................... 3

Krótkie omówienie faz logicznego przetwarzania zapytania ............................. 4

Przykładowe zapytanie oparte na scenariuszu z użyciem tabeli klientów i zamówień ........ 6

Szczegóły faz procesu logicznego przetwarzania zapytań ......... 8

Krok 1: Faza FROM ........ 8

Krok 2: Faza WHERE ... 14

Krok 3: Faza GROUP BY ........................ 16

Krok 4: Faza HAVING .. 17

Krok 5: Faza SELECT ... 18

Krok 6: Faza prezentacji ORDER BY .................. 21

Pozostałe aspekty logicznego przetwarzania zapytań  25

Operatory tablicowe ....... 25

Klauzula OVER .............. 35

Operatory zbiorowe ........ 38

Podsumowanie ..................... 40

2. Teoria zbiorów i logika predykatów ................. 41

Przykład tłumaczenia problemu z języka potocznego na język matematyczny ......... 41

Dobre zdefiniowanie ....... 43

Równość, tożsamość i podobieństwo ..................... 45

Konwencje matematyczne ......................... 46

Liczby ............................. 47

Kontekst......................... 48

Funkcje, parametry i zmienne ....................... 50

Instrukcje i algorytmy .... 51

Teoria zbiorów .................... 52

Notacje używane do zapisywania zbiorów ............ 53

Zbiory dobrze zdefiniowane ......................... 54

Domeny zawartości ......... 54

Dokładność ..................... 58

Paradoks Russella ......... 61

Pary uporządkowane, krotki oraz iloczyn kartezjański .... 63

Zbiór pusty ..................... 65

Funkcja charakterystyczna zbioru ........................ 65

Kardynalność .................. 66

Kolejność ........................ 68

Operatory zbiorowe ........ 73

Podziały zbioru na części ....................... 75

Uogólnienia teorii zbiorów ................................... 76

Logika predykatów ............. 77

Funkcje około-logiczne języków programowania . 77

Zdania i predykaty ......... 78

Prawo wykluczonego środka ................................. 81

Operatory logiczne i, lub oraz nie ........................ 81

Logiczna równoważność . 83

Logiczna implikacja ...... 84

Kwantyfikacja ............... 85

Alternatywy i uogólnienia .................................... 87

Relacje ................................ 89

Właściwości zwrotności, symetryczności i przechodniości . 89

Zastosowanie praktyczne .... 91

Podsumowanie ..................... 95

3. Model relacyjny............... 97

Wprowadzenie do modelu relacyjnego ...................... 97

Relacje, krotki i typy danych ................................. 98

Model relacyjny: krótkie podsumowanie .......... 105

Algebra relacyjna oraz rachunek relacyjny ........... 106

Podstawowe operatory . 106

Algebra relacyjna ......... 107

Rachunek relacyjny .... 119

Język T-SQL ............... 121

Integralność danych ......... 122

Ograniczenia deklaratywne ............................... 123

Inne sposoby wymuszania integralności ............ 128

Normalizacja i inne kwestie projektowe ................. 131

Postacie normalne związane z zależnościami funkcjonalnymi ....................................... 132

Wyższe postacie normalne ................................. 140

Denormalizacja ........... 144

Generalizacja i specjalizacja ............................... 146

Podsumowanie ................... 149

4. Dostrajanie zapytań ..... 151

Przykładowe dane dla tego rozdziału ..................... 152

Metodologia procesu dostrajania ............................. 156

Analiza stanów oczekiwania na poziomie instancji .......... 159

Korelacja stanów oczekiwania z kolejkami ......... 169

Określenie kierunku działania ............................ 172

Schodzenie do poziomu bazy danych lub pliku ... 173

Schodzenie do poziomu procesu .......................... 177

Dostrajanie indeksów i zapytań ........................... 201

Narzędzia służące do dostrajania zapytań ............... 202

Buforowane plany wykonywania zapytań ........... 202

Oczyszczanie pamięci podręcznej ........................ 203

Dynamiczne obiekty zarządzające ....................... 204

Opcja STATISTICS IO  204

Mierzenie czasu wykonywania zapytań .............. 205

Analizowanie planów wykonywania .................... 206

Wskazówki .................... 219

Śledzenie zdarzeń i program Profiler .................. 221

Program Database Engine Tuning Advisor ........ 221

Gromadzenie danych i hurtownia danych zarządzających............................................ 221

Klonowanie statystyk przy użyciu obiektów SMO ........... 222

Dostrajanie indeksów ........ 222

Struktury tabel i indeksów .................................. 223

Metody dostępu do indeksów .............................. 235

Analiza różnych strategii indeksowania .............. 289

Fragmentacja ................ 303

Partycjonowanie ........... 305

Przygotowywanie danych przykładowych ............... 306

Przygotowanie danych .. 306

Opcja TABLESAMPLE ...................................... 313

Porównanie podejścia opartego na zbiorach z podejściem iteracyjnym/proceduralnym ...... 316

Podsumowanie ................... 326

5. Algorytmy i ich złożoność .................................. 327

Czy masz ćwierćdolarówkę? ................................ 328

Stopień skalowalności algorytmów .......................... 330

Przykład skalowania kwadratowego ................. 330

Algorytm o liniowej złożoności .......................... 331

Złożoność wykładnicza i super wykładnicza ....... 332

Złożoność subliniowa .. 333

Stała złożoność ............ 334

Techniczna definicja złożoności ......................... 334

Porównywanie złożoności .................................. 337

Algorytmy klasyczne i strategie algorytmiczne ...... 339

Algorytmy sortowania  340

Wyszukiwanie łańcuchów znakowych ............... 344

Zastosowanie praktyczne . 345

Określanie trendu w wynikach pomiarów ......... 345

Złożoność algorytmiczna problemu NDZSP ....... 346

Rozwiązywanie problemu NDZSP w języku T-SQL ........ 347

Podsumowanie ................... 350

6. Zapytania podrzędne, wyrażenia tablicowe oraz funkcje szeregujące .............. 351

Zapytania podrzędne ........ 352

Samodzielne zapytania podrzędne ...................... 352

Skorelowane zapytania podrzędne ...................... 357

Niepoprawnie działające zapytania podrzędne ... 371

Nietypowe predykaty .... 374

Wyrażenia tablicowe ......... 375

Tabele pochodne ........... 375

Wspólne wyrażenia tablicowe ............................. 379

Analityczne funkcje szeregujące .............................. 389

Numer wiersza .............. 391

Szereg i szereg zwarty .. 415

Numer płytki................. 416

Pomocnicza tabela liczb .... 422

Istniejące i brakujące zakresy (nazywane również wyspami i przerwami) ........................ 426

Brakujące zakresy (przerwy) .............................. 430

Istniejące zakresy (wyspy) ................................... 440

Podsumowanie ................... 453

7. Połączenia i operacje na zbiorach .................... 455

Połączenia .......................... 455

Porównanie starego i nowego stylu składni połączeń ....... 455

Podstawowe rodzaje połączeń ............................. 457

Kolejne przykłady połączeń ................................ 470

Całkowita suma dla przesuwającego się okna poprzedniego roku ................................ 486

Algorytmy połączeń ...... 491

Rozdzielanie elementów  501

Operacje na zbiorach ........ 508

UNION .......................... 510

EXCEPT ....................... 510

INTERSECT ................ 513

Kolejność wykonywania operacji na zbiorach .... 514

Używanie klauzuli INTO w operacjach na zbiorach ........ 514

Omijanie ograniczeń dotyczących nieobsługiwanych faz logicznych ............................. 515

Podsumowanie ................... 517

8. Agregowanie i przestawianie danych .............. 519

Klauzula OVER ................ 519

Atrybuty rozstrzygające .... 523

Agregacje bieżące .............. 526

Agregacje kumulujące .. 528

Agregacje przesuwne .... 534

Agregacje typu YTD ..... 536

Przestawianie danych ........ 537

Przestawianie atrybutów ..................................... 537

Podział relacyjny .......... 543

Agregowanie danych .... 544

Odwrotne przestawianie danych .............................. 548

Agregacje niestandardowe  552

Agregacje niestandardowe używające przestawiania danych ........................................ 553

Agregacje definiowane przez użytkownika ......... 555

Rozwiązania specjalizowane ................................ 568

Histogramy ........................ 582

Czynnik grupujący ............ 586

Zbiory grupujące ............... 589

Dane przykładowe ....... 590

Klauzula podrzędna GROUPING SETS ........... 591

Klauzula podrzędna CUBE ............................... 595

Klauzula podrzędna ROLLUP ............................ 596

Algebra zbiorów grupujących ............................. 598

Funkcja GROUPING_ID .................................... 603

Materializowanie zbiorów grupujących .............. 606

Sortowanie .................... 609

Podsumowanie ................... 610

9. TOP i APPLY ................ 611

SELECT TOP ................... 611

Opcja TOP i determinizm ................................... 613

Opcja TOP i wyrażenia wejściowe ...................... 615

Opcja TOP i modyfikacje .................................... 616

Opcja TOP na sterydach ..................................... 619

APPLY ............................. 620

Rozwiązania typowych problemów używające opcji TOP i operatora APPLY ................. 623

TOP n dla każdej grupy ...................................... 623

Dopasowywanie do siebie bieżących i poprzednich wystąpień ....................................... 630

Stronicowanie ............... 635

Losowe wiersze ............. 641

Mediana ........................ 643

Przekształcenia logiczne .... 645

Podsumowanie ................... 649

10. Modyfikowanie danych ...................................... 651

Wstawianie danych ........... 651

Rozszerzona klauzula VALUES .......................... 651

SELECT INTO ............. 653

Dostawca zbioru wierszy typu BULK ................ 655

Operacje z minimalnym poziomem rejestrowania ........... 658

INSERT EXEC ............. 684

Mechanizmy sekwencjonujące ............................ 688

Identyfikatory GUID .... 695

Usuwanie danych ............... 695

Porównanie instrukcji TRUNCATE i DELETE . 695

Usuwanie wierszy z powtarzającymi się danymi . 696

Instrukcja DELETE oparta na połączeniu ......... 698

Aktualizowanie danych ..... 701

Instrukcja UPDATE używająca połączenia ........ 702

Aktualizowanie dużych typów danych ................ 706

Przypisania wykonywane za pomocą instrukcji SELECT i UPDATE .......................... 708

Scalanie danych ................. 713

Podstawy działania instrukcji MERGE ............. 715

Dodawanie predykatu . 719

Wielokrotne klauzule WHEN ............................ 721

Klauzula WHEN NOT MATCHED BY SOURCE .......... 722

Scalanie wartości ......... 724

Instrukcja MERGE i procedury wyzwalane ..... 726

Klauzula OUTPUT ............ 727

Instrukcja INSERT z klauzulą OUTPUT ........... 728

Instrukcja DELETE z klauzulą OUTPUT .......... 729

Instrukcja UPDATE z klauzulą OUTPUT .......... 731

Instrukcja MERGE z klauzulą OUTPUT ........... 734

Komponowalne instrukcje DML ......................... 735

Podsumowanie ................... 738

11. Odpytywanie tabel podzielonych na partycje ............ 739

Dzielenie na partycje w serwerze SQL Server ......... 739

Widoki partycjonowane ..................................... 740

Tabele partycjonowane ...................................... 741

Podsumowanie ............ 761

12. Grafy, drzewa, hierarchie i zapytania rekurencyjne ............................................. 763

Terminologia ..................... 763

Grafy ............................. 764

Drzewa .......................... 764

Hierarchie ..................... 765

Scenariusze ........................ 765

Schemat organizacyjny pracowników ................. 766

Wykaz towarów ............ 767

Sieć dróg ....................... 771

Iteracja/Rekurencja ......... 775

Elementy podrzędne ..... 776

Elementy poprzedzające ...................................... 788

Grafy podrzędne i drzewa podrzędne z enumeracją ścieżki .......................................... 792

Sortowanie .................... 796

Cykle ............................. 799

Ścieżka zmaterializowana . 803

Utrzymywanie danych .. 804

Odpytywanie ................. 810

Ścieżka zmaterializowana z typem danych HIERARCHYID............................................. 817

Utrzymywanie danych  819

Odpytywanie ................. 828

Inne aspekty stosowania typu danych HIERARCHYID . 832

Zbiory zagnieżdżone .......... 845

Przypisywanie lewych i prawych wartości .......... 845

Zapytania ...................... 852

Domknięcie przechodnie ... 855

Zorientowane grafy acykliczne ............................ 856

Podsumowanie ................... 872

A. Zagadki logiczne ........... 875

Zagadki ............................. 875

Zadanie 1: Reszty z dzielenia .............................. 875

Zadanie 2: Okrągłe pokrywy studzienek kanalizacyjnych ............................................ 876

Zadanie 3: Uściski dłoni ...................................... 876

Zadanie 4: Aż pięć razy? ..................................... 876

Zadanie 5: Ustawianie żołnierzy w szeregu ....... 876

Zadanie 6: Przechodzenie przez tunel ............... 877

Zadanie 7: Jak wydostać się z jaskini .................. 877

Zadanie 8: Darmowy tuńczyk ............................ 878

Zadanie 9: Wyznaczanie następcy tronu ............. 878

Zadanie 10: Następny element szeregu ............... 878

Zadanie 11: Urodziny w tym samym dniu .......... 878

Zadanie 12: Dogonić pociąg ................................ 878

Zadanie 13: Więźniowie i przełączniki .............. 879

Zadanie 14: Prawdopodobieństwo w Chinach .. 879

Zadanie 15: Dwóch matematyków ..................... 880

Zadanie 16: Zwariowana sekwencja ................... 880

Zadanie 17: Minimalna liczba odważników ........ 881

Zadanie 18: Zliczanie trójkątów ........................ 881

Zadanie 19: Fałszywe monety ............................ 881

Zadanie 20: Jeden i pół ...................................... 882

Zadanie 21: Kot, sznurek i kula ziemska ........... 882

Zadanie 22: Problem Josephulusa ....................... 882

Zadanie 23: Morska algebra .............................. 882

Zadanie 24: Zadanie z trójkątami równobocznymi ........ 883

Rozwiązania zagadek ........ 883

Zadanie 1: Reszty z dzielenia .............................. 883

Zadanie 2: Okrągłe pokrywy studzienek kanalizacyjnych ............................................ 884

Zadanie 3: Uściski dłoni ...................................... 884

Zadanie 4: Aż pięć razy? ..................................... 884

Zadanie 5: Ustawianie żołnierzy w szeregu ......... 885

Zadanie 6: Przechodzenie przez tunel ................. 885

Zadanie 7: Jak wydostać się z jaskini .................. 886

Zadanie 8: Darmowy tuńczyk ............................. 886

Zadanie 9: Wyznaczanie następcy tronu ............. 887

Zadanie 10: Następny element szeregu ............... 888

Zadanie 11: Urodziny w tym samym dniu .......... 888

Zadanie 12: Dogonić pociąg ................................ 888

Zadanie 13: Więźniowie i przełączniki ................ 889

Zadanie 14: Prawdopodobieństwo w Chinach .... 890

Zadanie 15: Dwóch matematyków ...................... 890

Zadanie 16: Zwariowana sekwencja ................... 891

Zadanie 17: Minimalna liczba odważników ........ 891

Zadanie 18: Zliczanie trójkątów .......................... 893

Zadanie 19: Fałszywe monety .............................. 894

Zadanie 20: Jeden i pół . 894

Zadanie 21: Kot, sznurek i kula ziemska ............ 895

Zadanie 22: Problem Josephulusa ....................... 896

Zadanie 23: Morska algebra ............................... 897

Zadanie 24: Zadanie z trójkątami równobocznymi ......... 897

Podsumowanie ................... 899

Indeks ............................. 900

powrót
 
Produkty Podobne
Tablice informatyczne. SQL. Wydanie II
SQL. Leksykon kieszonkowy. Wydanie II
Praktyczny kurs SQL. Wydanie II
SQL. Ćwiczenia praktyczne. Wydanie II
SQL. Rusz głową!
SQL Pocket Guide, Third Edition
Using SQLite
SQL Antipatterns
Oracle Database 11g PL/SQL Programming Workbook
OCA Oracle Database SQL Certified Expert Exam Guide (Exam 1Z0-047)
Więcej produktów