Zagadnienia, które należy przygotować na egzamin z przedmiotu Podstawy Baz Danych
I. Część praktyczna
- Na podstawie opisu działania przykładowej instytucji (fragmentu modelowanej rzeczywistości) dokonać identyfikacji klas, atrybutów klas oraz związków między klasami w bazie danych utworzonej w celu zamodelowania obszaru analizy.
- Zaproponować atrybuty, które mogą pełnić funkcje klucza głównego w zidentyfikowanych klasach.
II. Część teoretyczna
1. Podstawowe cechy i składniki baz danych
a) Pojęcie obszaru analizy
b) Części składowe bazy danych
- część intensjonalna (schemat bazy danych)
- część ekstensjonalna (zawartość bazy danych)
c) Pojęcie integralności
d) Więzy integralności
- więzy statyczne
- więzy przejść
e) Funkcje oferowane przez bazy danych
- funkcje aktualizujące
- funkcje zapytań
2. Definicje podstawowych pojęć
a) Baza danych i jej podstawowe właściwości
- współdzielenie danych
- integracja danych
- integralność danych
- bezpieczeństwo danych
- abstrakcja danych
- niezależność danych
b) System Zarządzania Bazą Danych, funkcje realizowane przez SZBD
- zarządzanie plikami
- wyszukiwanie informacji
- zarządzanie bazą danych
c) Modele danych
- grupy reguł dotyczących posługiwania się danymi
- generacje modeli danych
3. Relacyjny model danych
a) Definicja danych
- struktury danych wykorzystywane w modelu relacyjnym
- właściwości relacji
- pojęcia: klucz główny, klucz kandydujący, klucz obcy, dziedzina
b) Operowanie danymi
- operatory algebry relacyjnej (nazwy, opis działania, argumenty i zwracany wynik)
- działania operatorów na przykładowych bazach danych
c) Integralność danych
- integralność encji
- integralność referencyjna
- więzy propagacji (jakie są możliwe działania systemu zarządzania bazą danych – dotyczące wierszy w tabelach powiązanych; przy usuwaniu wiersza z tabeli głównej)
- integralność dodatkowa (z czego wynika potrzeba wprowadzanie dodatkowych więzów integralności do bazy danych, jak się je wprowadza)
4. Obiektowy model danych
a) Kierunki rozwoju modeli danych w stronę obiektowości: ewolucyjny i radykalny
b) Mechanizmy rozszerzające możliwości modelu relacyjnego
- abstrakcyjne typy danych
- relacje zagnieżdżone
c) Składniki obiektowego modelu danych
- definicja danych: struktury danych wykorzystywane w modelu obiektowym; mechanizmy abstrakcji w modelu obiektowym (uogólnienie, agregacja – przykłady); pojęcie dziedziczenia i jego rodzaje (dziedziczenie struktury, zachowania i dziedziczenie wielokrotne)
- operowanie danymi: rodzaje metod (metody tworzenia, usuwania, dostępu, przekształcenia)
- integralność danych: rodzaje integralności wewnętrznej występujące w modelu obiektowym (integralność klasa – klasa, klasa – obiekt, integralność dziedziny, integralność referencyjna); w jaki sposób wprowadza się integralność dodatkową w modelu obiektowym
5. Budowa Systemu Zarządzania Bazą Danych
a) Trójwarstwowa struktura współczesnych SZBD (jądro SZBD, interfejs, zestaw narzędzi)
b) Funkcje jądra SZBD
- organizacja plików: cel stosowania; porównanie właściwości różnych typów plików pod względem wydajności operacji wstawiania danych do pliku i wyszukiwania informacji w pliku; budowa klastra i w jakim celu się je buduje
- mechanizmy dostępu: cel stosowania indeksów
- zarządzanie transakcjami: pojęcie integralności bazowej; pojęcie transakcji; właściwości transakcji; blokady systemowe (pesymistyczne i optymistyczne – porównanie różnych rodzajów blokad, w jakich systemach mogą być stosowane); na czym polega przeterminowanie blokad; zakleszczenie (wyjaśnić na przykładzie)
- zarządzanie słownikiem danych: pojęcie słownika danych (katalogu systemowego); informacje przechowywane w słowniku danych, sposób przechowywania informacji w słowniku danych i konsekwencje jakie z tego wynikają
- zarządzanie zapytaniami: etapy przetwarzania zapytań; potrzeba optymalizacji – z czego wynika; klasy optymalizatorów
- kopia zapasowa i odtwarzanie: strategie opracowywania kopii zapasowych
c) Zestaw narzędzi SZBD
- rodzaje narzędzi oferowanych w ramach języków 4GL przez współczesne systemy zarządzania bazą danych (generatory formularzy, generatory raportów, generatory menu, języki proceduralne wysokiego poziomu)
- pojęcie wyzwalacza
- rodzaje dostępnych interfejsów użytkownika oferowanych przez współczesne SZBD