Bazy danych i PostgreSQL. Od podstaw.pdf

(1158 KB) Pobierz
IDZ DO
Bazy danych i PostgreSQL.
Od podstaw
SPIS TRECI
KATALOG KSI¥¯EK
Autorzy: Richard Stones, Neil Matthew
T³umaczenie: Rados³aw Meryk
ISBN: 83-7197-650-X
Tytu³ orygina³u:
Format: B5, stron: 610
KATALOG ONLINE
Beginning Databases with PostgreSQL
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
PostgreSQL wci¹¿ zyskuje na popularnoci i jest uwa¿any za najlepszy darmowy system
zarz¹dzania relacyjnymi bazami danych. Pocz¹tkowo by³ tworzony w rodowisku
uniwersyteckim, potem jako otwarty projekt internetowy przez utalentowanych
programistów z ca³ego wiata. Coraz czêciej du¿e firmy decyduj¹ siê na wybór
PostgreSQL jako systemu zarz¹dzania bazami danych.
Niniejsza ksi¹¿ka jest kompletnym podrêcznikiem opisuj¹cym cechy systemu
PostgreSQL. Zawiera opis najprostszych metod instalacji i zarz¹dzania systemem,
tworzenia w³asnych baz danych, jak równie¿ omówienie integracji baz danych
z  aplikacjami napisanymi w najpopularniejszych jêzykach programowania
wykorzystywanych w Internecie. Czytelnik znajdzie w niej wskazówki dotycz¹ce
tworzenia coraz bardziej wyrafinowanych zapytañ jêzyka SQL, ³¹czenia tabel,
wykorzystywania transakcji, monitorowania pracy serwera, tworzenia w³asnych
aplikacji w jêzykach wysokiego poziomu i wiele innych.
Dla kogo jest ta ksi¹¿ka?
Ksi¹¿ka jest adresowana do Czytelników rozpoczynaj¹cych swoj¹ przygodê
z  relacyjnymi bazami danych (nie jest wymagana wiedza z zakresu jêzyków SQL, PHP,
Java czy Perl). Opisano w niej zarówno najprostsze zapytania, jak i coraz bardziej
skomplikowane metody zarz¹dzania bazami danych, które umo¿liwi¹ im rozwi¹zywanie
codziennych problemów administratorów baz danych. Dziêki lekturze mo¿na nauczyæ siê
zarz¹dzania baz¹ danych PostgreSQL w rodowiskach Windows i Unix.
Co zawiera ksi¹¿ka?
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
" "
" " "
" " "
Wprowadzenie do systemu PostreSQL
Opis instalacji z pakietów binarnych i kodów ród³owych w rodowiskach
Windows i Unix
Opis narzêdzi graficznych
Przyk³ady zapytañ obejmuj¹cych zapytania z³o¿one, funkcje agreguj¹ce i inne
Przedstawienie transakcji, poziomów izolacji, procedur sk³adowanych
i  wyzwalaczy
Monitorowanie wydajnoci i kontrolowanie pracy serwera
£¹czenie z baz¹ danych i wykonywanie instrukcji SQL z poziomu jêzyka C (libpq)
Tworzenie aplikacji przy u¿yciu jêzyków PHP, Perl i Java
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
945808882.014.png 945808882.015.png 945808882.016.png 945808882.017.png 945808882.001.png 945808882.002.png 945808882.003.png 945808882.004.png 945808882.005.png 945808882.006.png 945808882.007.png 945808882.008.png 945808882.009.png 945808882.010.png 945808882.011.png 945808882.012.png
 
