Bazy danych i PostgreSQL. Od podstaw - Helion
Tytuł oryginału: Beginning Databases with PostgreSQL
Tłumaczenie: Radosław Meryk
ISBN: 83-7197-650-X
stron: 616, Format: B5, okładka: miękka
Data wydania: 2002-04-18
Księgarnia: Helion
Cena książki: 119,00 zł
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?
- 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 wydajnoś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ów PHP, Perl i Java
Osoby które kupowały "Bazy danych i PostgreSQL. Od podstaw", wybierały także:
- Programowanie w PostgreSQL. Kurs video. Analiza danych 69,00 zł, (31,05 zł -55%)
- Mistrzowski SQL. 61 technik pisania wydajnego kodu SQL 79,00 zł, (39,50 zł -50%)
- Zapytania w SQL. Przyjazny przewodnik 99,00 zł, (49,50 zł -50%)
- PostgreSQL. Wydanie II 39,00 zł, (19,50 zł -50%)
- Wysoko wydajny PostgreSQL 9.0 79,00 zł, (39,50 zł -50%)
Spis treści
Bazy danych i PostgreSQL. Od podstaw -- spis treści
Podziękowania (15)
Wstęp (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 (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 (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)
- 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 zasady rzemiosła (52)
- Podstawowe typy danych (59)
- Wartości specjalna NULL (60)
- Sprawdzanie wartości NULL (61)
- Wartości specjalna NULL (60)
- 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. Dostęp do danych (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)
- 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 (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 (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)
- Proste operacje INSERT (166)
- Aktualizacja danych w bazie danych (182)
-
- Ostrzeżenie (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)
- COUNT (190)
- Powiązania typu UNION (200)
- 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 (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)
- Tworzenie własnych typów (226)
- Manipulowanie tabelami (231)
- Tworzenie tabel (232)
- Ograniczenia dla kolumny (232)
- Ograniczenia dla tabel (236)
- Uaktualnianie struktury tabeli (237)
- Usuwanie tabel (240)
- Tabele tymczasowe (240)
- Tworzenie tabel (232)
- 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 (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)
- Poziomy izolacji ANSI (261)
- Blokady (268)
- Zakleszczenia (269)
- Jawne blokady (271)
- Blokowanie wierszy (271)
- Blokady tabel (272)
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)
- Tworzenie wyzwalaczy (307)
- Dlaczego procedury przechowywane w bazie danych i procedury wyzwalane? (313)
Rozdział 11. Administracja bazą danych PostgreSQL (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)
- 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 (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)
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 (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)
- Połączenia z bazą danych (439)
Rozdział 16. Dostęp do PostgreSQL z języka Perl (459)
- Pgsql_perl5 lub moduł Pg (460)
- Instalacja pgsql_perl5 (460)
- CPAN (461)
- Instalacja pgsql_perl5 (460)
- 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 (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)
- Java.sql.DriverManager (487)
- 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)
- Tryb wielodostępu i typ zestawu wyników (496)
- 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)
- Instrukcje (504)
- 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)
- Diagram klasy (513)
Rozdział 18. Dalsze informacje i zasoby (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)
- Zasoby Sieciowe (533)
Dodatek A Ograniczenia bazy danych PostgreSQL (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)
Dodatek B Typy danych PostgreSQL (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 (547)
- Polecenia SQL w PostgreSQL (547)
- Składnia dostępnych w PostgreSQL instrukcji SQL (547)
Dodatek D Opis opcji i poleceń psql (561)
-
-
- Opcje wiersza polecenia psql (561)
- Wewnętrzne polecenia psql (563)
-
Dodatek E Schemat baz danych i tabel (565)
Dodatek F Obsługa dużych obiektów w PostgreSQL (569)
- Dodawanie grafiki do bazy danych (569)
- Obiekty BLOB (571)
- Import i eksport (571)
- Zdalny import i eksport (574)
- Programowanie obiektów BLOB (575)
- Obiekty BLOB (571)
Dodatek G Uwagi do wydania 7.2 PostgreSQL (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)
- 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 (593)