Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00317 009758 10452948 na godz. na dobę w sumie
Bazy danych i PostgreSQL. Od podstaw - książka
Bazy danych i PostgreSQL. Od podstaw - książka
Autor: , Liczba stron: 616
Wydawca: Helion Język publikacji: polski
ISBN: 83-7197-650-X Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> bazy danych >> postgresql - programowanie
Porównaj ceny (książka, ebook, audiobook).
PostgreSQL wciąż zyskuje na popularności 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?

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TRE(cid:140)CI SPIS TRE(cid:140)CI KATALOG KSI¥flEK KATALOG KSI¥flEK KATALOG ONLINE KATALOG ONLINE ZAM(cid:211)W DRUKOWANY KATALOG ZAM(cid:211)W DRUKOWANY KATALOG TW(cid:211)J KOSZYK TW(cid:211)J KOSZYK DODAJ DO KOSZYKA DODAJ DO KOSZYKA CENNIK I INFORMACJE CENNIK I INFORMACJE ZAM(cid:211)W INFORMACJE ZAM(cid:211)W INFORMACJE O NOWO(cid:140)CIACH O NOWO(cid:140)CIACH ZAM(cid:211)W CENNIK ZAM(cid:211)W CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥flEK ONLINE FRAGMENTY KSI¥flEK ONLINE Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl Bazy danych i PostgreSQL. Od podstaw Autorzy: Richard Stones, Neil Matthew T‡umaczenie: Rados‡aw Meryk ISBN: 83-7197-650-X Tytu‡ orygina‡u: Format: B5, stron: 610 Beginning Databases with PostgreSQL PostgreSQL wci„¿ zyskuje na popularno(cid:156)ci i jest uwa¿any za najlepszy darmowy system zarz„dzania relacyjnymi bazami danych. Pocz„tkowo by‡ tworzony w (cid:156)rodowisku uniwersyteckim, potem (cid:151) jako otwarty projekt internetowy (cid:151) przez utalentowanych programist(cid:243)w z ca‡ego (cid:156)wiata. Coraz czŒ(cid:156)ciej du¿e firmy decyduj„ siŒ na wyb(cid:243)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(cid:243)wnie¿ om(cid:243)wienie integracji baz danych z(cid:160) aplikacjami napisanymi w najpopularniejszych jŒzykach programowania wykorzystywanych w Internecie. Czytelnik znajdzie w niej wskaz(cid:243)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(cid:243)w rozpoczynaj„cych swoj„ przygodŒ z(cid:160) relacyjnymi bazami danych (nie jest wymagana wiedza z zakresu jŒzyk(cid:243)w SQL, PHP, Java czy Perl). Opisano w niej zar(cid:243)wno najprostsze zapytania, jak i coraz bardziej skomplikowane metody zarz„dzania bazami danych, kt(cid:243)re umo¿liwi„ im rozwi„zywanie codziennych problem(cid:243)w administrator(cid:243)w baz danych. DziŒki lekturze mo¿na nauczy(cid:230) siŒ zarz„dzania baz„ danych PostgreSQL w (cid:156)rodowiskach Windows i Unix. Co zawiera ksi„¿ka? Wprowadzenie do systemu PostreSQL Opis instalacji z pakiet(cid:243)w binarnych i kod(cid:243)w (cid:159)r(cid:243)d‡owych w (cid:156)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(cid:243)w izolacji, procedur sk‡adowanych i(cid:160) wyzwalaczy Monitorowanie wydajno(cid:156)ci 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(cid:243)w PHP, Perl i Java Podziękowania ...................................................n...................................................n................................15 Wstęp...................................................n...................................................n.................... ...........................17 Jak wymawiać „PostgreSQL”...................................................„.................................. 17 Co jest treścią tej książki?...................................................„..................................... 17 Stosowane konwencje...................................................„........................................... 19 Pobranie kodu źródłowego ...................................................„..................................... 20 Rozdział 1. Wstęp do PostgreSQL...................................................n......................................................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 Języki zapytań...................................................„...................................................„.... 28 SQL ...................................................„...................................................„............. 29 Systemy zarządzania 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 ...................................................n..............................37 Arkusze kalkulacyjne ...................................................„............................................. 37 Trochę terminologii ...................................................„.......................................... 38 Ograniczenia arkuszy kalkulacyjnych...................................................„.................. 39 Czym wyróżnia się baza danych?...................................................„....................... 40 Wybór kolumn ...................................................„............................................ 41 Wybór typu danych dla każdej z kolumn ...................................................„........ 41 Unikalne identyfikowanie wierszy ...................................................„................. 42 Porządek wierszy ...................................................„........................................ 43 Wprowadzanie danych do bazy danych ...................................................„.................... 43 Dostęp do danych przez sieć ...................................................„............................ 44 Tworzenie podzbiorów informacji ...................................................„....................... 45 Dodatkowe informacje...................................................„........................................... 48 Wiele tabel...................................................„...................................................„... 48 Relacje pomiędzy tabelami ...................................................„............................... 49 4 Bazy danych i PostgreSQL. Od podstaw Projektowanie tabel...................................................„............................................... 51 Podstawowe zasady rzemiosła...................................................„.......................... 52 Zasada pierwsza — podział danych na kolumny ............................................... 52 Zasada druga — określenie unikalnego sposobu identyfikacji każdego wiersza .. 52 Zasada trzecia — usunięcie powtarzających się informacji................................ 53 Zasada czwarta — stosowanie właściwych nazw .............................................. 53 Przykład bazy danych klient-zamówienie...................................................„............. 54 Wyjście poza granice dwóch tabel ...................................................„..................... 54 Finalizowanie projektu wstępnego ...................................................„..................... 57 Podstawowe typy danych ...................................................„....................................... 59 Wartości specjalna NULL...................................................„.................................. 60 Sprawdzanie wartości NULL ...................................................„........................ 61 Przykładowa baza danych ...................................................„...................................... 62 Rozdział 3. Instalacja...................................................n...................................................n.....................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. Dostęp do danych...................................................n...........................................................95 Wykorzystanie psql ...................................................„............................................... 96 Proste instrukcje SELECT ...................................................„...................................... 98 Podstawianie nazw kolumn...................................................„............................. 100 Porządek wierszy ...................................................„........................................... 100 Ukrywanie duplikatów...................................................„..................................... 103 Wykonywanie obliczeń ...................................................„......................................... 105 Wybór wierszy...................................................„...................................................„.. 107 Bardziej złożone warunki ...................................................„................................ 109 Porównywanie wzorców ...................................................„.................................. 111 Ograniczanie liczby wierszy w wyniku ...................................................„............... 112 Porównania danych o różnych typach ...................................................„.................... 113 Sprawdzanie wartości 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 związku pomiędzy dwoma tabelami ...................................................„.. 121 Aliasy nazw tabel ...................................................„........................................... 126 Tworzenie związku trzech tabel...................................................„............................. 127 Rozdział 5. Graficzne narzędzia PostgreSQL ...................................................n................................133 psql ...................................................„...................................................„................ 134 Uruchamianie psql...................................................„......................................... 134 Polecenia w psql ...................................................„........................................... 134 Historia poleceń ...................................................„............................................ 135 Skrypty w psql ...................................................„............................................... 136 Badanie bazy danych ...................................................„..................................... 137 Przegląd opcji wiersza polecenia ...................................................„..................... 138 Przegląd poleceń wewnętrznych ...................................................„...................... 139 ODBC ...................................................„...................................................„............. 139 pgAdmin...................................................„...................................................„.......... 144 Kpsql...................................................„...................................................„.............. 149 PgAccess ...................................................„...................................................„........ 150 Formularze i narzędzia do projektowania zapytań................................................. 152 Microsoft Access ...................................................„................................................ 153 Tabele łączy ...................................................„.................................................. 154 Wprowadzanie danych...................................................„.................................... 158 Raporty...................................................„...................................................„...... 158 Microsoft Excel ...................................................„...................................................„ 159 Zasoby...................................................„...................................................„............ 163 Rozdział 6. Interfejs danych ...................................................n...........................................................165 Wprowadzanie danych do bazy danych ...................................................„.................. 165 Proste operacje INSERT ...................................................„................................. 166 Bezpieczniejsza postać instrukcji INSERT ...................................................„... 169 Wprowadzanie danych do kolumn typu SERIAL ...................................................„. 170 Dostęp do numerów sekwencji ...................................................„.................. 171 Wprowadzanie wartości NULL ...................................................„......................... 173 Polecenie copy ...................................................„............................................ 175 Pobieranie danych bezpośrednio z innej aplikacji................................................. 178 Aktualizacja danych w bazie danych...................................................„...................... 182 Ostrzeżenie...................................................„.............................................. 183 Usuwanie wierszy z bazy danych...................................................„........................... 185 Rozdział 7. Zaawansowane wyszukiwanie danych ...................................................n......................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 Powiązania typu UNION ...................................................„....................................... 200 6 Bazy danych i PostgreSQL. Od podstaw Zapytania podrzędne ...................................................„........................................... 202 Rodzaje zapytań podrzędnych ...................................................„......................... 205 Zapytania podrzędne skorelowane ...................................................„.................. 206 Powiązania same z sobą ...................................................„..................................... 210 Powiązania zewnętrzne ...................................................„........................................ 211 Rozdział 8. Definicje danych i operacje manipulowania danymi...................................................n..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 pomiędzy 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 ograniczeń dla kluczy obcych ...................................................„................. 250 DEFERRABLE ...................................................„........................................... 251 ON UPDATE oraz ON DELETE ...................................................„..................... 251 Rozdział 9. Transakcje i blokady...................................................n...................................................253 Co to są transakcje? ...................................................„........................................... 254 Reguły ACID ...................................................„.................................................. 257 Transakcje dla pojedynczych użytkowników ...................................................„........... 258 Ograniczenia transakcji ...................................................„.................................. 260 Transakcje z wieloma użytkownikami ...................................................„.................... 261 Poziomy izolacji ANSI ...................................................„..................................... 261 Niepożądane 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 Spis tre+ci 7 Rozdział 10. Procedury przechowywane w bazie danych oraz procedury wyzwalane.............275 Operatory ...................................................„...................................................„........ 276 Priorytet operatorów oraz kierunek nadawania wartości........................................ 277 Operatory arytmetyczne ...................................................„.................................. 278 Operatory porównań i operatory znakowe ...................................................„......... 279 Inne operatory ...................................................„............................................... 281 Funkcje ...................................................„...................................................„........... 282 Języki proceduralne...................................................„............................................. 284 Czynności wstępne dla języka PL/pgSQL...................................................„............... 285 Przeciążanie funkcji ...................................................„....................................... 287 Wyświetlanie listingu funkcji ...................................................„........................... 288 Usuwanie funkcji ...................................................„........................................... 289 Użycie apostrofów...................................................„.......................................... 289 Anatomia procedur zapisywanych w bazie danych ...................................................„.. 289 Argumenty funkcji ...................................................„.......................................... 290 Komentarze ...................................................„.................................................. 290 Deklaracje ...................................................„...................................................„. 291 ALIAS ...................................................„...................................................„... 292 RENAME ...................................................„.................................................. 293 Prosta deklaracja zmiennej ...................................................„....................... 293 Złożona deklaracja zmiennej...................................................„...................... 294 ROWTYPE ...................................................„................................................ 294 RECORD ...................................................„.................................................. 294 Instrukcje przypisania ...................................................„.................................... 295 Instrukcja SELECT INTO ...................................................„............................ 295 PERFORM ...................................................„................................................ 296 Instrukcje sterujące ...................................................„....................................... 296 Zwracanie wartości przez funkcje ...................................................„.................... 296 Wyjątki i komunikaty ...................................................„................................. 297 Instrukcje warunkowe ...................................................„............................... 298 Pętle ...................................................„...................................................„.... 299 Zapytania dynamiczne...................................................„.................................... 304 Funkcje SQL ...................................................„...................................................„.... 305 Procedury wyzwalane...................................................„........................................... 306 Tworzenie wyzwalaczy ...................................................„.................................... 307 Procedury wyzwalane ...................................................„................................ 308 Dlaczego procedury przechowywane w bazie danych i procedury wyzwalane? .............. 313 Rozdział 11. Administracja baz5 danych PostgreSQL...................................................n....................315 Instalacja domyślna ...................................................„............................................ 316 bin ...................................................„...................................................„............ 316 include i lib ...................................................„...................................................„ 316 doc...................................................„...................................................„............ 317 man ...................................................„...................................................„.......... 318 share...................................................„...................................................„......... 318 data ...................................................„...................................................„.......... 318 Początkowa baza danych...................................................„................................ 319 Sterowanie serwerem...................................................„.......................................... 320 Uruchamianie i zatrzymywanie serwera ...................................................„............ 320 8 Bazy danych i PostgreSQL. Od podstaw Użytkownicy...................................................„...................................................„..... 322 CREATE USER ...................................................„.......................................... 323 DROP USER ...................................................„............................................. 324 ALTER USER ...................................................„............................................ 325 Grupy ...................................................„...................................................„... 325 UPRAWNIENIA ...................................................„.......................................... 326 Perspektywy ...................................................„.................................................. 328 Zarządzanie danymi ...................................................„............................................ 329 Tworzenie i usuwanie baz danych...................................................„.................... 329 Tworzenie kopii zapasowych i odtwarzanie danych ............................................... 330 Uaktualnienia bazy danych ...................................................„............................. 335 Bezpieczeństwo bazy danych ...................................................„............................... 335 Opcje konfiguracji ...................................................„............................................... 338 Konfiguracja serwera na etapie kompilacji ...................................................„....... 338 Konfiguracja działania serwera...................................................„........................ 339 Wydajność...................................................„...................................................„....... 341 VACUUM ...................................................„...................................................„.... 341 Indeksy...................................................„...................................................„...... 344 Rozdział 12. Projekt bazy danych...................................................n..................................................347 Zrozumienie problemu ...................................................„......................................... 348 Na czym polega dobry projekt bazy danych? ...................................................„.......... 349 Zdolność przechowywania potrzebnych danych............................................... 349 Zdolność obsługi wymaganych związków.................................................„....... 349 Zdolność rozwiązywania problemu...................................................„.............. 349 Zdolność do narzucania integralności danych ................................................ 350 Zdolność narzucania wydajności w przetwarzaniu danych ................................ 350 Zdolność uwzględniania przyszłych zmian ...................................................„... 351 Etapy projektowania bazy danych ...................................................„......................... 351 Zbieranie informacji ...................................................„....................................... 351 Projekt logiczny ...................................................„............................................. 352 Określenie obiektów ...................................................„................................. 352 Przekształcenie obiektów w tabele ...................................................„............. 354 Określenie relacji oraz krotności ...................................................„..................... 358 Naszkicowanie diagramu związków encji...................................................„..... 358 Przykładowa baza danych ...................................................„.......................... 359 Przekształcenie w model fizyczny...................................................„.......................... 363 Ustalenie kluczy głównych ...................................................„......................... 363 Zdefiniowanie kluczy zewnętrznych...................................................„............. 365 Zdefiniowanie typów danych ...................................................„........................... 367 Pełne definicje tabel ...................................................„...................................... 370 Implementacja reguł biznesu ...................................................„.......................... 370 Sprawdzenie projektu...................................................„..................................... 370 Postacie normalne ...................................................„.............................................. 371 Pierwsza postać normalna...................................................„.............................. 371 Druga postać normalna ...................................................„.................................. 372 Trzecia postać normalna ...................................................„................................ 373 Znane wzorce ...................................................„...................................................„.. 373 Wiele-do-wielu ...................................................„............................................... 374 Hierarchia ...................................................„...................................................„.. 374 Relacje rekurencyjne ...................................................„...................................... 375 Zasoby...................................................„...................................................„............ 377 Spis tre+ci 9 Rozdział 13. Dostęp do PostgreSQL z języka C z wykorzystaniem biblioteki libpq.......................379 Korzystanie z biblioteki libpq...................................................„................................ 380 Połączenia z bazą danych ...................................................„.................................... 381 Plik Makefile ...................................................„................................................. 384 Dodatkowe informacje ...................................................„................................... 384 Uruchamianie SQL za pomocą libpq ...................................................„..................... 385 Transakcje ...................................................„...................................................„...... 390 Uzyskiwanie danych z zapytań...................................................„......................... 390 Wyświetlanie wyników zapytań ...................................................„............................. 394 Kursory ...................................................„...................................................„........... 397 Wartości binarne...................................................„................................................. 403 Mechanizm pracy asynchronicznej ...................................................„........................ 403 Rozdział 14. Dostęp do PostgreSQL z języka C z wykorzystaniem wbudowanego SQL ...............409 Pierwszy program z wbudowanym SQL ...................................................„.................. 410 Argumenty programu ecpg ...................................................„.............................. 414 Rejestrowanie wykonywania instrukcji SQL...................................................„....... 415 Połączenia z bazą danych ...................................................„............................... 416 Obsługa błędów...................................................„............................................. 418 Obsługa błędów...................................................„............................................. 421 Zmienne hosta ...................................................„.............................................. 422 Pobieranie danych za pomocą ecpg...................................................„................. 425 Transakcje ...................................................„...................................................„. 429 Obsługa danych...................................................„............................................. 429 Kursory ...................................................„...................................................„...... 432 Diagnozowanie kodu ecpg ...................................................„.............................. 435 Rozdział 15. Dostęp do PostgreSQL z języka PHP ...................................................n.........................437 Dodanie obsługi PostgreSQL w PHP...................................................„...................... 438 Korzystanie z interfejsu API języka PHP dla PostgreSQL............................................. 439 Połączenia z bazą danych ...................................................„............................... 439 Połączenia trwałe ...................................................„..................................... 440 Zamykanie połączeń ...................................................„................................. 441 Informacje o połączeniu ...................................................„............................ 441 Tworzenie zapytań ...................................................„......................................... 442 Złożone zapytania...................................................„..................................... 443 Wykonywanie zapytań ...................................................„............................... 444 Przetwarzanie zestawów wyników ...................................................„.................... 445 Pobieranie wartości z zestawów wyników ...................................................„.... 447 Informacje dotyczące pól...................................................„........................... 450 Zwalnianie pamięci przydzielonej na zestawy wyników..................................... 451 Konwersja typów wartości wyników ...................................................„............ 452 Obsługa błędów...................................................„............................................. 452 Kodowanie znaków ...................................................„........................................ 453 PEAR ...................................................„...................................................„......... 454 Interfejs abstrakcji bazy danych PEAR ...................................................„........ 454 Obsługa błędów PEAR...................................................„............................... 456 Przygotowanie i wykonanie zapytania...................................................„.......... 457 10 Bazy danych i PostgreSQL. Od podstaw Rozdział 16. Dostęp do PostgreSQL z języka Perl ...................................................n........................459 Pgsql_perl5 lub moduł Pg ...................................................„.................................... 460 Instalacja pgsql_perl5 ...................................................„.................................... 460 CPAN................................................„...................................................„....... 461 Korzystanie z interfejsu pgsql_perl5 ...................................................„..................... 462 DBI języka Perl...................................................„...................................................„. 468 Instalacja DBI i PostgreSQL DBD ...................................................„.................... 468 Wykorzystywanie DBI...................................................„...................................... 469 Co jeszcze możemy zrobić przy użyciu DBI?...................................................„...... 475 Wykorzystanie DBIx::Easy ...................................................„............................... 477 DBI i XML...................................................„...................................................„... 479 Rozdział 17. Dostęp do PostgreSQL z języka Java ...................................................n.......................483 Opis ogólny JDBC...................................................„................................................ 484 Sterowniki JDBC ...................................................„................................................. 484 Typ 1 ...................................................„...................................................„......... 485 Typ 2 ...................................................„...................................................„......... 485 Typ 3 ...................................................„...................................................„......... 485 Typ 4 ...................................................„...................................................„......... 486 Konfigurowanie sterownika JDBC PostgreSQL................................................„........... 486 DriverManager i Driver...................................................„......................................... 487 Java.sql.DriverManager ...................................................„.................................. 487 Zarządzanie sterownikami ...................................................„......................... 487 Zarządzanie połączeniami ...................................................„......................... 488 Zarządzanie rejestracją zdarzeń dotyczących JDBC ......................................... 489 Zarządzanie limitami czasu logowania się...................................................„... 489 java.sql.Driver ...................................................„............................................... 489 Połączenia...................................................„...................................................„....... 492 Tworzenie instrukcji ...................................................„....................................... 492 Obsługa transakcji ...................................................„......................................... 493 Metadane bazy danych...................................................„................................... 494 Pobieranie metadanych PostgreSQL...................................................„........... 494 Zestawy wyników JDBC...................................................„........................................ 496 Tryb wielodostępu i typ zestawu wyników ...................................................„......... 496 Typ...................................................„...................................................„....... 496 Tryb wielodostępu ...................................................„.................................... 497 Przeglądanie zestawów wyników ...................................................„..................... 497 Przewijanie zestawów wyników...................................................„................... 497 Sprawdzanie położenia kursora ...................................................„................. 498 Kierunek pobierania i rozmiar ...................................................„.................... 499 Korzystanie z danych zestawu wyników...................................................„............ 500 Odwzorowanie typów danych PostgreSQL...................................................„......... 500 Zestawy wyników, które można aktualizować...................................................„.... 500 Usuwanie danych ...................................................„..................................... 501 Aktualizacja danych ...................................................„.................................. 501 Wstawianie danych...................................................„................................... 502 Inne metody ...................................................„.................................................. 503 Spis tre+ci 11 Instrukcje JDBC ...................................................„.................................................. 503 Instrukcje...................................................„...................................................„... 504 Sprawdzanie wyników i zestawów wyników...................................................„.. 505 Obsługa wsadowego przetwarzania instrukcji SQL .......................................... 506 Metody różne ...................................................„........................................... 506 Przykład klienta JDBC ...................................................„............................... 506 Instrukcje przygotowane ...................................................„................................. 508 Wykonywanie instrukcji SQL ...................................................„...................... 509 Aktualizacja danych ...................................................„.................................. 510 Przykładowe wykorzystanie przygotowanych instrukcji ..................................... 510 Wyjątki i ostrzeżenia SQL...................................................„..................................... 512 Aplikacja JDBC z Graficznym Interfejsem Użytkownika (GUI) ....................................... 512 Diagram klasy ...................................................„............................................... 513 Customer ...................................................„................................................ 513 CustomerTableModel...................................................„................................ 513 CustomerApp ...................................................„........................................... 514 CustomerPanel ...................................................„........................................ 514 Komunikacja z systemem...................................................„............................... 514 Szczegółowe informacje dotyczące klientów ...................................................„ 515 Dodawanie nowego klienta...................................................„........................ 516 Usuwanie klienta...................................................„...................................... 517 Pliki źródłowe ...................................................„................................................ 517 Klasa Customer ...................................................„....................................... 517 Klasa CustomerTableModel ...................................................„...................... 519 Klasa CustomerPanel ...................................................„............................... 521 Klasa CustomerApp...................................................„.................................. 523 Kompilacja i uruchomienie aplikacji...................................................„................. 528 Rozdział 18. Dalsze informacje i zasoby ...................................................n.......................................529 Nie-relacyjne modele baz danych...................................................„.......................... 529 OLTP, OLAP i pozostała terminologia bazy danych...................................................„.. 530 Zasoby...................................................„...................................................„............ 532 Zasoby Sieciowe...................................................„............................................ 533 PostgreSQL...................................................„.............................................. 533 PHP...................................................„...................................................„...... 533 Perl ...................................................„...................................................„...... 533 Java i JDBC...................................................„.............................................. 533 Ogólne narzędzia ...................................................„........................................... 533 Książki ...................................................„...................................................„...... 534 SQL...................................................„...................................................„...... 534 PHP...................................................„...................................................„...... 534 Perl ...................................................„...................................................„...... 535 Java ...................................................„...................................................„..... 535 Dodatek A Ograniczenia bazy danych PostgreSQL ...................................................n......................537 Wielkość bazy danych: bez ograniczenia ...................................................„.......... 538 Wielkość tabeli: 16 TB – 64 TB...................................................„....................... 538 Liczba wierszy w tabeli: bez ograniczenia ...................................................„......... 538 Indeksy: bez ograniczenia...................................................„............................... 539 Wielkość kolumny: 1 GB...................................................„................................. 539 Kolumny w tabeli: 250+ ...................................................„................................. 539 Wielkość wiersza: bez ograniczenia ...................................................„................. 539 12 Bazy danych i PostgreSQL. Od podstaw Dodatek B Typy danych PostgreSQL.....................n...................................................n..........................541 Typy logiczne ...................................................„...................................................„... 541 Dokładne typy numeryczne ...................................................„.................................. 542 Przybliżone typy numeryczne ...................................................„................................ 542 Typy daty i czasu...................................................„................................................. 543 Typy znakowe ...................................................„...................................................„.. 544 Typy geometryczne ...................................................„.............................................. 544 Typy różne ...................................................„...................................................„....... 545 Dodatek C Składnia SQL w PostgreSQL ...................................................n.........................................547 Polecenia SQL w PostgreSQL ...................................................„............................... 547 Składnia dostępnych w PostgreSQL instrukcji SQL...................................................„. 547 Dodatek D Opis opcji i polece psql...................................................n.................................................561 Opcje wiersza polecenia psql ...................................................„.................... 561 Wewnętrzne polecenia psql ...................................................„....................... 563 Dodatek E Schemat baz danych i tabel ...................................................n..........................................565 Dodatek F Obsługa duych obiektów w PostgreSQL ...................................................n....................569 Dodawanie grafiki do bazy danych ...................................................„........................ 569 Obiekty BLOB ...................................................„................................................ 571 Import i eksport ...................................................„....................................... 571 Zdalny import i eksport ...................................................„............................. 574 Programowanie obiektów BLOB...................................................„....................... 575 Dodatek G Uwagi do wydania 7.2 PostgreSQL...................................................n..............................577 Przegląd...................................................„...................................................„.......... 577 VACUUM ...................................................„...................................................„.... 577 Transakcje ...................................................„...................................................„. 577 Numery OID ...................................................„.................................................. 577 Optymalizator ...................................................„................................................ 578 Bezpieczeństwo...................................................„............................................. 578 Statystyki...................................................„...................................................„... 578 Ustawienia międzynarodowe ...................................................„........................... 578 Migracja do wersji 7.2 ...................................................„......................................... 578 Zmiany...................................................„...................................................„............ 579 Działanie serwera ...................................................„.......................................... 579 Wydajność ...................................................„...................................................„. 580 Uprawnienia ...................................................„.................................................. 580 Uwierzytalnianie klientów...................................................„................................ 581 Konfiguracja serwera ...................................................„..................................... 581 Zapytania...................................................„...................................................„... 581 Operacje dotyczące schematu ...................................................„........................ 582 Instrukcje pomocnicze ...................................................„................................... 583 Typy danych i funkcje ...................................................„..................................... 583 Ustawienia międzynarodowe ...................................................„........................... 585 PL/pgSQL ...................................................„...................................................„.. 585 PL/Perl ...................................................„...................................................„...... 586 PL/Tcl ...................................................„...................................................„....... 586 Spis tre+ci 13 PL/Python...................................................„...................................................„.. 586 Psql...................................................„...................................................„........... 586 Libpq ...................................................„...................................................„......... 586 JDBC ...................................................„...................................................„......... 587 ODBC ...................................................„...................................................„........ 588 ECPG...................................................„...................................................„......... 588 Różne interfejsy...................................................„............................................. 589 Kompilacja i instalacja ...................................................„................................... 589 Kod źródłowy...................................................„................................................. 590 Contrib ...................................................„...................................................„...... 590 Skorowidz ...................................................n...................................................n................ ....................593 W rozdziale 4. omówiliśmy szczegółowo instrukcję #$ oraz sposób jej użycia do wyszukiwania danych. Omawiane tam zagadnienia obejmowały wybieranie kolumn i wierszy oraz łączenie tabel. W poprzednim rozdziale zaprezentowaliśmy sposoby do- dawania, aktualizacji i usuwania danych. W obecnym powrócimy do instrukcji #$ i omówimy jej bardziej zaawansowane cechy. Z niektórych spośród tych możliwości będziemy korzystać bardzo rzadko, ale warto je znać, aby zdawać sobie sprawę z moż- liwości języka SQL. Czytelnicy, którzy czytając tę książkę wypróbowują przykłady, zauważą, że zarówno w tym rozdziale, jak i w innych, zawsze rozpoczynamy od czystych danych wyjścio- wych w przykładowej bazie danych. Dzięki temu czytelnicy mogą zgłębiać te rozdziały, na które mają ochotę. Oznacza to, że w przypadku, gdy będziemy korzystać z przykła- dowych danych z poprzednich rozdziałów, niektóre wyniki mogą być nieco różne od pokazanych. Skrypty, które można pobrać ze strony WWW książki pozwalają na łatwe usunięcie tabel, ponowne ich utworzenie oraz ponownee wypełnienie ich danymi. W tym rozdziale omówimy najpierw pewne specjalne funkcje, nazywane funkcjami agregacji. Pozwalają one na uzyskiwanie wyników na podstawie grupy wierszy. Na- stępnie omówimy nieco bardziej zaawansowane operacje powiązań, pozwalające na kontrolowanie wyników. W tych przypadkach powiązania między tabelami nie będą tak proste jak te, których używaliśmy poprzednio. Poznamy także całą nową grupę zapytań nazywanych zapytaniami podrzędnymi (ang. subquery), w których w pojedynczym za- pytaniu używamy kilku instrukcji #$. Wreszcie poznamy bardzo ważną operację  $ , która pozwala na łączenie tabel w sposób bardziej elastyczny niż ten, z któ- rym spotkaliśmy się do tej pory. W rozdziale omówimy następujące funkcje:   funkcje agregacji; powiązania typu UNION; 190 Bazy danych i PostgreSQL. Od podstaw  zapytania podrzędne;  powiązania same z sobą;  powiązania zewnętrzne. W poprzednich rozdziałach korzystaliśmy z kilku specjalnych funkcji:  (cid:16)2+;+)3(cid:24) 92(cid:29) — w celu uzyskania największej wartości w kolumnie i  $(cid:16)(cid:30)(cid:29) — aby uzyskać liczbę wierszy w tabeli. Funkcje te należą do niewielkiej grupy funkcji SQL, nazywanej funkcjami agregacji. Do grupy tej należą:  $(cid:16)(cid:30)(cid:29),  $(cid:16)2+;+)392(cid:29), (cid:16)2+;+)392(cid:29), (cid:16)2+;+)392(cid:29), # (cid:16)2+;+)392(cid:29),  (cid:16)2+;+)392(cid:29)       Zazwyczaj są to funkcje bardzo przydatne i łatwe do setosowania. Polecenie 475.+ wylwietla list wszystkich funkcji agregacji w PosytgreSQL. Polecenie 475.+ wyświetla listę wszystkich funkcji agregacji w PostegreSQL. COUNT Rozpoczniemy od funkcji  $, która — jak widać z przedstawionej powyżej listy — ma dwie postacie. Funkcja  $(cid:16)(cid:30)(cid:29) oblicza liczbę wierszy w tabeli. Pełni ona rolę spe- cjalnej nazwy kolumny w instrukcji #$. W tych instrukcjach #$, które wykorzy- stują dowolne z funkcji agregacji, można stosować dwie opcjonalne klauzule:    oraz  . Składnia jest wówczas następująca: #$ $(cid:16)(cid:17)(cid:18)78+)392 2+;+)8+,/  ;+692/   2+;+)392 ;+692+16/1+- Nowa, opcjonalna klauzula    jest dodatkowym warunkiem, z którego można ko- rzystać w instrukcjach #$. Zazwyczaj korzysta się z niej w przypadku stosowania funkcji agregacji. Można ją także wykorzystać jako funkcję podobną do    , ale działającą z kolumną, na podstawie której została wyliczona wartość funkcji agregacji. Opcjonalna klauzula   pozwala na wybór określonych wierszy dla pewnych wa- runków funkcji  $(cid:16)(cid:30)(cid:29), jeżeli wykorzystaliśmy już klauzulę   . Rozdział 7.  Zaawansowane wyszukiwanie danych 191 Brzmi to bardzo tajemniczo, ale w praktyce jest dosyć proste. Spróbujmy skorzystać z bardzo prostej instrukcji  $(cid:16)(cid:30)(cid:29), aby mieć obraz jej działania. Wkrótce poznamy także działanie klauzuli   . Wypróbuj to — proste zastosowanie funkcji COUNT(*) Przypuśćmy, że chcemy wiedzieć, ilu klientów z tabeli -9783/6 mieszka w mieście Bingham. Moglibyśmy oczywiście zapisać proste zapytaneie SQL w postaci: #$(cid:17) -9783/6  83;2 21+  lub, w bardziej wydajny sposób, zapisać instrukcję SQL, która daje w wyniku mniejszą ilość danych: #$-9783/6). -9783/6  83;2 21+  Uzyskamy wprawdzie oczekiwany efekt, ale dość okrężną drogą. Operacje te wymagają wyszukiwania dużej ilości danych, które w zasadzie nie są nam potrzebne. Przypuśćmy, że w tabeli -9783/6 znajdują się dane wielu tysięcy klientów, z których ponad tysiąc mieszka w Bingham. W takim przypadku wybralibyśmy mnóstwo danych, które nie są nam potrzebne. Funkcja  $(cid:16)(cid:30)(cid:29) rozwiązuje ten problem, pozwalając na wybranie za- ledwie jednego wiersza, który zawiera liczbę wierszy spełniających warunek. Zapisze- my naszą instrukcję #$ w zwykły sposób, ale zamiast wpisywać rzeczywiste kolum- ny, wykorzystamy funkcję  $(cid:16)(cid:30)(cid:29): ,474/#$ $(cid:10)(cid:11)(cid:12) -9783/6  83;2 21+  -3928 88888888  (cid:16) 63;(cid:18) ,474/ Gdybyśmy chcieli policzyć wszystkich klientów, moglibyśmy po prostu pominąć klau- zulę  : ,474/#$ $(cid:10)(cid:11)(cid:12) -9783/6 -3928 88888888   ,474/ Zauważmy, że otrzymaliśmy pojedynczy wiersz zawierający liczbę wierszy. Aby sprawdzić wynik, można po prostu zamienić  $(cid:16)(cid:30)(cid:29) n
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Bazy danych i PostgreSQL. Od podstaw
Autor:
,

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: