Wykład podstawowy stanowiący wprowadzenie do systemów baz danych. Zakres wykładu obejmuje model relacyjnej bazy danych, system zarządzania bazą danych, język zapytań SQL, struktury fizyczne i logiczne bazy danych, implementację aplikacji wykorzystujących systemy baz danych. Materiał teoretyczny jest ilustrowany ćwiczeniami praktycznymi w środowisku PostgreSQL.
Zawartość:
- Wprowadzenie do baz danych: motywacje, definicja pojęcia "baza danych", relacyjna baza danych, rozwój systemów baz danych, własności systemu zarządzania bazą danych
- Modelowanie baz danych - diagramy E/R: cel modelowania danych, zbiory encji, atrybut czy zbiór encji, zbiory związków, notacja diagramów E/R, krotność zbioru związków, role, związki wielokrotne, klucze, słabe zbiory encji, modelowanie atrybutów wielowartościowych, podklasy
- Relacyjny model danych: pojęcie relacji, powiązania między relacjami, transformacja zbioru encji do schematu relacji, transformacja słabych zbiorów encji, transformacja podklas
- Normalizacja relacji: anomalie, pierwsza, druga i trzecia postac normalna relacji, klucze i zależności funkcyjne
- Zarządzanie współbieżnym dostępem użytkowników do bazy danych: problemy współbieżnego dostępu (brudny odczyt, niepowtarzalny odczyt, fantom), definiowanie transakcji, poziomy izolacji transakcji
- Struktury fizyczne w bazach danych: plik sekwencyjny, plik posortowany, indeks, indeks wielopoziomowy B-drzewo, indeks haszowany
- Tworzenie aplikacji dla baz danych: wprowadzenie do języka PHP, nawiązywanie połączenia z bazą danych, przetwarzanie zapytań SQL, pobieranie parametrów od użytkownika, modyfikowanie relacji
- Wprowadzenie do języka SQL: pełny odczyt relacji, sortowanie, eliminacja duplikatów, selekcja, funkcje SQL, projekcja, aliasy, połączenie kartezjańskie, połączenie naturalne, połączenie wielokrotne, operacje mnogościowe, grupowanie i funkcje grupowe, podzapytania, podzapytania skorelowane, wstawianie, usuwanie i modyfikowanie krotek, tworzenie i usuwanie relacji, wartości puste, ograniczenia integralnościowe (NOT NULL, UNIQUE, PRIMARY KEY, REFERENCES, CHECK), perspektywy, zarządzanie transakcjami, konta użytkowników bazy danych, uprawnienia użytkowników, grupy użytkowników, tworzenie indeksów, język programowania PL/pgSQL
|