ABC_jezyka_SQL_abcsql.pdf

(631 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TREŒCI
ABC jêzyka SQL
Autor: Marcin Szeliga
ISBN: 83-7197-593-7
Format: B5, stron: 194
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
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Bazy danych sta³y siê g³ównym sk³adnikiem systemów informatycznych. W zale¿noœci
od producenta, przeznaczenia i ceny programy zarz¹dzaj¹ce bazami danych bardzo siê
od siebie ró¿ni¹.
Jedynym punktem wspólnym dla wszystkich tych aplikacji jest wbudowana obs³uga
strukturalnego jêzyka zapytañ (ang. Structured Query Language).
SQL s³u¿y do tworzenia aplikacji bazodanowych i zarz¹dzania nimi. U¿ywaj¹c go,
mo¿emy:
wyszukiwaæ dane w bazie danych.
operowaæ danymi — wstawiaæ je, modyfikowaæ i usuwaæ.
definiowaæ dane — dodawaæ nowe tabele, indeksy i perspektywy.
sterowaæ danymi — blokowaæ u¿ytkownikom dostêp do poufnych danych.
modyfikowaæ schemat baz danych bez zmieniania istniej¹cych aplikacji — nowe
kolumny i tabele mog¹ byæ zawsze dodane bez obawy, ¿e zajdzie koniecznoœæ
zmiany istniej¹cych programów lub zdefiniowanych z góry œcie¿ek dostêpu.
formu³owaæ zapytania w trybie interakcyjnym lub osadzaæ je w standardowych
jêzykach programowania, takich jak C lub Pascal.
Aby opanowaæ SQL w stopniu wystarczaj¹cym do stworzenia i korzystania z bazy
danych, wystarczy znajomoœæ dziewiêciu poleceñ: SELECT, INSERT, UPDATE, DELETE,
CREATE, ALTER, DROP, GRANT i REVOKE. Ksi¹¿ka zosta³a przygotowana tak, aby
by³a przydatna zarówno dla uczniów i studentów którzy chcieliby poznaæ temat
projektowania i programowania baz danych (ksi¹¿ka powsta³a na podstawie
prowadzonych przez autora wyk³adów z teorii relacyjnych baz danych i jêzyka SQL) jak
i dla administratorów baz danych (ksi¹¿ka zawiera kilkadziesi¹t przyk³adów
wykorzystania jêzyka SQL do u³atwienia lub zautomatyzowania codziennych prac
zwi¹zanych z zarz¹dzaniem bazami danych).
"
"
"
"
"
"
Wstęp ...............................................................................................9
Podstawowe informacje o języku SQL................................................................. 9
Organizacja ksią ki ............................................................................................. 10
Konwencje i oznaczenia...................................................................................... 11
Część I
Instrukcja SELECT ................................................................. 13
Rozdział 1. Wybieranie danych z pojedynczej tabeli.............................................15
Tabele jako zbiory danych .................................................................................. 15
Wybieranie kolumn z tabeli ................................................................................ 17
Wyra enia arytmetyczne..................................................................................... 19
Aliasy .................................................................................................................. 20
Literały ................................................................................................................ 21
Operator konkatenacji ......................................................................................... 22
Eliminacja duplikatów ........................................................................................ 23
Wartość NULL.................................................................................................... 24
Porządkowanie danych ....................................................................................... 26
Wybieranie wierszy z tabeli................................................................................ 28
Operatory logiczne......................................................................................................28
Operatory języka SQL ................................................................................................32
Hierarchia operatorów ................................................................................................34
Rozdział 2. Wybieranie danych z wielu tabel .......................................................35
Złączenie równościowe....................................................................................... 36
Aliasy ..........................................................................................................................38
Złączenie nierównościowe .................................................................................. 38
Złączenia typu self-join....................................................................................... 39
Złącznie zewnętrzne............................................................................................ 40
Operatory teoriomnogościowe............................................................................ 41
Operator UNION ........................................................................................................42
Operator INTERSEC ..................................................................................................43
Operator MINUS ........................................................................................................44
Porządkowanie danych ...............................................................................................45
Rozdział 3. Funkcje języka SQL ..........................................................................47
Funkcje tekstowe................................................................................................. 48
Funkcje zwracające wartość tekstową ........................................................................48
Funkcje zwracające wartość numeryczną ...................................................................53
C:\Andrzej\PDF\ABC jezyka SQL\!Spis.doc
3
4
ABC języka SQL
Funkcje matematyczne........................................................................................ 54
Funkcje daty i czasu ............................................................................................ 57
Funkcje konwersji ............................................................................................... 60
Rozdział 4. Grupowanie danych ..........................................................................63
Funkcje agregujące.............................................................................................. 64
Funkcja COUNT() ......................................................................................................64
Funkcja SUM() ...........................................................................................................65
Funkcja AVG() ...........................................................................................................65
Funkcje MIN() i MAX() .............................................................................................66
Funkcja STDDEV() ....................................................................................................66
Funkcja VARIANCE() ...............................................................................................67
Klauzula GROUP BY ......................................................................................... 67
Klauzula HAVING.............................................................................................. 69
Rozdział 5. Podzapytania ...................................................................................71
Podzapytania nie powiązane ............................................................................... 72
Podzapytania powiązane ..................................................................................... 72
Podzapytania zwracające jeden wiersz ............................................................... 73
Podzapytania zwracające wiele wierszy ............................................................. 74
Podzapytania z wyra eniem IN ..................................................................................75
Podzapytania z wyra eniem NOT IN .........................................................................76
Podzapytania z wyra eniem EXIST ...........................................................................76
Podzapytania z wyra eniem NOT EXIST ..................................................................78
Podzapytania z operatorami ALL i ANY ...................................................................78
Zagnie d anie podzapytań .................................................................................. 80
Podzapytania w klauzuli HAVING..................................................................... 80
Rozdział 6. Składnia instrukcji SELECT...............................................................83
Klauzule SELECT i FROM ................................................................................ 83
Klauzula WHERE ............................................................................................... 84
Klauzula GROUP BY ......................................................................................... 84
Klauzula HAVING.............................................................................................. 85
Operatory UNION, INTERSEC, MINUS .......................................................... 86
Klauzula ORDER BY ......................................................................................... 87
Pełna składnia instrukcji SELECT w języku PL/SQL........................................ 88
Część II
Instrukcje CREATE, DROP, ALTER .......................................... 89
Rozdział 7. Projektowanie bazy danych ..............................................................91
Diagramy związków encji (obiektów) ................................................................ 92
Wyodrębnianie danych elementarnych............................................................... 94
Zale ności funkcyjne ..................................................................................................94
Grupowanie danych w tabelach .......................................................................... 95
Normalizacja ....................................................................................................... 96
Pierwsza postać normalna 1PN...................................................................................96
Druga postać normalna 2PN .......................................................................................96
Trzecia postać normalna 3PN .....................................................................................96
Model bazy Firma ............................................................................................... 97
4
C:\Andrzej\PDF\ABC jezyka SQL\!Spis.doc
Spis treści
5
Rozdział 8. Definiowanie tabel ...........................................................................99
Tworzenie bazy danych ...................................................................................... 99
Tworzenie tabel................................................................................................... 99
Warunki integralności...............................................................................................101
Klauzula DEFAULT.................................................................................................106
Tworzenie tabel poprzez zapytanie................................................................... 106
Indeksy .............................................................................................................. 108
Rozdział 9. Zmiana definicji tabel.....................................................................109
Dodawanie kolumn ........................................................................................... 109
Zmiana kolumny ............................................................................................... 110
Zmiana rozmiarów kolumny.....................................................................................110
Zmiana typu kolumny ...............................................................................................111
Zmiana nazwy tabeli .................................................................................................112
Zarządzanie warunkami integralności .............................................................. 112
Dodawanie warunków integralności.........................................................................113
Włączanie i wyłączanie warunków integralności .....................................................113
Usuwanie warunków integralności ...........................................................................113
Rozdział 10. Usuwanie tabel ..............................................................................115
Zmiana nazwy tabeli ......................................................................................... 116
Rozdział 11. Widoki...........................................................................................119
Tworzenie widoków.......................................................................................... 119
U ywanie widoków........................................................................................... 121
Ograniczenie zakresu modyfikowania danych poprzez widoki................................122
Usuwanie widoków........................................................................................... 123
Rozdział 12. Składnia instrukcji CREATE, DROP i ALTER.....................................125
Instrukcja CREATE .......................................................................................... 125
Instrukcja CREATE TABLE ....................................................................................125
Instrukcja CREATE VIEW.......................................................................................127
Instrukcja ALTER............................................................................................. 128
Instrukcja ALTER TABLE.......................................................................................128
Instrukcja DROP ............................................................................................... 130
Instrukcja DROP TABLE .........................................................................................130
Instrukcja DROP VIEW ...........................................................................................131
Instrukcje RENAME......................................................................................... 131
Część III
Instrukcje INSERT, UPDATE i DELETE ................................... 133
Rozdział 13. Transakcje.....................................................................................135
Co to jest transakcja? ........................................................................................ 136
Przetwarzanie transakcyjne............................................................................... 136
Automatyczne zatwierdzanie transakcji ...................................................................137
Rozpoczynanie transakcji .........................................................................................137
Zatwierdzanie transakcji ...........................................................................................137
Wycofywanie transakcji............................................................................................138
Punkty zachowania............................................................................................ 138
C:\Andrzej\PDF\ABC jezyka SQL\!Spis.doc
5
6
ABC języka SQL
Rozdział 14. Wstawianie danych ........................................................................139
Weryfikacja danych .......................................................................................... 139
Wstawianie wierszy .......................................................................................... 140
Wstawianie wartości null..........................................................................................141
Wstawianie wierszy wybranych w zapytaniu ................................................... 142
Eliminacja duplikatów wierszy.................................................................................143
Dane przykładowej bazy Firma ........................................................................ 143
Rozdział 15. Modyfikowanie danych ...................................................................147
Modyfikowanie danych w wielu kolumnach.................................................... 148
Modyfikowanie danych na podstawie danych wybranych w zapytaniu........... 149
Modyfikowanie danych wybranych w zapytaniu ............................................. 151
Rozdział 16. Usuwanie danych ...........................................................................153
Usuwanie danych wybranych w zapytaniu....................................................... 154
Instrukcja TRUNCATE .................................................................................... 155
Rozdział 17. Składnia instrukcji INSERT, UPDATE i DELETE ................................157
Instrukcja INSERT............................................................................................ 157
Klauzula INTO..........................................................................................................158
Instrukcja UPDATE .......................................................................................... 158
Klauzula WHERE .....................................................................................................159
Modyfikowanie danych w wielu kolumnach............................................................159
Modyfikowanie danych na podstawie danych wybranych w zapytaniu...................159
Modyfikowanie danych wybranych w zapytaniu .....................................................160
Instrukcja DELETE........................................................................................... 160
Usuwanie danych wybranych w zapytaniu...............................................................161
Część IV
Instrukcje GRANT, REVOKE ................................................... 163
Rozdział 18. Model bezpieczeþstwa baz danych..................................................165
Bezpieczeństwo informacji ............................................................................... 165
Przywileje .................................................................................................................166
Zasoby bazy danych..................................................................................................168
Monitorowanie bazy danych.....................................................................................169
Rozdział 19. Nadawanie uprawnieþ ....................................................................171
Zarządzanie u ytkownikami ............................................................................. 171
Tworzenie konta u ytkownika..................................................................................171
Usuwanie konta u ytkownika ...................................................................................172
Zmiana hasła u ytkownika .......................................................................................173
Uprawnienia ...................................................................................................... 173
Nadawanie uprawnień systemowych........................................................................173
Nadawanie uprawnień obiektowych .........................................................................174
Nadawanie uprawnień wszystkim u ytkownikom....................................................175
Synonimy ..................................................................................................................175
Rozdział 20. Odbieranie uprawnieþ .....................................................................177
Tworzenie i usuwanie ról .................................................................................. 177
Odbieranie uprawnień systemowych ................................................................ 178
Odbieranie uprawnień obiektowych ................................................................. 178
Kolejność wykonywania poleceń GRANT i REVOKE ................................... 179
6
C:\Andrzej\PDF\ABC jezyka SQL\!Spis.doc
Zgłoś jeśli naruszono regulamin