photo
BAZY DANYCH
Wykład podstawowy stanowiący wprowadzenie do systemów baz danych i hurtowni danych. Zakres wykładu obejmuje model relacyjnej bazy danych, system zarządzania bazą danych, język zapytań SQL, struktury fizyczne i logiczne bazy danych, programowanie funkcji i procedur składowanych, wielowymiarowe modele hurtowni danych, procesy ETL, przetwarzanie analityczne 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
  • Wprowadzenie do języka SQL: pełny odczyt tabeli, sortowanie, ograniczanie wyników zapytania, selekcja, operatory selekcji, projekcja, funkcje SQL, wartości puste, eliminacja duplikatów, komentarze, połączenie kartezjańskie, połączenie z warunkiem połączeniowym, połączenie wielokrotne, połączenie zewnętrzne, połączenie zwrotne, operacje zbiorowe, agregacja i funkcje grupowe, selekcja grup, podzapytania, podzapytania skorelowane, podzapytania With, podzapytania rekursywne, funkcje okna, funkcje rankingowe, zaawansowana agregacja, tworzenie tabel, dodawanie/usuwanie kolumn, wstawianie/usuwanie/modyfikacja rekordów, zarządzanie transakcjami, ograniczenia integralnościowe, widoki, widoki materializowane, bazy danych, schematy, tworzenie indeksów.
  • Wprowadzenie do języka programowania PL/pgSQL: blok kodu, zmienne, instrukcje sterujące (warunkowe, pętle), tablice, tablice wielowymiarowe, wyjątki, debugowanie i testowanie kodu, wykonywanie operacji SQL, zapytania jednorekordowe i wielorekordowe, kursory, operacje na plikach, procedury i funkcje składowane, tryby przekazywania parametrów, przeciążanie, wyzwalacze reagujące na zmiany danych, wyzwalacze reagujące na zdarzenia systemowe.
  • Wprowadzenie do Business Intelligence: architektura środowiska hurtowni danych, przetwarzanie OLAP, procesy ETL, wielowymiarowy model danych i jego implementacje, relizacja procesów ETL w środowisku Pentaho Data Integration
  • Zaawansowane systemy baz danych: systemy NoSQL (MongoDB, Cassandra, Redis), przetwarzanie danych przestrzennych (PostGIS), przetwarzanie strumieni danych, replikacja baz danych
LINKI

© 2022 Maciej Zakrzewicz