okladka

Relacyjne bazy danych stanowią podstawę większości współczesnych systemów informatycznych. Choć poszczególne systemy zarządzania bazami danych różnią się między sobą w wielu aspektach, są jednak oparte na wspólnych podstawach teoretycznych. Jeśli zrozumiesz ten wspólny fundament, będziesz mógł z łatwością budować na nim własne aplikacje, niezależnie od tego, czy jako systemu bazodanowego użyjesz komercyjnego Oracle"a lub MS SQL-a, czy też bezpłatnego PostgreSQL.

Książka "Relacyjne bazy danych" została napisana w celu jak najbardziej przystępnego objaśnienia zagadnień relacyjnego modelu danych oraz jego znaczenia dla projektantów i twórców baz danych. Objaśnienia tych, często skomplikowanych zagadnień, przybliżają tajniki relacyjnego modelu danych wykorzystując przykłady, a nie wzory matematyczne. Dzięki ich zrozumieniu będziesz mógł projektować bazy danych szybsze, bardziej elastyczne i lepiej dopasowane do zadań, jakie mają realizować. Poznasz:

  • Podstawowe pojęcia związane z bazami danych: tabele, rekordy, pola
  • Sposoby pobierania danych za pomocą zapytań
  • Tworzenie raportów z wyselekcjonowanych danych
  • Projektowanie baz z uwzględnieniem związków między danymi, klucze i indeksy
  • Sposoby przestrzegania reguł integralności danych
  • Tworzenie zaawansowanych wielowarstwowych aplikacji opartych o bazy danych
  • Programowanie wyzwalaczy, procedur zapisanych, użycie perspektyw
  • Zastosowania transakcji
  • Teorię baz danych: reguły Codda, normalizację
  • Język SQL

Dr Mark Whitehorn dysponuje ogromną wiedzą w dziedzinie teorii relacyjnych baz danych. Dzięki cyklowi artykułów w brytyjskim magazynie Personal Computer World udało mu się przybliżyć ją tysiącom użytkowników.

"Po prostu doskonała. Wyjaśniając tajniki zagadnień związanych z relacyjnymi bazami danych, Mark Whitehorn oraz Bill Marklyn osiągnęli o wiele więcej niż inni autorzy. Uczynili ten temat ciekawym, a nawet wręcz zabawnym, co stawia ich poza zasięgiem jakiejkolwiek konkurencji".

Neil Fawcett, Edytor techniczny, VNU Business Publications


Przedmowa do drugiego wydania (9)
Rozdział 1. Wstęp (11)
  • Czym jest baza danych? (11)
  • Bazy danych a systemy zarządzania nimi (12)
  • Systemy obsługi relacyjnych baz danych (12)
  • Cel powstania książki (13)
  • Kto powinien przeczytać tę książkę? (15)
  • Struktura książki (16)
  • Dodatkowe uwagi (17)
  • Podziękowania (18)
Część I Prosta baza danych (19)
Rozdział 2. Wstęp do części pierwszej (21)
  • Tabele (21)
  • Formularze (22)
  • Zapytania (22)
  • Raporty (23)
Rozdział 3. Tabele (25)
  • Wiersze i kolumny - rekordy i pola (26)
  • Tworzenie tabeli (28)
    • Typy danych (29)
    • Rozmiar pola (34)
    • Ogólne porady dotyczące projektowania tabel (35)
  • Tabele podstawowe (39)
Rozdział 4. Formularze (41)
  • Wykorzystanie kilku formularzy obsługujących pojedynczą tabelę (44)
  • Pola tekstowe udostępniane tylko do odczytu (44)
  • Pola tekstowe zawierające połączone dane z kilku pól (45)
  • Nie wszystkie pola tabeli muszą występować w formularzu (46)
  • Kontrola wprowadzanych danych (47)
  • Wykorzystanie formularzy może być kontrolowane (47)
  • Formularze mogą być stronami WWW (47)
  • Podsumowanie (48)
Rozdział 5. Zapytania (51)
  • Pobieranie danych za pomocą zapytań (51)
  • Zapytania, tabele wynikowe oraz tabele podstawowe (52)
  • Wyliczanie danych (56)
  • Inne rodzaje zapytań (57)
  • Graficzne narzędzia służące do tworzenia zapytań (57)
  • SQL i perspektywy (58)
