Transact-SQL. Czarna ksiŕga.pdf

(320 KB) Pobierz
C:\Andrzej\PDF\ABC nagrywania p³yt CD\1 strona.cdr
IDZ DO
PRZYK£ADOW Y ROZDZIA£
Transact-SQL.
SPIS TRECI
Czarna ksiêga
KATALOG KSI¥¯EK
Autor: Marcin Szeliga
ISBN: 83-7361-125-8
Format: B5, stron: 492
Przyk³ady na ftp: 65 kB
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
Transact-SQL to podstawowy jêzyk programowania baz danych w rodowisku MS SQL
Server. Transact-SQL jest zmodyfikowan¹ i uzupe³nion¹ o elementy typowe dla
proceduralnych jêzyków programowania (jak zmienne i instrukcje steruj¹ce
wykonaniem programu) wersj¹ standardu SQL-92. Dziêki temu rozszerzeniu,
jego mo¿liwoci s¹ znacznie wiêksze ni¿ mo¿liwoci standardowego SQL-a.
SQL Server zosta³ wyposa¿ony w intuicyjne, a zarazem potê¿ne narzêdzie
administracyjne — konsolê SQL Server Enterprise Menager. W rezultacie czêæ
administratorów SQL Servera nie zna albo nie korzysta z mo¿liwoci jêzyka Transact-
-SQL. A okazuje siê, ¿e ta sama operacja mo¿e byæ przeprowadzona kilkukrotnie
szybciej, je¿eli zamiast konsoli u¿yjemy Transact-SQLa.
Ksi¹¿ka „Transact-SQL. Czarna Ksiêga” to wyczerpuj¹ce i dog³êbne kompendium
omawiaj¹ce nie tylko sam jêzyk Transact-SQL, ale równie¿ zasady projektowania
baz danych, a tak¿e zarz¹dzanie SQL Serverem za pomoc¹ jêzyka Transact-SQL.
Przedstawiono:
• Standardowe interfejsy jêzyka SQL instalowane wraz z SQL Serverem
• Elementy jêzyka Transact-SQL i sk³adniê poszczególnych instrukcji jêzyka
wraz z praktycznymi przyk³adami ich wykorzystania
• Metody pobierania i modyfikowania danych
• Optymalizacjê zapytañ
• Wyszukiwanie pe³notekstowe i us³uga MS Search.
• Zasady projektowania relacyjnych baz danych
• Algorytmy przekszta³cania relacji poprzez kolejne postacie normalne
• Tworzenie, modyfikowanie i usuwanie wszystkich typów obiektów bazodanowych
• Bezpieczeñstwo i kontrolowanie dostêpu do danych
• Integracjê SQL Servera z innymi serwerami firmy Microsoft
• Tworzenie i przywracanie kopii zapasowych
• Automatyzacjê czynnoci administracyjnych
• Monitorowanie pracy SQL Servera i optymalizacjê jego wydajnoci
• £¹czenie serwerów bazodanowych
• Replikacjê danych pomiêdzy wieloma SZBD
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
119562322.003.png 119562322.004.png 119562322.005.png 119562322.006.png 119562322.001.png 119562322.002.png
Spis treci
Wstp .................................................................................................................11
Cz I Jzyk Transact-SQL ......................................................................15
Rozdział 1. Interfejsy jzyka Transact-SQL ............................................................17
SQL Query Analyzer......................................................................................................................18
Uruchamianie programu............................................................................................................19
Praca z programem...................................................................................................................19
OSQL...........................................................................................................................................24
Uruchamianie programu............................................................................................................25
Praca z programem...................................................................................................................25
BCP..............................................................................................................................................26
Uruchomienie programu............................................................................................................26
Praca z programem...................................................................................................................26
TEXTCOPY..................................................................................................................................27
Uruchomienie programu............................................................................................................27
Praca z programem...................................................................................................................27
Oprogramowanie dodatkowe...........................................................................................................28
T-SQLEditPro.........................................................................................................................28
SQL Editor..............................................................................................................................28
Rozdział 2. Leksykon jzyka Transact-SQL ............................................................29
Standardy SQL i historia ich powstania............................................................................................29
Typy instrukcji j.zyka Transact-SQL...............................................................................................31
Instrukcje DDL........................................................................................................................32
Instrukcje DML.......................................................................................................................32
Instrukcje DCL........................................................................................................................33
Znaczniki j.zyka............................................................................................................................33
Dyrektywy wsadowe................................................................................................................33
Komentarze.............................................................................................................................36
Identyfikatory..........................................................................................................................36
Typy danych............................................................................................................................37
Zmienne..................................................................................................................................41
Funkcje...................................................................................................................................44
Operatory................................................................................................................................92
Wyra8enia ...............................................................................................................................94
Znaczniki steruj9ce wykonaniem programu.................................................................................94
Słowa kluczowe.......................................................................................................................96
Rozdział 3. Pobieranie danych..............................................................................97
Przetwarzanie zapyta; przez SQL Server.........................................................................................97
Instrukcja SELECT........................................................................................................................98
Zwracanie okre=lonej liczby wierszy........................................................................................100
Klauzula FROM.....................................................................................................................101
Ł9czenie wielu obiektów.........................................................................................................103
4
Transact-SQL. Czarna ksiga
Klauzula WHERE..................................................................................................................107
Klauzula ORDER BY.............................................................................................................111
Klauzula GROUP BY.............................................................................................................113
Klauzula HAVING.................................................................................................................116
Klauzule COMPUTE i COMPUTE BY....................................................................................116
Klauzula OPTION..................................................................................................................118
Klauzula FOR........................................................................................................................119
Klauzula INTO......................................................................................................................120
Podzapytania...............................................................................................................................121
Podzapytania jako Gródła danych.............................................................................................121
Podzapytania jako wyra8enia...................................................................................................121
Podzapytania powi9zane.........................................................................................................122
Podzapytanie jako zł9czenie....................................................................................................123
Podzapytania z operatorem EXISTS........................................................................................124
Kursory.......................................................................................................................................125
Deklarowanie kursora.............................................................................................................125
Typy kursorów.......................................................................................................................126
Blokady.................................................................................................................................127
Pobieranie danych..................................................................................................................127
Opcje kursora ........................................................................................................................128
Usuwanie kursora...................................................................................................................130
Rozdział 4. Optymalizacja zapyta) ......................................................................133
Query Optimizer..........................................................................................................................133
Plan wykonania zapytania.............................................................................................................135
Indeksy zawieraj9ce zapytania.......................................................................................................138
Analiza zapyta;...........................................................................................................................139
SARG ...................................................................................................................................139
Zapytania z operatorem AND..................................................................................................142
Zapytania z operatorem OR.....................................................................................................143
Zapytania pobieraj9ce dane z kilku Gródeł danych.....................................................................144
Zapytania grupuj9ce dane........................................................................................................152
Rozdział 5. Wyszukiwanie pełnotekstowe............................................................155
Usługa Microsoft Search...............................................................................................................155
Indeksy wyszukiwania pełnotekstowego.........................................................................................156
Procedury systemowe zwi9zane z usług9 Microsoft Serach........................................................156
Funkcje j.zyka Transact-SQL zwi9zane z usług9 Microsoft Search.............................................157
Zapytania pełnotekstowe...............................................................................................................159
Predykat CONTAINS.............................................................................................................159
Predykat FREETEXT.............................................................................................................161
Funkcja CONTAINSTABLE...................................................................................................161
Funkcja FREETEXTTABLE...................................................................................................162
Rozdział 6. Modyfikowanie danych .....................................................................165
Przetwarzanie transakcyjne...........................................................................................................165
Wstawianie danych......................................................................................................................167
Instrukcja INSERT.................................................................................................................167
Usuwanie danych.........................................................................................................................171
Instrukcja DELETE................................................................................................................171
Instrukcja TRUNCATE..........................................................................................................173
Aktualizowane danych..................................................................................................................174
Instrukcja UPDATE...............................................................................................................174
Spis treci
5
Cz II Projektowanie i programowanie baz danych..................................177
Rozdział 7. Projektowanie relacyjnych baz danych...............................................179
Model relacyjnych baz danych......................................................................................................179
Zasady dotycz9ce struktury danych..........................................................................................182
Zasady dotycz9ce przetwarzania danych...................................................................................182
Zasady dotycz9ce integralno=ci danych....................................................................................188
Diagram zwi9zków E/R................................................................................................................193
Okre=lanie typów obiektów.....................................................................................................193
Okre=lanie atrybutów obiektów poszczególnych typów..............................................................194
Wyodr.bnianie danych elementarnych.....................................................................................194
Okre=lanie zale8no=ci funkcyjnych zachodz9cych pomi.dzy atrybutami......................................195
Grupowanie danych w tabelach...............................................................................................196
Okre=lanie zwi9zków (relacji) zachodz9cych mi.dzy encjami.....................................................198
Normalizacja ...............................................................................................................................200
Pierwsza postaK normalna 1PN................................................................................................200
Pierwsza postaK anormalna......................................................................................................200
Druga postaK normalna 2PN....................................................................................................206
Trzecia postaK normalna 3PN..................................................................................................207
Algorytmy sprowadzania relacji do wy8szej postaci normalnej...................................................208
PostaK normalna Boyce’a-Codda .............................................................................................213
Rozdział 8. Bazy danych.....................................................................................215
Konwencja nazewnicza.................................................................................................................215
Fizyczna struktura bazy danych.....................................................................................................215
Dziennik transakcyjny............................................................................................................216
Struktura plików bazodanowych..............................................................................................217
Struktura wiersza danych........................................................................................................218
Tworzenie baz danych..................................................................................................................219
Instrukcja CREATE DATABASE............................................................................................220
Opcje baz danych...................................................................................................................222
Modyfikacja baz danych...............................................................................................................228
Instrukcja ALTER DATABASE..............................................................................................228
Zwi.kszanie rozmiaru plików bazy danych...............................................................................229
Zmniejszanie rozmiaru plików bazy danych..............................................................................230
Usuwanie baz danych...................................................................................................................233
Instrukcja DROP DATABASE................................................................................................233
Grupy plików...............................................................................................................................233
Rozdział 9. Tabele..............................................................................................237
Typy danych u8ytkownika............................................................................................................237
Procedura systemowa sp_addtype............................................................................................237
Procedura systemowa sp_droptype ..........................................................................................238
Instrukcja CREATE TABLE.........................................................................................................238
Przechowywanie warto=ci obliczonych na podstawie innych warto=ci.........................................240
Opcje tabel..................................................................................................................................242
Opcje zaw.8e;.......................................................................................................................244
Atrybuty rozszerzone....................................................................................................................245
Procedura sp_addextendedproperty..........................................................................................245
Odczytywanie warto=ci atrybutów rozszerzonych......................................................................246
Procedura sp_updateextendedproperty......................................................................................247
Procedura sp_dropextendedproperty.........................................................................................247
Instrukcja ALTER TABLE...........................................................................................................248
Zmiana nazwy tabeli...............................................................................................................249
Instrukcja DROP TABLE.............................................................................................................250
6
Transact-SQL. Czarna ksiga
Rozdział 10. Indeksy..........................................................................................251
Po co tworzyK indeksy? ................................................................................................................251
Typy indeksów ............................................................................................................................252
Indeksy grupuj9ce ..................................................................................................................252
Indeksy niegrupuj9ce..............................................................................................................253
Indeksy kompozytowe............................................................................................................253
Dla których kolumn tworzyK indeksy?............................................................................................254
Wpływ indeksów grupuj9cych na sortowanie danych.................................................................255
Wpływ indeksów niegrupuj9cych na sortowanie danych............................................................257
Wpływ indeksów na modyfikowanie danych.............................................................................258
Wpływ indeksów na dodawanie danych....................................................................................261
Indeksy zawieraj9ce zapytanie.................................................................................................262
Instrukcja CREATE INDEX.........................................................................................................264
Współczynnik wypełnienia......................................................................................................266
Opcje indeksów ...........................................................................................................................268
Instrukcja DROP INDEX .............................................................................................................269
Statystyki ....................................................................................................................................270
Instrukcja CREATE STATISTICS..........................................................................................271
Instrukcja UPDATE STATISTICS..........................................................................................272
Instrukcja DROP STATISTICS...............................................................................................272
Rozdział 11. Widoki............................................................................................273
Instrukcja CREATE VIEW...........................................................................................................273
Zł9czenie zewn.trzne w definicji widoków...............................................................................276
Uporz9dkowywanie danych poprzez widoki..............................................................................276
Opcje widoków............................................................................................................................277
Modyfikowanie danych poprzez widoki .........................................................................................279
Instrukcja ALTER VIEW .............................................................................................................280
Instrukcja DROP VIEW ...............................................................................................................280
Rozdział 12. Procedury składowane....................................................................281
Przetwarzanie procedur przez SQL Server.....................................................................................282
Tworzenie .............................................................................................................................282
Wykonanie ............................................................................................................................282
Wywołanie ............................................................................................................................283
Konwencja nazewnicza procedur składowanych.............................................................................283
Instrukcja CREATE PROCEDURE...............................................................................................284
Automatyczne uruchamianie procedur......................................................................................286
Zagnie8d8anie procedur..........................................................................................................287
Opcje procedur składowanych.......................................................................................................287
Wykonywanie procedur składowanych...........................................................................................288
Instrukcja ALTER PROCEDURE.................................................................................................289
Instrukcja DROP PROCEDURE...................................................................................................289
Rozdział 13. Wyzwalacze....................................................................................291
Wyzwalacze a zaw.8enia..............................................................................................................292
Typy wyzwalaczy........................................................................................................................292
Wyzwalacze wywoływane wykonaniem instrukcji INSERT.......................................................292
Wyzwalacze wywoływane wykonaniem instrukcji DELETE......................................................292
Wyzwalacze wywoływane wykonaniem instrukcji UPDATE.....................................................293
Instrukcja CREATE TRIGGER.....................................................................................................293
Wyzwalacze a monitorowanie aktywno=ci u8ytkowników..........................................................295
Opcje wyzwalaczy.......................................................................................................................297
Instrukcja ALTER TRIGGER.......................................................................................................298
Instrukcja DROP TRIGGER.........................................................................................................299
Zgłoś jeśli naruszono regulamin