Podzikowania ......................................................................................................................................15
Wstp.....................................................................................................................................................17
Jak wymawia „PostgreSQL”..................................................................................... 17
Co jest treci tej ksiki?........................................................................................ 17
Stosowane konwencje.............................................................................................. 19
Pobranie kodu %ródłowego........................................................................................ 20
Rozdział 1. Wstp do PostgreSQL.........................................................................................................21
Programowanie z wykorzystaniem danych................................................................... 21
Kartotekowe bazy danych ......................................................................................... 23
Co to jest baza danych? ........................................................................................... 24
Rodzaje baz danych ................................................................................................. 25
Sieciowy model bazy danych................................................................................ 25
Hierarchiczny model baz danych........................................................................... 26
Relacyjny model bazy danych............................................................................... 27
J4zyki zapyta6.......................................................................................................... 28
SQL................................................................................................................... 29
Systemy zarzdzania baz danych............................................................................. 31
Co to jest PostgreSQL? ............................................................................................ 32
Krótka historia PostgreSQL ................................................................................. 33
Architektura PostgreSQL ..................................................................................... 34
Licencje Open Source ......................................................................................... 35
Zasoby .............................................................................................................. 36
Rozdział 2. Podstawy relacyjnych baz danych ................................................................................. 37
Arkusze kalkulacyjne................................................................................................ 37
Troch4 terminologii............................................................................................. 38
Ograniczenia arkuszy kalkulacyjnych..................................................................... 39
Czym wyrónia si4 baza danych?.......................................................................... 40
Wybór kolumn............................................................................................... 41
Wybór typu danych dla kadej z kolumn........................................................... 41
Unikalne identyfikowanie wierszy .................................................................... 42
Porzdek wierszy........................................................................................... 43
Wprowadzanie danych do bazy danych....................................................................... 43
Dost4p do danych przez sie ............................................................................... 44
Tworzenie podzbiorów informacji.......................................................................... 45
Dodatkowe informacje.............................................................................................. 48
Wiele tabel......................................................................................................... 48
Relacje pomi4dzy tabelami.................................................................................. 49
945808882.013.png
4
Bazy danych i PostgreSQL. Od podstaw
Projektowanie tabel.................................................................................................. 51
Podstawowe zasady rzemiosła............................................................................. 52
Zasada pierwsza — podział danych na kolumny............................................... 52
Zasada druga — okrelenie unikalnego sposobu identyfikacji kadego wiersza .. 52
Zasada trzecia — usuni4cie powtarzajcych si4 informacji................................ 53
Zasada czwarta — stosowanie właciwych nazw.............................................. 53
Przykład bazy danych klient-zamówienie................................................................ 54
Wyjcie poza granice dwóch tabel ........................................................................ 54
Finalizowanie projektu wst4pnego ........................................................................ 57
Podstawowe typy danych.......................................................................................... 59
Wartoci specjalna NULL..................................................................................... 60
Sprawdzanie wartoci NULL ........................................................................... 61
Przykładowa baza danych ......................................................................................... 62
Rozdział 3. Instalacja........................................................................................................................... 63
Instalowa czy uaktualnia?...................................................................................... 64
Instalacja PostgreSQL z pakietów binarnych systemu Linux ......................................... 64
Anatomia instalacji PostgreSQL...................................................................... 66
Instalacja PostgreSQL z kodu %ródłowego .................................................................. 69
Uruchamianie PostgreSQL.............................................................................. 72
Tworzenie bazy danych................................................................................... 76
Tworzenie tabel............................................................................................. 78
Usuwanie tabel ............................................................................................. 79
Wypełnianie tabel danymi............................................................................... 80
Zatrzymywanie PostgreSQL............................................................................. 82
Instalacja PostgreSQL w Windows............................................................................. 83
Cygwin — rodowisko UNIX w systemie Windows............................................. 83
Usługi IPC dla Windows ................................................................................. 87
PostgreSQL dla Cygwin.................................................................................. 88
Kompilacja PostgreSQL w Windows................................................................. 88
Konfiguracja PostgreSQL dla Windows ............................................................ 89
Automatyczne uruchamianie PostgreSQL......................................................... 90
Rozdział 4. Dostp do danych.............................................................................................................. 95
Wykorzystanie psql .................................................................................................. 96
Proste instrukcje SELECT ......................................................................................... 98
Podstawianie nazw kolumn................................................................................ 100
Porzdek wierszy .............................................................................................. 100
Ukrywanie duplikatów........................................................................................ 103
Wykonywanie oblicze6............................................................................................ 105
Wybór wierszy........................................................................................................ 107
Bardziej złoone warunki ................................................................................... 109
Porównywanie wzorców ..................................................................................... 111
Ograniczanie liczby wierszy w wyniku .................................................................. 112
Porównania danych o rónych typach....................................................................... 113
Sprawdzanie wartoci NULL............................................................................... 113
Sprawdzanie danych typu data i czas ................................................................. 114
Ustawianie formatu daty i czasu ................................................................... 115
Funkcje daty i czasu .................................................................................... 119
Spis tre+ci
5
Wiele tabel............................................................................................................ 121
Tworzenie zwizku pomi4dzy dwoma tabelami..................................................... 121
Aliasy nazw tabel.............................................................................................. 126
Tworzenie zwizku trzech tabel................................................................................ 127
Rozdział 5. Graficzne narzdzia PostgreSQL ...................................................................................133
psql...................................................................................................................... 134
Uruchamianie psql............................................................................................ 134
Polecenia w psql .............................................................................................. 134
Historia polece6............................................................................................... 135
Skrypty w psql.................................................................................................. 136
Badanie bazy danych ........................................................................................ 137
Przegld opcji wiersza polecenia........................................................................ 138
Przegld polece6 wewn4trznych ......................................................................... 139
ODBC ................................................................................................................... 139
pgAdmin................................................................................................................ 144
Kpsql.................................................................................................................... 149
PgAccess .............................................................................................................. 150
Formularze i narz4dzia do projektowania zapyta6................................................. 152
Microsoft Access................................................................................................... 153
Tabele łczy..................................................................................................... 154
Wprowadzanie danych....................................................................................... 158
Raporty............................................................................................................ 158
Microsoft Excel...................................................................................................... 159
Zasoby.................................................................................................................. 163
Rozdział 6. Interfejs danych ..............................................................................................................165
Wprowadzanie danych do bazy danych..................................................................... 165
Proste operacje INSERT .................................................................................... 166
Bezpieczniejsza posta instrukcji INSERT ...................................................... 169
Wprowadzanie danych do kolumn typu SERIAL .................................................... 170
Dost4p do numerów sekwencji ..................................................................... 171
Wprowadzanie wartoci NULL ............................................................................ 173
Polecenie \copy ............................................................................................... 175
Pobieranie danych bezporednio z innej aplikacji................................................. 178
Aktualizacja danych w bazie danych......................................................................... 182
Ostrzeenie................................................................................................. 183
Usuwanie wierszy z bazy danych.............................................................................. 185
Rozdział 7. Zaawansowane wyszukiwanie danych .........................................................................189
Funkcje agregacji................................................................................................... 190
COUNT ............................................................................................................ 190
GROUP BY a COUNT(*)................................................................................ 192
HAVING a COUNT(*) .................................................................................... 194
COUNT(nazwa_kolumny)............................................................................... 196
Funkcja MIN()................................................................................................... 197
Funkcja MAX() .................................................................................................. 198
Funkcja SUM().................................................................................................. 199
Funkcja AVG()................................................................................................... 199
Powizania typu UNION .......................................................................................... 200
6
Bazy danych i PostgreSQL. Od podstaw
Zapytania podrz4dne.............................................................................................. 202
Rodzaje zapyta6 podrz4dnych ............................................................................ 205
Zapytania podrz4dne skorelowane ..................................................................... 206
Powizania same z sob ........................................................................................ 210
Powizania zewn4trzne........................................................................................... 211
Rozdział 8. Definicje danych i operacje manipulowania danymi .....................................................217
Typy danych........................................................................................................... 218
Typ Boolean..................................................................................................... 218
Typy znakowe................................................................................................... 220
Typy numeryczne .............................................................................................. 222
Typy daty i czasu .............................................................................................. 225
Specjalne typy PostgreSQL ..................................................................................... 225
Tworzenie własnych typów................................................................................. 226
Typy tablicowe............................................................................................. 226
Konwersja pomi4dzy typami............................................................................... 227
Inne operacje manipulowania danymi................................................................. 229
Magiczne zmienne............................................................................................ 230
Kolumna OID.................................................................................................... 230
Manipulowanie tabelami......................................................................................... 231
Tworzenie tabel ................................................................................................ 232
Ograniczenia dla kolumny............................................................................. 232
Ograniczenia dla tabel ................................................................................. 236
Uaktualnianie struktury tabeli ............................................................................ 237
Usuwanie tabel ................................................................................................ 240
Tabele tymczasowe........................................................................................... 240
Perspektywy .......................................................................................................... 240
Ograniczenia kluczy obcych..................................................................................... 244
Klucze obce jako ograniczenia dla kolumn .......................................................... 246
Klucze obce jako ograniczenia dla tabel.............................................................. 247
Opcje ogranicze6 dla kluczy obcych.................................................................... 250
DEFERRABLE .............................................................................................. 251
ON UPDATE oraz ON DELETE........................................................................ 251
Rozdział 9. Transakcje i blokady......................................................................................................253
Co to s transakcje?.............................................................................................. 254
Reguły ACID ..................................................................................................... 257
Transakcje dla pojedynczych uytkowników .............................................................. 258
Ograniczenia transakcji ..................................................................................... 260
Transakcje z wieloma uytkownikami....................................................................... 261
Poziomy izolacji ANSI ........................................................................................ 261
Niepodane zjawiska.................................................................................. 262
Poziomy izolacji ANSI/ISO ................................................................................. 266
Tryb chained (autozatwierdzanie) oraz tryb unchained.......................................... 267
Blokady................................................................................................................. 268
Zakleszczenia................................................................................................... 269
Jawne blokady.................................................................................................. 271
Blokowanie wierszy...................................................................................... 271
Blokady tabel.............................................................................................. 272
Zgłoś jeśli naruszono regulamin