Rozdział 6. Raporty (59)
Rozdział 7. Podsumowanie części pierwszej (61)
Część II Jednoużytkownikowa baza danych, zbudowana z wielu tabel (65)
Rozdział 8. Wstęp do części drugiej (67)
Rozdział 9. Problemy z pojedynczymi tabelami (69)
  • Nadmiarowość danych (70)
  • Błędy typograficzne (70)
  • Aktualizacja danych (71)
  • Modyfikacja danych (72)
  • Podsumowanie (72)
Rozdział 10. Zastosowanie kilku tabel (75)
  • Nadmiarowość danych (77)
  • Błędy typograficzne (79)
  • Aktualizacja danych (79)
  • Modyfikacja danych (80)
Rozdział 11. Współdziałanie wielu tabel (81)
  • Bazy danych są zaprojektowane w celu modelowania świata rzeczywistego (82)
Rozdział 12. Prawidłowy projekt tabel (83)
  • Kilka słów na temat normalizacji i modelowania związków encji (85)
  • Identyfikacja klas obiektów (85)
Rozdział 13. Związki w świecie rzeczywistym (89)
  • Związki typu jeden do wielu (89)
  • Związki typu jeden do jednego (90)
  • Związki typu wiele do wielu (90)
  • Brak związku (90)
Rozdział 14. Modelowanie związków (91)
  • Klucze główne (93)
    • Wykorzystanie kilku kolumn w charakterze klucza głównego (95)
    • Wybór właściwego klucza głównego (96)
    • Definiowanie klucza głównego (97)
  • Klucze obce (97)
    • Definiowanie klucza obcego (98)
  • Częściowe podsumowanie (98)
    • Klucz główny (99)
    • Klucz obcy (99)
  • Złączenia (99)
    • Związki typu "jeden do wielu" (99)
    • Związki typu "jeden do jednego" (102)
    • Związki typu "wiele do wielu" (104)
    • Ogólne informacje na temat złączeń (111)
Rozdział 15. Ponowna analiza czterech elementów baz danych (117)
  • Tabele (120)
  • Zapytania (121)
  • Formularze (127)
  • Raporty (128)
Rozdział 16. Integralność danych (131)
  • Integrowanie danych - opłacalny wysiłek (131)
  • Błędy integralności danych i ich przyczyny (132)
    • Błędy w unikalnych danych w ramach pojedynczego rekordu (133)
    • Błędy w standardowych danych w ramach pojedynczego rekordu (133)
    • Błędy pomiędzy danymi w różnych polach (135)
    • Błędy pomiędzy kluczami w różnych tabelach (136)
  • Inne zagadnienia dotyczące integralności (142)
  • Definiowanie zasad integralności danych w systemie (143)
  • Deklarowana i proceduralna integralność odwołań (144)
Rozdział 17. Budowanie aplikacji wykorzystującej bazę danych (147)
  • Wykorzystanie narzędzi graficznych, makr oraz języków skryptowych (149)
    • Tworzenie prostego interfejsu (149)
    • Wykorzystanie narzędzi graficznych (150)
    • Wykorzystanie makra (151)
    • Wykorzystanie języka programowania (152)
    • Które z rozwiązań jest najlepsze? (154)
  • Inne języki - SQL (156)
Rozdział 18. Podsumowanie części drugiej (157)
Część III Bazy danych w środowisku wieloużytkownikowym (159)
Rozdział 19. Architektura baz danych (161)
  • Siedem elementów architektury (161)
    • Element pierwszy (162)
    • Element drugi (162)
    • Element trzeci (162)
    • Element czwarty (162)
    • Element piąty (163)
    • Element szósty (163)
    • Element siódmy (163)
  • Interfejs aplikacji na komputerze klienta, baza danych na serwerze (164)
  • Architektura klient-serwer (dwuwarstwowa) (167)
  • Architektura trójwarstwowa (wielowarstwowa) (169)
  • Aplikacje internetowe (170)
  • Wybór odpowiedniej architektury (172)
  • Podsumowanie (173)
