SQL_Server_2005_Programowanie_Od_podstaw_sqls25.pdf

(600 KB) Pobierz
SQL Server 2005.
Programowanie. Od podstaw
Autor: Robert Vieira
T³umaczenie: Piotr Balczyñski, Maria
Chaniewska, Grzegorz Kostek
ISBN: 83-246-0653-X
Format: B5, stron: 728
Rozpocznij pracê z SQL Server 2005
Dowiedz siê, jak dzia³aj¹ systemy RDBMS
Poznaj narzêdzia SQL Server 2005
Naucz siê obs³ugiwaæ bazy danych za pomoc¹ SQL Server 2005
SQL Server 2005 to najnowsza wersja niezawodnego, wydajnego i wysoce
skalowalnego systemu zarz¹dzania relacyjnymi bazami danych (RDBMS) autorstwa
Microsoftu. Podobnie jak wczeœniejsze wersje tego produktu, SQL Server 2005 bazuje
na jêzyku T-SQL, ale zapewnia lepsz¹ obs³ugê XML, danych definiowanych przez
u¿ytkownika oraz platformy .NET, a ponadto udostêpnia dodatkowe us³ugi. Dziêki swym
mo¿liwoœciom doskonale nadaje siê do tego, by byæ podstaw¹ rozmaitych aplikacji
potrzebuj¹cych dostêpu do bazy danych.
Ksi¹¿ka „SQL Server 2005. Programowanie. Od podstaw” przeznaczona jest dla
programistów, którzy chc¹ rozpocz¹æ pracê z SQL Server 2005. Dziêki niej poznasz
podstawy funkcjonowania systemów RDBMS oraz jêzyków SQL i T-SQL. Nauczysz siê
korzystaæ z narzêdzi udostêpnianych przez SQL Server 2005 oraz dowiesz siê, jak
wykonywaæ zarówno podstawowe, jak i bardziej zaawansowane operacje na bazach
danych. Ta ksi¹¿ka pozwoli Ci szybko opanowaæ mo¿liwoœci, jakie daje SQL Server
2005, i przyst¹piæ do pisania stabilnych oraz wydajnych aplikacji bazodanowych.
Wprowadzenie do systemów RDBMS
Jêzyki SQL i T-SQL
Narzêdzia dostêpne w SQL Server 2005
Tworzenie i modyfikowanie tabel
Korzystanie ze z³¹czeñ i ograniczeñ
Normalizacja podstaw projektowania
Tworzenie skryptów, programów wsadowych i procedur sk³adowanych
Obs³uga transakcji i blokad
U¿ywanie wyzwalaczy
Raporty
Obs³uga danych XML
Twórz niezawodne i wydajne aplikacje bazodanowe za pomoc¹ SQL Server 2005
Wydawnictwo Helion
ul. Koœciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
1099025329.050.png 1099025329.052.png 1099025329.053.png 1099025329.054.png 1099025329.001.png 1099025329.002.png 1099025329.003.png 1099025329.004.png 1099025329.005.png 1099025329.006.png 1099025329.007.png 1099025329.008.png 1099025329.009.png 1099025329.010.png 1099025329.011.png 1099025329.012.png 1099025329.013.png 1099025329.014.png 1099025329.015.png 1099025329.016.png 1099025329.017.png 1099025329.018.png 1099025329.019.png 1099025329.020.png 1099025329.021.png 1099025329.022.png 1099025329.023.png 1099025329.024.png 1099025329.025.png 1099025329.026.png 1099025329.027.png 1099025329.028.png 1099025329.029.png 1099025329.030.png 1099025329.031.png 1099025329.032.png 1099025329.033.png 1099025329.034.png 1099025329.035.png 1099025329.036.png 1099025329.037.png 1099025329.038.png 1099025329.039.png 1099025329.040.png 1099025329.041.png 1099025329.042.png 1099025329.043.png 1099025329.044.png 1099025329.045.png 1099025329.046.png 1099025329.047.png 1099025329.048.png 1099025329.049.png
 
Wstęp ......................................................................................................................................................... 15
Rozdział 1. Podstawy RDBMS z czego składa się baza danych SQL Server .................................... 21
Przegląd obiektów bazy danych ...................................................................................... 22
Obiekt Baza danych ................................................................................................. 22
Dziennik transakcji .................................................................................................. 27
Najbardziej podstawowy obiekt bazy danych — tabela ................................................ 27
Grupy plików ........................................................................................................... 29
Diagramy ................................................................................................................ 29
Widoki .................................................................................................................... 31
Procedury składowane ............................................................................................. 31
Funkcje zdefiniowane przez użytkownika .................................................................... 32
Użytkownicy i role .................................................................................................... 32
Reguły .................................................................................................................... 33
Wartości domyślne .................................................................................................. 33
Typy danych zdefiniowane przez użytkownika ............................................................. 33
Katalogi wyszukiwania pełnotekstowego ................................................................... 33
Typy danych w systemie SQL Server .............................................................................. 34
Wartości NULL ........................................................................................................ 38
Identyfikatory obiektów w systemie SQL Server ............................................................... 39
Nazwy .................................................................................................................... 39
Konwencje nazewnicze ............................................................................................ 39
Podsumowanie ............................................................................................................ 40
Rozdział 2. Narzędzia ................................................................................................................................ 41
Books Online ............................................................................................................... 42
SQL Server Configuration Manager ................................................................................ 43
Zarządzanie usługami .............................................................................................. 44
Konfiguracja sieci ................................................................................................... 44
Protokoły ................................................................................................................ 46
Klient ..................................................................................................................... 48
SQL Server Management Studio .................................................................................... 50
Rozpoczęcie pracy ................................................................................................... 51
Okno zapytań .......................................................................................................... 55
SQL Server Integration Services (SSIS) .......................................................................... 61
Bulk Copy Program (bcp) ............................................................................................... 62
SQL Server Profiler ....................................................................................................... 62
sqlcmd ........................................................................................................................ 63
Podsumowanie ............................................................................................................ 64
1099025329.051.png
6
SQL Server 2005. Programowanie. Od podstaw
Rozdział 3. Podstawowe polecenia języka T-SQL ....................................................................................65
Podstawowe polecenie — SELECT ................................................................................. 66
Polecenie SELECT i klauzula FROM ........................................................................... 66
Klauzula WHERE ..................................................................................................... 70
ORDER BY .............................................................................................................. 73
Agregacje danych za pomocą klauzuli GROUP BY ....................................................... 77
Tworzenie warunków za pomocą klauzuli HAVING ....................................................... 85
Generowanie XML-a za pomocą klauzuli FOR XML ...................................................... 87
Wykorzystanie wskazówek za pomocą klauzuli OPTION ............................................... 88
Predykaty DISTINCT i ALL ......................................................................................... 88
Wprowadzanie danych za pomocą polecenia INSERT ....................................................... 90
Polecenie INSERT INTO...SELECT ............................................................................. 95
Wprowadzanie zmian za pomocą polecenia UPDATE ........................................................ 97
Polecenie DELETE ...................................................................................................... 100
Podsumowanie .......................................................................................................... 101
Ćwiczenia .................................................................................................................. 102
Rozdział 4. Złączenia (JOINs) .................................................................................................................. 103
Złączenia JOIN ........................................................................................................... 104
Złączenia wewnętrzne (INNER JOIN) ............................................................................. 105
Dlaczego INNER JOIN przypomina klauzulę WHERE .................................................. 110
Złączenia zewnętrzne .................................................................................................. 114
Proste złączenie zewnętrzne .................................................................................. 115
Bardziej skomplikowane złączenia zewnętrzne ......................................................... 120
Spojrzenie w obie strony za pomocą złączeń pełnych ..................................................... 124
Złączenia krzyżowe ..................................................................................................... 126
Alternatywne składnie złączeń ..................................................................................... 127
Alternatywne INNER JOIN ....................................................................................... 127
Alternatywne OUTER JOIN ...................................................................................... 128
Alternatywne CROSS JOIN ...................................................................................... 129
Unia .......................................................................................................................... 130
Podsumowanie .......................................................................................................... 135
Ćwiczenia .................................................................................................................. 135
Rozdział 5. Tworzenie i modyfikacja tabel ............................................................................................ 137
Nazwy obiektów w systemie SQL Server ....................................................................... 137
Nazwa schematu .................................................................................................. 138
Nazwa bazy danych ............................................................................................... 141
Nazwa serwera ..................................................................................................... 141
Przegląd ustawień domyślnych ............................................................................... 141
Polecenie CREATE ...................................................................................................... 142
CREATE DATABASE ............................................................................................... 142
CREATE TABLE ...................................................................................................... 148
Polecenie ALTER ........................................................................................................ 161
ALTER DATABASE .................................................................................................. 161
ALTER TABLE ........................................................................................................ 164
Polecenie DROP ......................................................................................................... 168
Wykorzystanie narzędzia GUI ....................................................................................... 169
Tworzenie bazy danych za pomocą SQL Server Management Studio .......................... 169
Powrót do kodowania — podstawy tworzenia skryptów
za pomocą SQL Server Management Studio ......................................................... 175
Podsumowanie .......................................................................................................... 176
Ćwiczenia .................................................................................................................. 176
Spis treści
7
Rozdział 6. Ograniczenia ......................................................................................................................... 177
Rodzaje ograniczeń .................................................................................................... 178
Ograniczenia domeny ............................................................................................ 178
Ograniczenia encji ................................................................................................. 179
Ograniczenia integralności referencyjnej .................................................................. 179
Nazewnictwo ograniczeń ............................................................................................. 180
Ograniczenia kluczy .................................................................................................... 181
Ograniczenia PRIMARY KEY .................................................................................... 182
Ograniczenia FOREIGN KEY .................................................................................... 184
Ograniczenia UNIQUE ............................................................................................ 195
Ograniczenia CHECK ................................................................................................... 196
Ograniczenia DEFAULT ................................................................................................ 198
Definiowanie ograniczenia DEFAULT w poleceniu CREATE TABLE ............................... 199
Dodawanie ograniczenia DEFAULT do istniejącej tabeli ............................................. 199
Wyłączanie ograniczeń ................................................................................................ 200
Ignorowanie niewłaściwych danych podczas tworzenia ograniczenia .......................... 200
Tymczasowe wyłączenie istniejącego ograniczenia ................................................... 202
Reguły i wartości domyślne — kuzyni ograniczeń .......................................................... 204
Reguły .................................................................................................................. 204
Wartości domyślne ................................................................................................ 206
Określanie tabel wykorzystujących konkretne reguły i wartości domyślne ................... 207
Wyzwalacze a integralność danych ............................................................................... 208
Czego używać ............................................................................................................ 208
Podsumowanie .......................................................................................................... 209
Rozdział 7. Zwiększanie możliwości zapytań ......................................................................................... 211
Co to jest podzapytanie .............................................................................................. 212
Tworzenie podzapytania zagnieżdżonego ................................................................. 213
Podzapytania skorelowane .......................................................................................... 216
W jaki sposób działają podzapytania skorelowane .................................................... 216
Podzapytania skorelowane w klauzuli WHERE .......................................................... 217
Praca z wartościami NULL — funkcja ISNULL .......................................................... 221
Tabele pochodne ........................................................................................................ 222
Operator EXISTS ........................................................................................................ 224
Inne sposoby wykorzystania EXISTS ........................................................................ 226
Mieszanie typów danych — funkcje CAST i CONVERT ...................................................... 227
Kwestie wydajności .................................................................................................... 230
Lepiej używać złączeń, podzapytań czy czegoś innego? ............................................ 230
Podsumowanie .......................................................................................................... 232
Ćwiczenia .................................................................................................................. 232
Rozdział 8. „Być normalnym”
normalizacja i inne kwestie podstaw projektowania .................. 233
Tabele ....................................................................................................................... 234
Utrzymywanie danych „normalnymi” ............................................................................. 234
Zanim zaczniemy ................................................................................................... 235
Pierwsza postać normalna ..................................................................................... 237
Druga postać normalna ......................................................................................... 241
Trzecia postać normalna ........................................................................................ 242
Inne postacie normalne ......................................................................................... 244
Relacje ...................................................................................................................... 245
Jeden do jednego .................................................................................................. 245
8
SQL Server 2005. Programowanie. Od podstaw
Jeden do jednego lub wielu .................................................................................... 247
Wiele do wielu ...................................................................................................... 249
Diagramy ................................................................................................................... 253
Tabele ................................................................................................................. 255
Dodawanie i usuwanie tabel .................................................................................. 256
Relacje ................................................................................................................. 262
Denormalizacja .......................................................................................................... 266
Poza normalizacją ...................................................................................................... 267
Prostota ............................................................................................................... 267
Wybór typów danych .............................................................................................. 267
Błędy w sposobie przechowywania .......................................................................... 268
Szkic prostego przykładu ............................................................................................. 269
Tworzenie bazy danych .......................................................................................... 269
Dodawanie diagramu i tabeli początkowej ............................................................... 269
Dodawanie relacji .................................................................................................. 274
Dodawanie ograniczeń ........................................................................................... 276
Podsumowanie .......................................................................................................... 278
Ćwiczenia .................................................................................................................. 278
Rozdział 9. Struktury danych i indeksów w SQL Server .................................................................... 279
Struktury danych w SQL Serverze ................................................................................. 279
Baza danych ......................................................................................................... 279
Zakres ................................................................................................................. 280
Strona .................................................................................................................. 280
Wiersze ................................................................................................................ 281
Podstawy indeksów .................................................................................................... 281
B-drzewa .............................................................................................................. 283
Sposób udostępniania danych w SQL Serverze ........................................................ 286
Tworzenie, modyfikacja i usuwanie indeksów ................................................................ 295
Polecenie CREATE INDEX ....................................................................................... 295
Tworzenie indeksów XML ....................................................................................... 302
Indeksy wywiedzione tworzone z ograniczeniami ...................................................... 303
Mądry wybór — jaki indeks, gdzie i kiedy go stosować .................................................. 303
Selektywność ....................................................................................................... 304
Przyglądanie się kosztom — gdy mniej znaczy więcej ............................................... 305
Wybieranie właściwego indeksu klastrowego ........................................................... 305
Kolejność kolumn ................................................................................................. 308
Usuwanie indeksów ............................................................................................... 308
Korzystanie z Database Engine Tuning Advisor ........................................................ 309
Utrzymywanie indeksów .............................................................................................. 309
Fragmentacja ........................................................................................................ 310
Identyfikacja fragmentacji a prawdopodobieństwo podziału stron .............................. 310
Podsumowanie .......................................................................................................... 314
Ćwiczenia .................................................................................................................. 315
Rozdział 10. Widoki .................................................................................................................................. 317
Proste widoki ............................................................................................................. 317
Widoki jako filtry ................................................................................................... 321
Bardziej złożone widoki ............................................................................................... 323
Wykorzystanie widoków do zmiany danych bez użycia wyzwalaczy INSTEAD OF ........... 326
Edycja widoków za pomocą T-SQL-a ............................................................................. 330
Zgłoś jeśli naruszono regulamin