Praktyczny kurs SQL Wydanie II.pdf

(481 KB) Pobierz
Idź do
• Spis treści
• Przykładowy rozdział
• Skorowidz
Katalog książek
• Katalog online
• Zamów drukowany
katalog
Twój koszyk
• Dodaj do koszyka
Cennik i informacje
• Zamów informacje
o nowościach
• Zamów cennik
Czytelnia
• Fragmenty książek
online
Praktyczny kurs SQL.
Wydanie II
Autor:
Danuta Mendrala,
Marcin Szeliga
ISBN: 978-83-246-3373-9
Format: 158×235, stron: 304
Kontakt
Helion SA
ul. Kościuszki 1c
44-100 Gliwice
tel. 32 230 98 63
e-mail: helion@helion.pl
© Helion 1991–2011
Poznaj modele baz danych i standardy języka SQL
• Naucz się korzystać z instrukcji pobierania i modyfikacji danych
• Dowiedz się, jak tworzyć i zmieniać strukturę bazy oraz zarządzać jej użytkownikami
Opanuj język SQL w praktyce!
Bazy danych są dosłownie wszędzie. Trudno sobie dziś bez nich wyobrazić funkcjonowanie
nowoczesnej biblioteki, choćby najmniejszego sklepu internetowego, biura rachunkowego czy
nawet niewielkiego serwisu WWW. Użytkownicy korzystający z baz danych często nie mają nawet
pojęcia, w jaki sposób odbywa się dostęp do informacji i jaki mechanizm jest za to odpowiedzialny.
Na ignorancję tę nie mogą sobie jednak pozwolić osoby odpowiedzialne za tworzenie, zarządzanie
i konserwowanie baz danych. Powinny one znać przynajmniej jeden z popularnych serwerów
bazodanowych i sprawnie posługiwać się językiem SQL stanowiącym standardowe narzędzie
komunikacji z relacyjnymi bazami.
Jeśli pragniesz dołączyć do ekskluzywnego grona administratorów baz danych lub chcesz zostać
programistą aplikacji bazodanowych, lecz przeszkadza Ci brak znajomości SQL-a, sięgnij po książkę
„Praktyczny kurs SQL. Wydanie II”. W prosty i przystępny sposób prezentuje ona podstawowe
pojęcia i zasady rządzące relacyjnym modelem baz danych, a także najważniejsze cechy
i konstrukcje języka SQL oraz metody ich wykorzystywania. Lektura książki umożliwi Ci poznanie
instrukcji odpowiedzialnych za odczytywanie danych z bazy i ich zapisywanie oraz modyfikację,
jak również tworzenie baz i zmianę ich struktury. Poznasz też sposoby tworzenia ról i kont
użytkowników oraz zarządzania ich uprawnieniami. Twoją wiedzę ugruntują praktyczne zadania
kończące każdy rozdział, a zamieszczone na końcu książki rozwiązania pomogą skorygować
ewentualne błędy.
• Teoretyczne podstawy funkcjonowania baz danych
• Historia języka SQL i obowiązujące standardy zapytań
• Odczytywanie, przeszukiwanie, łączenie i grupowanie danych
• Korzystanie z podzapytań
• Zapisywanie, modyfikacja i usuwanie danych
• Transakcje i równoległy dostęp do danych
• Tworzenie baz danych i modyfikacja ich struktury
• Korzystanie z widoków i indeksów
• Zarządzanie użytkownikami, rolami i prawami dostępu do baz danych
Dowiedz się, jak tworzyć relacyjną bazę danych i zarządzać nią za pomocą języka SQL
Spis tre ci
Wstöp .............................................................................................. 9
Czö è I
Trochö teorii, czyli modele i standardy .......................... 17
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 ..................................................................................................... 26
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 ..................................................... 29
Normalizacja ............................................................................................................ 29
Podsumowanie ................................................................................................................ 31
Zadania ........................................................................................................................... 31
Rozdziaä 1. Relacyjny model baz danych ........................................................... 19
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 ............................................................. 35
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
Klauzula FROM ............................................................................................................. 49
W peáni kwalifikowane nazwy obiektów ................................................................. 50
Wybieranie kolumn ........................................................................................................ 51
Eliminowanie duplikatów ............................................................................................... 52
Wyra enia ....................................................................................................................... 54
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 ................................................................................................................ 65
Zadania ........................................................................................................................... 65
Rozdziaä 3. Odczytywanie danych z wybranej tabeli ........................................... 49
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
Stronicowanie wierszy .................................................................................................... 79
Wydajne wyszukiwanie danych ...................................................................................... 80
W jaki sposób serwery bazodanowe odczytuj dane? .............................................. 81
W jakiej kolejno ci serwery bazodanowe wykonuj poszczególne
klauzule zapyta ? .................................................................................................. 84
Argumenty SARG .................................................................................................... 85
Podsumowanie ................................................................................................................ 87
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 ..................................................................................................... 96
Zá czenie lewostronne .............................................................................................. 97
Zá czenie prawostronne ............................................................................................ 97
Zá czenie obustronne ................................................................................................ 98
Zá czenie krzy owe (iloczyn kartezja ski) ..................................................................... 98
Zá czenia wielokrotne ................................................................................................... 100
Okre lanie kolejno ci zá cze ................................................................................ 103
Zá czenie tabeli z ni sam ........................................................................................... 104
Eliminacja duplikatów ............................................................................................ 105
Klucze obce w obr bie jednej tabeli ....................................................................... 106
Spis tre ci
5
à czenie wyników zapyta ........................................................................................... 107
Suma ....................................................................................................................... 108
Cz ü wspólna ........................................................................................................ 111
Ró nica ................................................................................................................... 111
à czenie wierszy i wyników funkcji tabelarycznych ................................................... 112
Operator APPLY .................................................................................................... 113
Podsumowanie .............................................................................................................. 115
Zadania ......................................................................................................................... 115
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 ........................................................................................... 120
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 ....................................................................................... 132
Niestandardowa klauzula OVER .................................................................................. 132
Partycje ................................................................................................................... 134
Funkcje rankingu .................................................................................................... 136
Niestandardowe operatory PIVOT i UNPIVOT ........................................................... 137
PIVOT .................................................................................................................... 137
UNPIVOT .............................................................................................................. 140
Klauzula HAVING ....................................................................................................... 141
Podsumowanie .............................................................................................................. 143
Zadania ......................................................................................................................... 144
Zadanie dodatkowe, do wykonania w bazie AdventureWorks ............................... 144
Rozdziaä 7. Podzapytania ............................................................................... 145
Czym s podzapytania? ................................................................................................ 145
Podzapytania jako zmienne .......................................................................................... 146
Podzapytania niepowi zane .................................................................................... 146
Podzapytania powi zane ........................................................................................ 151
Podzapytania jako ródáa danych ................................................................................. 156
Tabele pochodne .................................................................................................... 157
CTE ........................................................................................................................ 159
Wyznaczanie trendów ............................................................................................ 165
Operatory ...................................................................................................................... 169
Operator EXISTS ................................................................................................... 170
Operator ANY lub SOME ...................................................................................... 173
Operator ALL ......................................................................................................... 177
Podsumowanie .............................................................................................................. 178
Zadania ......................................................................................................................... 179
Zadanie dodatkowe, do wykonania w bazie AdventureWorks ............................... 179
Zgłoś jeśli naruszono regulamin