Rozdział 20. Bardziej skomplikowane projekty baz danych (175)
  • Model użytkownika (177)
  • Model logiczny (177)
  • Model fizyczny (178)
  • Model logiczny i fizyczny w praktyce (179)
  • Podsumowanie częściowe (182)
  • Kolejna wielka zaleta narzędzi CASE (183)
  • Różnice pomiędzy modelem logicznym a fizycznym (184)
  • Normalizacja (186)
  • Inżynieria odwrotna (187)
  • Różne metodologie (187)
Rozdział 21. Wyzwalacze, zapisane procedury oraz perspektywy (189)
  • Wyzwalacze (189)
    • Terminologia wyzwalaczy (190)
    • Typowe zastosowanie wyzwalaczy, wywoływanych przed i po zdarzeniu (190)
    • Więcej informacji na temat wyzwalaczy (191)
  • Zapisane procedury (191)
  • Wyzwalacze i zapisane procedury - podsumowanie (192)
  • Perspektywy (193)
Rozdział 22. Transakcje, dzienniki, kopie zapasowe, blokowanie i współbieżność (197)
  • Transakcje (197)
  • Wycofanie (198)
    • Dzienniki (198)
  • Przywrócenie transakcji (201)
    • Archiwizowanie dzienników (201)
  • Lokalizacja (202)
  • Strategie wykonywania kopii zapasowych (202)
    • Zalecenia (203)
    • Inne możliwości (204)
  • Blokowanie (204)
    • Zakleszczenia (205)
  • Współbieżność (206)
  • Blokowanie wierszy i stron (207)
  • Co czeka nas w kolejnych rozdziałach (207)
  • Rozwiązanie testu (207)
Część IV Tematy związane z bazami danych (209)
Rozdział 23. Relacyjne i nierelacyjne bazy danych (211)
  • Wiele tabel a relacyjność baz danych (211)
  • Nazewnictwo (212)
Rozdział 24. Reguły Codda (215)
  • Do czego potrzebna jest znajomość reguł Codda (215)
  • Zwięzłość a czytelność (216)
  • Krótkie wprowadzenie (216)
  • Reguły (216)
  • Podsumowanie (226)
Rozdział 25. Normalizacja (229)
  • Normalizacja (229)
  • Zależność funkcyjna (231)
    • Definicja wymagań (232)
  • Pierwsza forma normalna (234)
  • Druga forma normalna (236)
    • Odpowiedzi (239)
  • Trzecia forma normalna (240)
  • Podsumowanie częściowe (242)
    • Pierwsza forma normalna (1NF lub pierwszy poziom normalizacji) (242)
    • Druga forma normalna (2NF lub drugi poziom normalizacji) (242)
    • Trzecia forma normalna (3NF lub trzeci poziom normalizacji) (242)
  • Dalsze postępowanie (242)
    • Przykład praktyczny (243)
  • Normalizacja a usuwanie wszelkiej nadmiarowości (245)
  • Podsumowanie (251)
Rozdział 26. Katalog systemowy (253)
  • Katalog systemowy (253)
Rozdział 27. Operacje na danych (255)
  • Operatory relacyjne (255)
    • Selekcja (257)
    • Projekcja (257)
    • Suma (258)
    • Różnica (259)
    • Przecięcie (260)
    • Iloczyn (260)
    • Złączenie (262)
    • Podział (262)
  • Podsumowanie (264)
Rozdział 28. SQL (267)
  • SELECT oraz FROM (270)
    • DISTINCT (270)
    • WHERE (271)
    • Warunki (272)
    • ORDER BY (275)
    • Wzorce dopasowań (277)
    • Podzapytania (278)
    • Funkcje wbudowane (279)
    • GROUP BY (282)
    • GROUP BY...HAVING (287)
    • Praca z wieloma tabelami (289)
    • Złączenia wewnętrzne (293)
    • Złączenia zewnętrzne (293)
    • Suma tabel (295)
    • Podsumowanie instrukcji SELECT (298)
  • INSERT (299)
  • UPDATE (301)
  • DELETE (303)
  • Analiza przypadku (304)
  • DISTINCTROW (306)
  • Podsumowanie (310)
Rozdział 29. Dziedziny (311)
Rozdział 30. Indeksy - przyśpieszanie działania bazy danych (313)
Rozdział 31. Znaczenie wartości NULL (319)
Rozdział 32. Klucze główne (323)
Dodatki (327)
Dodatek A Słowniczek (329)
Skorowidz (331)