Bazy danych — pamięć cywilizacji

Wstęp do działu

Za każdym logowaniem, przelewem, zakupem online, wypożyczeniem książki i wpisem oceny stoi baza danych. To one przechowują pamięć współczesnego świata — miliardy rekordów, dostępnych w milisekundy, spójnych mimo tysięcy jednoczesnych zmian. Arkusz (dział 11) był świetny do liczenia; baza danych jest o czym innym: o przechowywaniu wielkich, powiązanych danych bez chaosu, powtórzeń i sprzeczności.

Zrozumiesz najpierw, czemu arkusz przestaje wystarczać — gdzie jedna wielka tabela zaczyna się rozpadać pod ciężarem powtórzeń i sprzeczności. Potem poznasz genialne lekarstwo: relacje — rozbicie danych na powiązane tabele, gdzie każdy fakt zapisany jest raz. Nauczysz się zadawać bazie pytania — najpierw przez formularze i kreatory, a w rozszerzeniu przez SQL, język, którym mówi się do niemal każdej bazy na świecie od pół wieku. Zobaczysz, że wyszukiwanie binarne (6.2) i haszowanie (5.6) to sekret jej szybkości, a integralność danych — obietnica, że baza nie da się wprowadzić w stan sprzeczny. To jeden z najbardziej praktycznych działów całej książki.

Mapa pojęć działu

              BAZA DANYCH = wielkie dane bez chaosu
                          |
   ┌──────────────────────┼───────────────────────┐
 PROBLEM               RELACJE                  PYTANIA
 jedna wielka          rozbij na tabele         formularze, raporty
 tabela: powtórzenia,  klucz główny (tożsamość) [R] SQL:
 sprzeczności,         klucz obcy (powiązanie)    SELECT / WHERE
 anomalie              każdy fakt RAZ             ORDER BY / JOIN
                          |                       INSERT/UPDATE/DELETE
              INTEGRALNOŚĆ: baza pilnuje spójności
              (nie pozwoli na sprzeczny stan)
              szybkość: indeksy (binarne 6.2, hasz 5.6)

Jednostki w tym dziale

  • 12.1 Po co baza, skoro jest arkusz?
  • 12.2 Relacje — klucz główny i obcy
  • 12.3 Kwerendy, formularze, raporty
  • 12.4 SQL: wyszukiwanie (rozszerzenie)
  • 12.5 SQL: modyfikacja i projekt (rozszerzenie)
  • 12.6 Baza w sieci — aplikacja bazodanowa (rozszerzenie)