T SQL dla zaawansowanych Przewodnik programisty Wydanie IV.pdf

(2569 KB) Pobierz
Tytuł oryginału: Pro T-SQL Programmer's Guide, 4th Edition
Tłumaczenie: Andrzej Stefański
ISBN: 978-83-283-2247-9
Original edition copyright © 2015 by Miguel Cebollero, Jay Natarajan, and Michael Coles
All rights reserved.
Polish edition copyright © 2016 by HELION SA.
All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any
means, electronic or mechanical, including photocopying, recording or by any information storage
retrieval system, without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje
były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani
za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo
HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe
z wykorzystania informacji zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/tsqlz4
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis tre ci
O autorach .................................................................................................. 11
O korektorze merytorycznym ...................................................................... 12
Podzi kowania ............................................................................................ 13
Wprowadzenie ............................................................................................ 15
Rozdzia 1. Podstawy T-SQL .......................................................................................... 21
Krótka historia T-SQL .......................................................................................................... 21
Języki imperatywne i deklaratywne .................................................................................... 22
Podstawy SQL ........................................................................................................................ 23
Wyrażenia .................................................................................................................................23
Bazy danych ..............................................................................................................................25
Logi transakcyjne .....................................................................................................................26
Schematy ...................................................................................................................................26
Tabele ........................................................................................................................................27
Widoki .......................................................................................................................................28
Indeksy ......................................................................................................................................29
Procedury składowane ............................................................................................................30
Funkcje użytkownika ..............................................................................................................30
Moduły SQL CLR ....................................................................................................................30
Podstawy stylu ........................................................................................................................ 31
Białe znaki .................................................................................................................................31
Konwencje nazewnictwa .........................................................................................................32
Jedno wejście, jedno wyjście ...................................................................................................33
Programowanie defensywne ..................................................................................................35
Wyrażenie SELECT * ..............................................................................................................36
Inicjalizacja zmiennych ...........................................................................................................37
Podsumowanie ....................................................................................................................... 37
Kup książkę
Poleć książkę
SPIS TRE CI
Rozdzia 2. Narz dzia .................................................................................................... 39
SQL Server Management Studio ......................................................................................... 39
IntelliSense ................................................................................................................................40
Fragmenty kodu .......................................................................................................................41
Schematy skrótów klawiszowych ..........................................................................................43
Debugowanie T-SQL ...............................................................................................................43
Opcje edycji w SSMS ...............................................................................................................45
Pomoc kontekstowa ................................................................................................................46
Graficzna reprezentacja planów wykonania zapytań .........................................................48
Opcje do zarządzania projektami ..........................................................................................48
Eksplorator obiektów ..............................................................................................................50
Narzędzie SQLCMD ............................................................................................................. 52
SQL Server Data Tools .......................................................................................................... 54
SQL Profiler ............................................................................................................................ 54
Extended Events .................................................................................................................... 57
SQL Server Integration Services .......................................................................................... 58
BCP .......................................................................................................................................... 58
SQL Server 2014 Books Online ........................................................................................... 60
Przykładowa baza danych AdventureWorks .................................................................... 61
Podsumowanie ....................................................................................................................... 61
Rozdzia 3. Kod proceduralny ........................................................................................ 63
Logika trójwartościowa ......................................................................................................... 63
Przepływ sterowania ............................................................................................................. 65
Słowa kluczowe BEGIN i END ..............................................................................................65
Wyrażenie IF ... ELSE ..............................................................................................................66
Wyrażenia WHILE, BREAK i CONTINUE ........................................................................68
Wyrażenie GOTO ....................................................................................................................69
Wyrażenie WAITFOR ............................................................................................................70
Wyrażenie RETURN ...............................................................................................................71
Wyrażenie CASE ................................................................................................................... 72
Proste wyrażenie CASE ...........................................................................................................72
Przeszukiwane wyrażenie CASE ............................................................................................73
CASE i tabele przestawne .......................................................................................................75
Wyrażenie IIF ...........................................................................................................................79
CHOOSE ...................................................................................................................................80
COALESCE i NULLIF ............................................................................................................81
Kursory ................................................................................................................................... 82
Podsumowanie ....................................................................................................................... 89
Rozdzia 4. Funkcje u ytkownika ................................................................................... 91
Funkcje skalarne .................................................................................................................... 91
Rekurencja w skalarnych UDF ..............................................................................................93
Kod proceduralny w funkcjach użytkownika ......................................................................96
Wielowyrażeniowe funkcje zwracające tabelę ................................................................. 104
Wbudowane funkcje zwracające tabelę ............................................................................ 112
Ograniczenia funkcji definiowanych przez użytkownika .............................................. 115
Funkcje niedeterministyczne ...............................................................................................115
Stan bazy danych ....................................................................................................................116
Podsumowanie ..................................................................................................................... 117
4
Kup książkę
Poleć książkę
SPIS TRE CI
Rozdzia 5. Procedury sk adowane .............................................................................. 119
Wprowadzenie ..................................................................................................................... 119
Odkrywanie metadanych ................................................................................................... 121
Natywnie kompilowane procedury składowane ............................................................. 122
Zarządzanie procedurami składowanymi ........................................................................ 124
Najlepsze praktyki związane z tworzeniem procedur składowanych .......................... 125
Przykład procedury składowanej ...................................................................................... 127
Rekurencja w procedurach składowanych ....................................................................... 132
Parametry tabelaryczne ...................................................................................................... 140
Tymczasowe procedury składowane ................................................................................ 142
Rekompilacja i pamięć podręczna ..................................................................................... 143
Statystyki procedur składowanych ......................................................................................143
Przechwytywanie parametrów .............................................................................................145
Rekompilacja ..........................................................................................................................148
Podsumowanie ..................................................................................................................... 151
Rozdzia 6. Obiekty pami ciowe ................................................................................. 153
Czynniki napędzające technologie pamięciowe .............................................................. 153
Trendy sprzętowe ................................................................................................................ 154
Podstawy obiektów pamięciowych ................................................................................... 155
Krok 1. Dodanie nowej grupy plików optymalizowanej do operacji pamięciowych ......156
Krok 2. Dodanie nowego kontenera optymalizowanego do operacji pamięciowych .....157
Krok 3. Utwórz nową tabelę optymalizowaną do operacji pamięciowych ......................159
Ograniczenia tabel pamięciowych .......................................................................................163
Indeksy tabel pamięciowych OLTP .................................................................................. 164
Indeksy typu hash ..................................................................................................................165
Indeksy zakresu ......................................................................................................................167
Natywnie kompilowane procedury składowane ............................................................. 169
Rozdzia 7. Wyzwalacze .............................................................................................. 173
Wyzwalacze DML ................................................................................................................ 173
Wiele wyzwalaczy ..................................................................................................................174
Kiedy używać wyzwalaczy DML ..........................................................................................175
Wirtualne tabele inserted i deleted ......................................................................................177
Przeglądanie za pomocą wyzwalaczy DML .......................................................................178
Wykorzystanie zapisywania modyfikacji danych ........................................................... 178
Udostępnianie danych wyzwalaczom .................................................................................183
Wyzwalacze zagnieżdżone i rekurencyjne .........................................................................183
Funkcje UPDATE() i COLUMNS_UPDATED() .............................................................184
Wyzwalacze na widokach ................................................................................................... 188
Wyzwalacze DDL ................................................................................................................ 191
Typy zdarzeń DDL i grupy zdarzeń ....................................................................................191
Wyzwalacze logowania ....................................................................................................... 195
Podsumowanie ..................................................................................................................... 197
Rozdzia 8. Szyfrowanie .............................................................................................. 199
Hierarchia szyfrowania ....................................................................................................... 199
Klucze główne usługi ..........................................................................................................200
Klucze główne bazy danych ............................................................................................... 201
Certyfikaty ............................................................................................................................ 203
5
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin