Praktyczny_kurs_SQL_pksql.pdf

(372 KB) Pobierz
Praktyczny kurs SQL
Autor: Danuta Mendrala, Marcin Szeliga
ISBN: 978-83-246-1604-6
Format: 158x235, stron: 304
Wykorzystaj peĀniķ moŃliwoľci baz danych
¤ Na czym polega model relacyjny?
¤ W jaki sposb pobieraě dane z bazy?
¤ Jak projektowaě bazy danych i tabele?
Systemy zarzĴdzania bazami danych to aplikacje, ktre spotkaě moŃna praktycznie
w kaŃdej firmie.
Na rynku dostķpnych jest wiele takich narzķdzi, rŃniĴcych siķ od siebie wydajnoľciĴ,
wymaganiami sprzķtowymi, potencjalnymi zastosowaniami i Ï przede wszystkim
Ï cenĴ. UŃytkownicy mogĴ wybieraě zarwno wľrd rozwiĴzaĺ komercyjnych,
jak i nieustķpujĴcych im rozwiĴzaĺ bezpĀatnych. CechĴ ĀĴczĴcĴ wszystkie systemy
zarzĴdzania bazami danych jest jķzyk, na ktrym opiera siķ praca z nimi Ï SQL.
To ustandaryzowany zbir poleceĺ pozwalajĴcych na niemal dowolne manipulacje
danymi zgromadzonymi w bazach, tworzenie nowych baz oraz administrowanie
serwerami baz danych. Bez jego znajomoľci wykorzystanie peĀni moŃliwoľci bazy
danych jest praktycznie niemoŃliwe.
âPraktyczny kurs SQLÒ to ksiĴŃka, dziķki ktrej poznasz ten jķzyk. CzytajĴc jĴ,
dowiesz siķ, czym jest relacyjnoľě w bazach danych, jak skonstruowane sĴ takie bazy
i czym sĴ postaci normalne. Nauczysz siķ pobieraě dane w oparciu o rŃne kryteria,
przetwarzaě uzyskane wyniki i wyľwietlaě je na ekranie w odpowiedni sposb. Poznasz
funkcje pozwalajĴce na modyfikacjķ istniejĴcych i dodawanie nowych danych,
zastosujesz zapytania zĀoŃone i podzapytania oraz wykorzystasz mechanizmy
transakcji. Przeczytasz takŃe o projektowaniu baz danych oraz definiowaniu
i nadawaniu uprawnieĺ do korzystania z nich.
¤ Modele baz danych
¤ Postaci normalne w modelu relacyjnym
¤ Historia jķzyka SQL
¤ Pobieranie danych za pomocĴ instrukcji SELECT
¤ Dobr kryteriw wybierania
¤ Przetwarzanie wynikw zapytaĺ
¤ Zapytania zĀoŃone i podzapytania
¤ Transakcje
¤ Modyfikowanie i dodawanie danych
¤ Projektowanie baz danych
¤ Uprawnienia
Wydawnictwo Helion
ul. Koľciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
Poznaj w praktyce jķzyk bķdĴcy podstawĴ
wszystkich nowoczesnych systemw zarzĴdzania bazami danych
1099020723.047.png 1099020723.048.png 1099020723.049.png 1099020723.050.png 1099020723.001.png 1099020723.002.png 1099020723.003.png 1099020723.004.png 1099020723.005.png 1099020723.006.png 1099020723.007.png 1099020723.008.png 1099020723.009.png 1099020723.010.png 1099020723.011.png 1099020723.012.png 1099020723.013.png 1099020723.014.png 1099020723.015.png 1099020723.016.png 1099020723.017.png 1099020723.018.png 1099020723.019.png 1099020723.020.png 1099020723.021.png 1099020723.022.png 1099020723.023.png 1099020723.024.png 1099020723.025.png 1099020723.026.png 1099020723.027.png 1099020723.028.png 1099020723.029.png 1099020723.030.png 1099020723.031.png 1099020723.032.png 1099020723.033.png 1099020723.034.png 1099020723.035.png 1099020723.036.png 1099020723.037.png 1099020723.038.png 1099020723.039.png 1099020723.040.png 1099020723.041.png 1099020723.042.png 1099020723.043.png 1099020723.044.png 1099020723.045.png 1099020723.046.png
 
Spis tre!ci
Wst p .............................................................................................. 9
Cz "# I Troch teorii, czyli modele i standardy .......................... 17
Rozdzia$ 1. Relacyjny model baz danych ........................................................... 19
Tabele jako zbiory danych ..............................................................................................19
Kolumny maj" niepowtarzalne nazwy i zawieraj" okre#lone typy danych ...............20
Wiersze powinny by$ unikalne ................................................................................21
Kolejno#$ kolumn jest bez znaczenia .......................................................................21
Kolejno#$ wierszy jest bez znaczenia .......................................................................22
Bazy danych ...................................................................................................................22
Trzy modele baz danych: relacyjny, obiektowy i jednorodny ........................................23
Model jednorodny ....................................................................................................23
Model relacyjny .......................................................................................................24
Model obiektowy .....................................................................................................25
Za'o(enia relacyjnego modelu baz danych .....................................................................27
Postulaty Codda dotycz"ce struktury danych ...........................................................27
Postulaty Codda dotycz"ce przetwarzania danych ...................................................28
Postulaty Codda dotycz"ce integralno#ci danych .....................................................28
Normalizacja ............................................................................................................29
Podsumowanie ................................................................................................................30
Zadania ...........................................................................................................................31
Rozdzia$ 2. Standardy j zyka SQL ..................................................................... 33
Strukturalny j)zyk zapyta* .............................................................................................33
Przetwarzanie zbiorów a przetwarzanie pojedynczych danych ................................34
J)zyk deklaratywny a j)zyk proceduralny ................................................................35
J)zyk interpretowany a j)zyk kompilowany .............................................................36
Sk'adnia j)zyka SQL ................................................................................................37
Dialekty j)zyka SQL ................................................................................................39
Standardy ANSI ..............................................................................................................40
Historia .....................................................................................................................40
SQL3 ........................................................................................................................41
Podsumowanie ................................................................................................................44
Zadania ...........................................................................................................................44
 
4
Praktyczny kurs SQL
Cz "# II Pobieranie danych, czyli instrukcja SELECT ................... 47
Rozdzia$ 3. Odczytywanie danych z wybranej tabeli ........................................... 49
Klauzula FROM .............................................................................................................49
W pe'ni kwalifikowane nazwy obiektów .................................................................50
Wybieranie kolumn ........................................................................................................51
Eliminowanie duplikatów ...............................................................................................52
Wyra(enia .......................................................................................................................53
Operatory arytmetyczne ...........................................................................................54
/"czenie danych tekstowych ....................................................................................55
Funkcje systemowe ..................................................................................................55
Formatowanie wyników .................................................................................................58
Aliasy .......................................................................................................................59
Sta'e (litera'y) ...........................................................................................................60
Sortowanie wyników ......................................................................................................60
Sortowanie danych tekstowych ................................................................................63
Podsumowanie ................................................................................................................64
Zadania ...........................................................................................................................65
Rozdzia$ 4. Wybieranie wierszy ......................................................................... 67
Logika trójwarto#ciowa ..................................................................................................67
Warto#$ NULL .........................................................................................................68
Operatory logiczne ...................................................................................................68
Klauzula WHERE ..........................................................................................................70
Standardowe operatory porównania .........................................................................71
Operatory SQL .........................................................................................................72
Z'o(one warunki logiczne ........................................................................................75
Klauzula TOP .................................................................................................................78
Wydajne wyszukiwanie danych ......................................................................................80
W jaki sposób serwery bazodanowe odczytuj" dane? ..............................................80
W jakiej kolejno#ci serwery bazodanowe wykonuj" poszczególne
klauzule zapyta*? ...................................................................................................83
Argumenty SARG ....................................................................................................84
Podsumowanie ................................................................................................................86
Zadania ...........................................................................................................................87
Rozdzia$ 5. %&czenie tabel i wyników zapyta' ................................................... 89
Z'"czenia naturalne i nienaturalne ..................................................................................89
Klucze obce ..............................................................................................................90
Aliasy .......................................................................................................................93
Z'"czenia równo#ciowe i nierówno#ciowe .....................................................................94
Z'"czenia zewn)trzne .....................................................................................................95
Z'"czenie lewostronne ..............................................................................................96
Z'"czenie prawostronne ............................................................................................97
Z'"czenie obustronne ................................................................................................97
Z'"czenie krzy(owe (iloczyn kartezja*ski) .....................................................................98
Z'"czenia wielokrotne .....................................................................................................99
Okre#lanie kolejno#ci z'"cze* ................................................................................102
Z'"czenie tabeli z ni" sam" ...........................................................................................103
Eliminacja duplikatów ............................................................................................105
Klucze obce w obr)bie jednej tabeli .......................................................................106
/"czenie wyników zapyta* ...........................................................................................107
Suma .......................................................................................................................107
Cz)#$ wspólna ........................................................................................................110
Ró(nica ...................................................................................................................110
Spis tre"ci
5
/"czenie wierszy i wyników funkcji tabelarycznych ...................................................111
Operator APPLY ....................................................................................................112
Podsumowanie ..............................................................................................................114
Zadania .........................................................................................................................114
Rozdzia$ 6. Grupowanie wierszy ...................................................................... 117
Funkcje grupuj"ce ........................................................................................................117
Funkcja COUNT() ..................................................................................................118
Funkcje SUM() i AVG() ........................................................................................119
Funkcje MIN() i MAX() .........................................................................................120
Inne funkcje grupuj"ce ...........................................................................................121
Wyra(enia ..............................................................................................................121
Klauzula GROUP BY ...................................................................................................122
Kolejno#$ wykonywania klauzuli GROUP BY ......................................................125
Operatory CUBE i ROLLUP ..................................................................................126
Operator GROUPING SETS ..................................................................................129
Wydajne grupowanie danych .......................................................................................131
Niestandardowa klauzula OVER ..................................................................................132
Partycje ...................................................................................................................134
Funkcje rankingu ....................................................................................................135
Niestandardowe operatory PIVOT i UNPIVOT ...........................................................137
PIVOT ....................................................................................................................137
UNPIVOT ..............................................................................................................139
Klauzula HAVING .......................................................................................................140
Podsumowanie ..............................................................................................................142
Zadania .........................................................................................................................143
Rozdzia$ 7. Podzapytania ............................................................................... 145
Czym s" podzapytania? ................................................................................................145
Podzapytania jako zmienne ..........................................................................................146
Podzapytania niepowi"zane ....................................................................................146
Podzapytania powi"zane ........................................................................................151
Podzapytania jako Fród'a danych .................................................................................157
Tabele pochodne ....................................................................................................157
CTE ........................................................................................................................160
Wyznaczanie trendów ............................................................................................165
Operatory ......................................................................................................................169
Operator EXISTS ...................................................................................................170
Operator ANY lub SOME ......................................................................................173
Operator ALL .........................................................................................................176
Podsumowanie ..............................................................................................................178
Zadania .........................................................................................................................179
Cz "# III Modyfikowanie danych, czyli instrukcje INSERT,
UPDATE, DELETE oraz MERGE .................................... 181
Rozdzia$ 8. Modyfikowanie danych ................................................................. 183
Wstawianie danych .......................................................................................................183
Klucze podstawowe ................................................................................................184
Warto#ci domy#lne .................................................................................................185
Warto#$ NULL .......................................................................................................185
Konstruktor wierszy ...............................................................................................186
Wstawianie wyników zapyta* ................................................................................186
6
Praktyczny kurs SQL
Usuwanie danych ..........................................................................................................188
Instrukcja DELETE ................................................................................................189
Instrukcja TRUNCATE TABLE ............................................................................191
Aktualizowanie danych ................................................................................................191
Jednoczesne aktualizowanie wielu kolumn ............................................................192
Wyra(enia ..............................................................................................................192
Aktualizowanie danych wybranych na podstawie danych z innych tabel ..............193
Aktualizowanie danych za pomoc" wyra(e* odwo'uj"cych si) do innych tabel ....193
Instrukcja MERGE .......................................................................................................194
Podsumowanie ..............................................................................................................196
Zadania .........................................................................................................................196
Rozdzia$ 9. Transakcje i wspó$bie(no"# .......................................................... 197
W'a#ciwo#ci transakcji .................................................................................................197
Transakcyjne przetwarzanie danych .............................................................................199
Tryb jawnego zatwierdzania transakcji ..................................................................200
Rozpoczynanie transakcji .......................................................................................201
Wycofywanie transakcji .........................................................................................202
Zatwierdzanie transakcji .........................................................................................203
Zagnie(d(anie transakcji ........................................................................................203
Punkty przywracania ..............................................................................................204
Wspó'bie(no#$ ..............................................................................................................205
Blokady ..................................................................................................................205
Zakleszczenia .........................................................................................................206
Poziomy izolowania transakcji ...............................................................................207
Model optymistyczny .............................................................................................211
Model pesymistyczny .............................................................................................212
Podsumowanie ..............................................................................................................213
Zadania .........................................................................................................................213
Cz "# IV Tworzenie baz danych, czyli instrukcje CREATE,
ALTER i DROP ............................................................ 215
Rozdzia$ 10. Bazy danych i tabele .................................................................... 217
Tworzenie i usuwanie baz danych ................................................................................217
Tworzenie i usuwanie tabel ..........................................................................................220
Schematy ................................................................................................................221
Zmiana struktury tabeli .................................................................................................221
Ograniczenia .................................................................................................................222
NOT NULL ............................................................................................................222
Klucz podstawowy .................................................................................................223
Niepowtarzalno#$ ...................................................................................................224
Warto#$ domy#lna ..................................................................................................225
Warunek logiczny ..................................................................................................225
Klucz obcy .............................................................................................................226
Ograniczenia a wydajno#$ instrukcji modyfikuj"cych i odczytuj"cych dane .........229
Podsumowanie ..............................................................................................................231
Zadania .........................................................................................................................231
Rozdzia$ 11. Widoki i indeksy ........................................................................... 233
Widoki ..........................................................................................................................233
Tworzenie i usuwanie widoków .............................................................................234
Modyfikowanie widoków .......................................................................................236
Korzystanie z widoków ..........................................................................................236
Zalety widoków ......................................................................................................241
Zgłoś jeśli naruszono regulamin