następujących zagadnień (na drugim roku): (1) algorytmy, struktury danych i matematyka dyskretna oraz (2) oprogramowanie systemowe, inżynieria oprogramowania i języki programowania. Ważne, aby studenci znali, co najmniej na poziomie podstawowym: wyrażenia i reguły algebraiczne, logikę, podstawowe struktury danych, takie jak drzewa przeszukiwań, pojęcia z zakresu programowania zorientowanego obiektowo oraz środowiska programistyczne. Mamy jednak nadzieję, że te podstawowe wiadomości ma każdy, kto pomyślnie zaliczył pierwszy rok studiów o typowo informatycznym profilu.
Ćwiczenia
Na końcu prawie wszystkich rozdziałów' znajdują się obszerne zestawy ćwiczeń. Trudniejsze ćwiczenia lub ich fragmenty oznaczyliśmy jednym wy-krzyknikiem, a najtrudniejsze - dwoma.
Niektóre ćwiczenia oznaczyliśmy gwiazdką. Ich rozwiązania powinny być dostępne na stronic WWW. Ćwiczenia tc są przeznaczone dla wszystkich czytelników. Należy z nich korzystać przy samodzielnym testowaniu swoich umiejętności. Zdarzają się też ćwiczenia, które odwołują się do zmodyfikowanego rozwiązania innego ćwiczenia, np. A. Jeśli są dostępne pewne fragmenty' rozwiązania ćwiczenia A, to powinny być też dostępne odpowiednie fragmenty rozwiązania ćwiczenia B.
Wsparcie z WWW
Oto adres strony internetowej lej książki:
http://www-db.stanford.edu/-uIlman/fcdb.html
Czytelnik znajdzie tam rozwiązania ćwiczeń z gwiazdką, erratę i materiały pomocnicze. Mamy nadzieję, żc wszystkie notatki do kursu CS145. obejmujące prace domowe, rozwiązania oraz opisy projektów, będą tam dostępne.
Podziękowania
Specjalne podziękowania kierujemy do Bobbic Cochrane i Lindy DeMi-chicl za pomoc okazaną nam przy opisywaniu standardu SQL3. Wielu innym osobom jesteśmy wdzięczni za usuwanie błędów w rękopisie. Oto one: Donald Aingworth, Jonathan Becker, Lany Bonham, Christopher Chan, 01iver Duschka, Grcg Fichtenholz, Bart Fisher, Mercdith Goldsmith, Steve Hunts-berry, Leonard Jacobson, Thulasiraman Jeyaraman, Dwight Joe, Seth Katz. Brian Kulman, Le-Wei Mo, Mark Mortensen, Ramprakash Narayanaswami, Torbjorn Norbye, Mehul Patek Catherinc Tornabene, Jonathan Ullman, May-ank Upadhyay, Yassilis VassaIos, Qiang Wang, Sundar Yamunachari i Ta-keshi Yokukawa. Wszystkie pozostałe błędy są oczywiście nasze.
J. D. U. J. W.
1 _
Dziedzina systemów baz danych.................. 19
1.1. Ewolucja systemów baz danych................. 19
1.1.1. Pierwsze systemy zarządzania bazami danych............20
1.1.2. Relacyjne systemy baz danych................... 22
1.1.3. Coraz mniejsze systemy......................24
1.1.4. Coraz większe systemy......................24
1.2. Architektura systemu DBMS................... 25
1.2.1. Przegląd składowych systemu DBMS...............26
1.2.2. Moduł zarządzania pamięcią....................28
1.2.3. Moduł zarządzania zapytaniami..................29
1.2.4. Moduł zarządzania transakcjami..................30
1.2.5. Architektura klient-serwer.....................33
1.3. Przyszłość systemów baz danych................. 34
1.3.1. Typy, klasy i obiekty.......................34
1.3.2. Więzy i wyzwalacze.......................38
1.3.3. Dane multimedialne.......................39
1.3.4. Integracja danych.........................‘10
1.4. Układ książki............................ 41
1.4.1. Projektowanie........................... 42
1.4.2. Programowanie........................... 42
1.5. Podsumowanie........................... 43
1.6. Literatura do rozdziału 1..................... 45
2 _____
Modelowanie baz danych....................... 46
2.1. Wprowadzenie do języka ODI................... 4?
2.1.1. Projektowanie zorientowane obiektowo............... 48